HACK80 首页  立即注册  登录
现在注册
已注册用户请  登录
HACK80    技术文档

自制分布式漏洞扫描

  •   星耀 ·2014-2-7 14:08:23·2078 次点击 ·阅读模式     

    马上注册,加入HACK80!与我们一起交流。

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    0×00 前言

    --------------------------------------------------------------------------------

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

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



    1、单IP访问频率
    2、单IP+URL访问频率
    3、单IP+COOKIE特定时间段内攻击次数
    4、单IP造成可疑或攻击行为频率
    5、单IP特定时间段内触发HTTP404状态次数
    6、识别扫描器暴力扫描行为(扫描器指纹)
    0×01 分布式漏洞扫描

    --------------------------------------------------------------------------------

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

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



    2) 常见扫描器及漏洞检测工具
    漏洞扫描器根据功能和特点分为多种类型,主要总结为以下几类:

    全能应用漏洞扫描器
    Acunetix Web Vulnerability Scanner
    IBM Appscan
    HP WebInspect
    Netsparker
    Nussus
    W3af
    BurpSuite
    N-Stalker


    特定漏洞工具
    Sqlmap
    Havij
    Pangolin
    Safe3


    目录猜解工具
    DirBuster
    wwwscan
    wscan


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

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



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

    Acunetix Web Vulnerability Scanner 指纹特征
    特征一:

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

    Acunetix-Aspect
    Acunetix-Aspect-Password
    Acunetix-Aspect-Queries
    特征二:

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

    acunetix_wvs_security_test
    特征三:

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

    /acunetix-wvs-test-for-some-inexistent-file
    特征四:

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

    acunetixCookie
    HP WebInspect指纹特征
    特征一:

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

    X-WIPP
    X-RequestManager-Memo
    X-Request-Memo
    X-Scan-Memo
    特征二:

    请求COOKIE参数名包含特征:CustomCookie

    Netsparker指纹特征
    特征一:

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

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

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

    0×02 总结

    --------------------------------------------------------------------------------

    一句恒久远永流传的话——在攻与防的对立统一中寻求突破。

    转自seraph's blog

    2078 次点击 · 2 人收藏  
    收藏  转播  分享
      Reply  
    zine  2014-2-7 14:23:20 
    牛啊,看看
      Reply  
    W77W  2014-2-7 15:23:23 
    看看怎么样
      Reply  
    1501021844  2014-2-7 19:14:59 
    蛋疼,有点晕
      Reply  
    Jon  2014-2-8 22:10:23 
    学习了~~~~~~
      Reply  
    Murray78954  2015-5-9 20:18:36 
    没人理我,好伤心啊!
      Reply  
    alone  2015-5-9 20:41:37 
    看在楼主的面子上,认真回帖!
      Reply  
    qingsansi  2016-1-13 16:57:46 
    不错哦,学习了
    添加一条新回复
    您需要登录后才可以回帖 登录 | 立即注册

    本节点积分规则
    QQ
    小黑屋   ·   手机版   ·   171 人在线 最高记录 5500   ·   TOP
    我们很年轻,但我们有信念、有梦想!

      我们坚信只有今天付出了,才有机会看到明天的太阳!现在!加入我们,给你一个气氛优秀的技术圈子。  
    GMT+8, 2018-5-21 01:35, Processed in 0.047408 second(s), 23 queries .