前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自制分布式漏洞扫描工具

自制分布式漏洞扫描工具

作者头像
FB客服
发布2018-02-02 11:20:52
1.8K0
发布2018-02-02 11:20:52
举报
文章被收录于专栏:FreeBufFreeBuf

1.前言

在渗透测试和安全扫描工作中,发现越来越多站点部署了应用防护系统或异常流量监控系统,其中包括:WEB应用防火墙(软件WAF、硬件WAF、云WAF)、入侵检测系统、入侵防御系统、访问监控系统等。很多防护系统不仅可实时检测攻击和拦截,并且具备自动阻断功能。当系统检测到某些IP在特定时间段内产生大量攻击行为时会开启阻断功能,阻断该IP在一定时间内的任何访问。

常见应用防护系统和异常流量监控系统的阻断策略主要有以下几种:

代码语言:javascript
复制
- 单IP访问频率
- 单IP+URL访问频率
- 单IP+COOKIE特定时间段内攻击次数
- 单IP造成可疑或攻击行为频率
- 单IP特定时间段内触发HTTP404状态次数
- 识别扫描器暴力扫描行为(扫描器指纹)

2. 分布式漏洞扫描

2.1分布式漏洞扫描基本思路

通过自开发的“代理分发程序”,将扫描器发送的大量测试请求以自轮询的方式分发给成千上万台HTTP代理服务器或webshell http proxy。通过该方法把扫描器的大量测试请求平均负载到多台中间代理服务器上,这样防护系统通过判断访问频率和攻击频率的方式都无法触发阻断策略,可达到自动化扫描的目的。同时,通过在中间加一层BURP的过滤,可将各个扫描器的特殊指纹擦除,防护系统更加难以判断攻击行为。

分布式漏洞扫描的整体框架图如下:

2.2常见扫描器及漏洞检测工具

漏洞扫描器根据功能和特点分为多种类型,主要总结为以下几类:

#全能应用漏洞扫描器

代码语言:javascript
复制
- AcunetixWeb Vulnerability Scanner
- IBMAppscan
- HPWebInspect
- Netsparker
- Nussus
- W3af
- BurpSuite
- N-Stalker
等

#特定漏洞工具

代码语言:javascript
复制
- Sqlmap
- Havij
- Pangolin
- Safe3
等

#目录猜解工具

代码语言:javascript
复制
- DirBuster
- wwwscan
- wscan
等

2.3扫描器指纹擦除

利用BURP擦除漏洞扫描器指纹

利用BURP的请求修订功能可将数据流中的扫描器指纹信息进行擦除,排除明显的扫描行为特征。

开启Burp,进入“Proxy——>Options”中的“Match and Replace”功能将扫描器指纹信息消除,扫描器指纹信息大多包含Http头部字段、http参数值、COOKIE特殊参数等如下图:

以下总结部分常见应用漏洞扫描器的指纹:

AcunetixWeb Vulnerability Scanner指纹特征

特征一:

请求的HTTP头部字段包含以下几种自定义字段名:

代码语言:javascript
复制
Acunetix-Aspect
Acunetix-Aspect-Password
Acunetix-Aspect-Queries

特征二:

请求的参数值中包含字符串特征:

代码语言:javascript
复制
acunetix_wvs_security_test

特征三:

请求的URI地址包含字符串特征:

代码语言:javascript
复制
/acunetix-wvs-test-for-some-inexistent-file

特征四:

请求的COOKIE参数名包含字符串特征:

代码语言:javascript
复制
acunetixCookie

HPWebInspect指纹特征

特征一:

请求的HTTP头部字段包含以下几种自定义字段名:

代码语言:javascript
复制
X-WIPP
X-RequestManager-Memo
X-Request-Memo
X-Scan-Memo

特征二:

请求COOKIE参数名包含特征:

代码语言:javascript
复制
CustomCookie

Netsparker指纹特征

特征一:

请求中的参数值包含字符串:

代码语言:javascript
复制
netsparker

2.4HTTP代理分发程序

HTTP代理分发程序用于将来自漏洞扫描器的大量测试请求和流量平均的引流到多个代理IP地址或者webshell的代理IP,通过将大量的扫描流量分散到大量代理IP上,可规避防护及监控系统的阻断策略,从而顺利实施扫描测试。

抓取大量代理服务器IP地址,并提取出针对目标站点可访问的代理地址形成“有效代理列表”。分发程序从“有效代理列表”中依次提取代理地址,每发送一个测试请求即切换代理IP,并进行轮询分发。

3. 总结

利用大量的开放匿名代理IP可实现很多功能,突破各种基于统计的防护设施.例如:

代码语言:javascript
复制
突破撞库防护;
突破暴力破解防护;
突破地址猜解防护;
突破指纹猜解防护;
等等

引用黑防的一句恒久远永流传的话——在攻与防的对立统一中寻求突破。欢迎交流攻防战术。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2014-01-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
脆弱性检测服务
脆弱性检测服务(Vulnerability detection Service,VDS)在理解客户实际需求的情况下,制定符合企业规模的漏洞扫描方案。通过漏洞扫描器对客户指定的计算机系统、网络组件、应用程序进行全面的漏洞检测服务,由腾讯云安全专家对扫描结果进行解读,为您提供专业的漏洞修复建议和指导服务,有效地降低企业资产安全风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档