场景二

doughnuts进阶的使用。

场景二:

- 该场景进行的一切操作均已授权,任何使用本项目进行的一切未授权攻击行为与本人无关。

前置条件:

  • 该场景有 2 个测试机子,分别称为 A 机子和 B 机子。

  • 该场景的 A 机子 news/upload/images/ 目录已部署一句话马。

  • 该场景 A 机子可以连接外网, B 机子在 A 机子的内网中且无法连接外网。

  • 该场景机子网络如下:

    • A机子:

      • 内网IP 172.19.0.11

      • 环境配置 apache + php7.4

    • B机子:

      • 内网IP 172.19.1.23

      • 环境配置 apache + php7.4

攻击步骤:

# 使用doughnuts连入该场景事先部署好的一句话马。

# 发现系统命令函数被禁用了,并且也限制了可浏览目录。

# 尝试bypass目录限制:

# bypass目录失败,尝试bypass系统命令函数:

# 成功使用FFI执行系统命令函数。

# 尝试使用 priv 命令查找是否存在可提权文件:

# 发现并没有可利用的文件,那么尝试使用反弹shell功能:

  • bash:

  • php:

  • python

  • perl:

# 发现这 4 种反弹shell都能成功弹回,既然能够使用 python 的反弹shell,那何不尝试弹回一个完整shell呢。😀

# 简单证明这是个完整shell,尝试使用 vim /tmp/a 命令编辑文件:

# 检查文件:

# 那么下一步是在机子 A 上开启socks5代理,先在本机上开启 python 服务器,然后从机子 A 上使用wget 命令获取socks5文件:

# 使用socks5代理:

# 尝试在火狐浏览器上使用机子 A 所开的socks访问内网:

# 使用 doughnuts 生成 “咕噜灵波” 一句话:

# 火狐浏览器简单的上传一句话:

# 得到一句话路径 :

# 此时已经成功上马,将socks5代理应用于 doughnuts 后尝试连入该马:

# 成功连入了内网的webshell,发现存在可浏览路径限制,以及禁用了系统命令函数。

# 尝试bypass路径限制:

# 尝试bypass系统命令函数的禁用:

# 尝试寻找可利用提权文件:

# 此时不妨弹一个完整shell,方便提权:

# 稍等片刻后:

# 使用之前使用 priv 命令得到的可利用提权命令,读 /etc/shadow 文件:

# 此时得到了 root 用户的密码信息:

  • root:$6$bgXMOFxjFtFcGZ5i$LHnmavR.PAVEnhH6b2aGu2u/r7GsBlVzrEE8QoHIiMUvxtPT0Oi1YeqXnnxDFLZ48fEhex0j7w1bYGS68NMBI.:18461:0:99999:7:::

# 简单使用 john 进行爆破:

# 尝试使用密码登录 root:

# 此时已经获得了机子 B 的 root 权限了。

最后更新于