靶机下载地址: https://www.vulnhub.com/entry/looz-1,732/
教程链接地址: https://nepcodex.com/2021/08/walkthrough-of-looz-from-vulnhub-writeup/
# 确认攻击目标
攻击机 KALI: 192.168.31.135
靶机 LOOZ:桥接于 192.168.31.1 的网卡,ip 未知
1 )确定靶机 ip 地址和开放的端口
由已至内网靶机所在主机 MAC 地址自动扫描靶机服务
sudo arp-scan -l | grep 'a0' | awk '{print $1,$2}' | cut -d ' ' -f 1 | xargs sudo nmap -PA

-> 靶机 ip:192.168.31.80 靶机开放端口 22,80,139,445,3306,8081
# 网站信息收集
打开 http://192.168.31.80 进行信息收集

审查源代码,找到一则提示信息,展示了一个用户名和密码 john:y0uC@n'tbr3akIT
并且告知了此网站是 wp 的,即是 wordpres 站点

既然是 wordpress 站点,我就直接用 wpscan 工具来扫描一波
wpscan --api-token eG5iT4ooiuP7eVJVedsHhlgx8xeZHmAJjBr13asnjEc --url http://192.168.31.80 -e

居然说是没有 wp,那可能是误导我们或者 wp 站点在其他的目录里。对网站进行 gobuster 扫描,识别一下网站有什么目录没有

发现没有,按照 wp 的规范,后台地址是 wp-admin, 我们直接进该目录,发现这个站点确实不存在 wp,可能在其他的目录或者站点里边

还有一个 8081 的站点也是网站,点进来看看有没有啥敏感信息,发现进到这个页面之后会跳转

跳转到了一个站点,站点的域名是 www.looz.com

修改本地的 hosts 文件,将站点 www.looz.com 的 DNS 解析指向靶机 ip

尝试一下一直寻找的 wp 站点是不是就在这个 url 地址上,直接在域名后面拼接一个 wp-admin 找后台登陆地址

找到后台地址后凭借我们在前面收集到的用户信息登陆

# wordpress 渗透测试
一眼看到网站是 wordpress 6.0.1 的,直接用本地的 searchsploit 寻找是否存在此版本的 wordpress 的漏洞

这个版本没有很明显的提权漏洞,只能另想其他方法了,既然是 wp 站点,索性在继续用 wpsan 扫描,枚举用户名

wpscan 扫描出了以下几个用户名 john,william,james,evelyn,mason,harper,gandalf

继续用 wpsan 枚举属于这几个用户名的密码
wpscan --api-token eG5iT4ooiuP7eVJVedsHhlgx8xeZHmAJjBr13asnjEc --url http://wp.looz.com/ -U john,william,james,evelyn,mason,harper,gandalf - P /usr/share/wordlists/rockyou.txt

最终得到了用户 gandalf 的密码 loveme2,
# wp_admin_shell_upload 使用
目前得到了 wp 站点的两组账号,在 msf 中有一个 wp_admin_shell_upload 的模块,可根据已有账号反弹 shell,用这两个模块尝试反弹 shell
1 | use exploit/unix/webapp/wp_admin_shell_upload |

很遗憾,gandalf 用户反弹是失败的,继续用 john 用户测试该站点
1 | use exploit/unix/webapp/wp_admin_shell_upload |
注意 msf 中使用单引号时需要在其前面加反斜杠转义

但是仍然没有 shell 反弹出来,目前我们知道的仍然只是两组用户,还没有利用价值
# dig 判断站点
判断一下网站是否存在其他的站点 dig wp.looz.com @192.168.31.80

很遗憾也没有其他站点,接下来可以看看后台怎么用,有没有可以操作的地方,找到一个可以上传文件的地方,我们直接上传 php 木马看有没有效果

很遗憾,这个地方也上传失败了

# 密码破解
接下来就需要爆破了,爆破用户名和密码,用户名可以选用前期通过 wpscan 得到的几个用户名,密码选用一个比较全的字典。
hydra -l gandalf -P /usr/share/wordlists/rockyou.txt 192.168.31.80 ssh -t 64 -f -vV -o hydra.ssh
要是自己破解不知道要破解到猴年马月,而且在实际测试中受制于防守方部署的 IDS、IPS 我们没法使用 hydra 暴力测试,这里我看了相关作者的文档,利用 gandalf 进行了破解密码

-> 得到 gandalf 的密码 highschoolmusical
ssh 192.168.31.80 -l gandalf

# suid 提权
拿到服务器后,搜索到了一个 s 权限的文件 find / -perm -u=s -type f 2>/dev/null

用 strings 检查了一下并没有发现封装什么特殊的命令,可能是作者自己封装的一个命令,没有头绪怎么处理这个文件

既然是可执行文件,就去执行

-> 拿到了 root 的 shell