目标IP:10.xxxx
测试IP:192.168.139.128
测试环境:win10、kali等
测试时间:2021.7.22-2021.7.22
测试人员:ruanruan
本次实战主要通过对收集到的端口、目录等信息进行持续整合分析,再对目标系统进行tomcat弱口令、ghostcat文件读取、struts2RCE、SMB无认证访问等尝试,获取到jan账号,再利用.ssh私钥爆破获取较高权限的kay账号,直接sudo提权就能获得root权限。
扫描端口
对以下端口进行的尝试及判断:
到这里就只剩下80和445还能再继续探索一下。==
访问web首页,网站正在维护中
back,查看源码
提示dev,试了下/dev/,404,扫一下目录,得到/development/路径
访问该路径,下面有两个txt文件
内容如下:
根据两个文件的内容,目前可以得到以下三个信息:
首先试着复现S2-052,但是在复现S2-052时路径不对导致复现失败,通用路径为/struts2-rest-showcase/,这台靶机的路径为/struts2-rest-showcase-2.5.12/。==
先是参考了一篇文章,得到了Anonymous用户,然后就跟着挂载文件。。失败
正确的利用smb文件共享服务的漏洞应该是直接连接查看,而不是什么挂载乱七八糟的。
这里获取到用户名为Anonymous,无密码认证直接回车
smbclient -N -L IP
smbclient //IP/用户名
查看staff.txt文件,得到两个用户名
利用/usr/share/wordlists/rocky.txt爆破jan的密码
hydra -l jan -P password.txt -vV -o ssh.log -e ns ip ssh
得到密码:armando
登录jan账号,进入kay目录可以看到.ssh文件
对比两个公钥,相同
查看私钥,已加密
这里利用ssh2john来爆破ssh私钥,默认在/usr/share/john/ssh2john.py
得到密码:beeswax
直接登录ssh
登陆成功,查看pass.bak,得到一串字符。。其实是密码,利用它使用sudo命令。
sudo -l ,这里all表示所有命令都以root权限执行
直接sudo su
如果利用struts2漏洞,可以先上传一个.sh文件,再chmod加权限,最后利用bash命令执行。
这里直接创建一个shell.sh,写入反弹shell命令
再在struts2的poc中修改执行
物理机就能获取shell,得到tomcat9账号的权限,然后继续通过kay目录下的.ssh目录进行利用。
后面的步骤和前面一样,这里只是提供另一种思路。