某CMS5.0版本渗透测试
字数 1268 2025-08-12 11:34:41
CMS5.0版本渗透测试教学文档
1. 信息收集阶段
1.1 基础信息收集
- robots.txt检查:查看网站robots.txt文件,了解网站目录结构
- CMS识别:确定网站使用的CMS类型及版本(本例为MetInfo企业网站管理系统5.0)
- Whois查询:获取域名注册信息
- 备案查询:确认网站备案情况(本例为个人注册)
1.2 技术信息收集
- 端口扫描:使用Goby等工具扫描开放端口
- 真实IP获取:通过扫描确认网站真实IP
- 目录扫描:扫描网站目录结构,寻找可利用点
- 发现可直接远程连接的数据库(phpMyAdmin)
- 发现后台管理地址:
/back/login/login.php
2. 漏洞利用阶段
2.1 数据库漏洞利用
- phpMyAdmin弱口令:尝试常见弱口令组合(root/root)
- 数据库枚举:
- 查找用户表(Mysql.user)
- 尝试解密哈希获取凭证(本例找到osptech/123456)
2.2 Web应用漏洞利用
- SQL注入:
- 注入点:
http://test.xxxxxx.xyz/about/show.php?lang=en&id=42 - 使用sqlmap自动化工具获取数据库信息
- 注入点:
- 文件上传漏洞:
- 发现未过滤上传文件类型
- 修改上传类型限制(将select改为input)
- 上传一句话木马(webshell)
- 上传大马(功能更强大的webshell)
2.3 后渗透操作
- webshell连接:使用中国菜刀等工具连接webshell
- 系统信息收集:
- 查看C盘下的flag信息
- 上传cmd.exe进行命令行操作
- 使用mimikatz获取系统凭证
- 端口检查:发现3389端口开放(远程桌面服务)
3. 权限提升
3.1 Windows系统提权
- 创建管理员用户:
net user Q @Qihang123 /add net localgroup "Remote Desktop Users" Q /add net localgroup Administrators Q /add - 漏洞利用:
- 生成systeminfo输出
- 使用wesng.py等工具分析系统漏洞
- 选择合适漏洞进行提权
3.2 远程连接
- frp反向代理:
- 服务器端配置(阿里云服务器)
- 客户端配置(上传frpc并配置)
- 建立内网穿透通道
- RDP连接:通过创建的隧道进行远程桌面连接
4. 内网渗透
4.1 内网信息收集
- 主机发现:
- 使用nbtscan探测内网存活主机
- 系统信息收集:
systeminfo net start tasklist ipconfig /all net view /domain net time /domain netstat -an whoami /all net config workstation net user net user /domain net localgroup wmic useraccount get /all
4.2 横向移动
- IPC$连接尝试:
net use \\193.168.131.135\ipc$ /user:Administrator "123456" net use \\193.168.131.132\ipc$ /user:Administrator "123456" - 凭证重用:使用mimikatz获取的凭证尝试其他主机
5. 渗透测试关键点总结
- 信息收集要全面:包括CMS识别、目录扫描、端口扫描等
- 弱口令是常见突破口:数据库、后台等处的弱口令要优先尝试
- 文件上传漏洞利用:修改上传限制是有效方法
- 权限维持很重要:创建隐藏用户、建立持久化通道
- 内网渗透要循序渐进:从信息收集到横向移动要有条理
6. 防御建议
- 加强认证机制:禁用弱口令,使用强密码策略
- 文件上传过滤:严格限制上传文件类型,使用白名单机制
- 最小权限原则:数据库用户、系统用户都应遵循最小权限
- 定期漏洞扫描:及时发现并修复系统漏洞
- 网络隔离:重要系统应进行网络隔离,限制横向移动可能性