攻防演练之迂回技战法真实案例
字数 1742 2025-08-20 18:18:17
攻防演练之迂回技战法真实案例教学文档
1. 案例背景与目标
在攻防演练中,当面对一个只有登录框的目标系统(记为系统A)且常规测试无法突破时,可以采用迂回战术。本案例展示了如何通过寻找同类型站点、获取源码、代码审计最终发现漏洞并攻陷目标系统的完整过程。
2. 攻击流程详解
2.1 初始信息收集
- 目标分析:面对系统A的登录界面,常规渗透测试无果
- 特征提取:从HTML中提取关键字(如特定类名、函数名、接口路径等)
- 测绘搜索:使用测绘平台(如Hunter)搜索同类型站点
- 优先选择云厂商主机(通常防护较弱且可能托管多个站点)
2.2 第一次迂回尝试
- 同类型站点测试:对找到的同类型站点进行测试
- 发现突破口:找到一个存在SQL注入漏洞的站点B
- 通过注入进入后台
- 利用文件上传功能获取Webshell
- 源码获取:通过Webshell下载系统A的源码
- 代码审计:发现"登录绕过+文件上传"组合漏洞
- 攻击测试站:成功利用漏洞攻陷同类型测试站
2.3 遭遇挫折
- 攻击目标A失败:发现目标A的接口与测试站不同
- 差异分析:
- 目标A登录包包含
getPhoneByLoginName接口 - 测试站源码中无此接口
- 结论:目标A与测试站版本不一致
- 目标A登录包包含
2.4 第二次迂回尝试
- 重新特征提取:再次提取系统A的独特特征
- 测绘搜索:找到3个同类型资产
- 横向移动:
- 通过云主机IP的其他端口站点进行打点
- 获取低权限Webshell(受360防护限制)
- 权限提升:成功提权
- 站点定位:
- 使用命令:
C:\Windows\System32\inetsrv\appcmd list site - 从众多站点中识别出目标相关站点
- 使用命令:
2.5 深入审计与漏洞发现
- 源码审计工具:使用dnSpy进行.NET程序反编译分析
- 登录流程分析:
- 第一步:用户名验证手机号是否存在
- 第二步:需要手机验证码登录
- 第三步:通过
/Login/loginUser验证用户
- 关键发现:
- 真正赋予session的是第三步
- 第三步仅验证账号密码,不验证手机验证码
- 构造
/Login/loginUser数据包可绕过验证码机制
2.6 获取凭证
- 测试站分析:
- 判断为开发商定制开发测试站
- 可能包含测试文件和数据库文件
- 目录翻找:
- 发现与目标站相关的用户名和明文密码
- 找到历史数据库文件
- 凭证验证:成功登录目标站
2.7 最终攻击
- 后台访问:使用获取的凭证直接登录
- 获取Webshell:
- 利用后台功能上传恶意文件
- 绕过WAF后缀限制(如特殊后缀处理)
- 系统控制:成功获取目标系统控制权
3. 关键技术点总结
3.1 迂回战术核心思路
- 源码获取途径:
- 找同系统其他站点→渗透→获取源码
- 测绘搜索→找源码→直接审计
- 漏洞利用链:
- 审计发现未授权RCE
- 或通过同系统站点渗透→RCE→审计→未授权RCE
3.2 关键技巧
- 云主机优先:云上机器通常有多个站点且防护较弱
- 版本差异识别:通过接口对比判断系统版本
- 登录流程绕过:分析多步骤认证中的逻辑缺陷
- 测试数据利用:开发测试站常遗留测试账户和数据库
- WAF绕过:针对文件上传功能的特殊后缀处理
3.3 工具使用
- 测绘平台:Hunter等
- 代码审计工具:dnSpy(针对.NET程序)
- 站点识别:Windows的appcmd命令
- 提权工具:根据系统环境选择合适工具
4. 防御建议
- 认证加固:
- 多因素认证步骤间应有强关联
- 避免认证流程可被分步绕过
- 测试环境管理:
- 测试账户不应使用真实业务数据
- 测试完成后应及时清理测试数据
- 源码保护:
- 避免源码可被轻易下载
- 生产环境与测试环境应严格隔离
- 权限控制:
- 最小权限原则
- 后台功能应有严格权限验证
- WAF规则:
- 文件上传功能应有全面的后缀检测机制
- 关键接口应有异常请求检测
5. 总结
本案例展示了在正面攻击受阻时,通过寻找同源系统、获取源码、深入审计发现逻辑漏洞,最终攻陷目标的完整过程。关键在于:
- 灵活运用测绘和横向移动技术
- 深入理解系统认证流程
- 善于利用开发测试环境遗留信息
- 耐心细致的代码审计能力
这种迂回战术在攻防演练中往往能取得奇效,同时也提醒防御方需要全面考虑系统各个层面的安全性。