坏哥扫描器小图标  图1



坏哥 扫描器

只能 敏感目录扫描坏哥扫描器20190709 第一版本
坏哥  扫描器  主界面
点我下载坏哥扫描器!

关于敏感目录扫描

  • 敏感目录扫描 这个话题,在网络安全界经久不息.

  • 根据木桶原理,整个系统的安全取决于系统中最薄弱的环节,所以有的时候挖掘到了一个敏感目录就会入侵成功
  • 能捡漏的地方很多,包括不限于
      在内网测试和自建系统等一些不成熟的系统中非常适用的有如下.
    • 后台地址
    • 未授权/越权/匿名访问的管理页面
    • 敏感组件地址
    • 敏感文件/配置文件文件泄露
    • 说明.txt
    • 不成熟的编辑器
    • 就算是成熟的cms系统中,还有很多需要我们探测的地址
    • 管理员为了方便或者误操作创建的各种探针
    • 误设置的遍历目录
    • 有漏洞的插件
    • 前人的webshell
    • 整站备份包
    • 数据库下载
    • 示例文件
    • 根目录泄露
    • 没来得及删除的测试页面demo
    • install
    • 还有自己开发的功能页面等等
    • 某些bbs,blog等目录下也有可能放着一些其他的站点 .
  • 从2000年开始陆续出现了多个优秀的综合或者专项web扫描或者爬虫程序.
    我见过最早的是 啊D,Pangolin,明小子 等注入扫描程序带有简单的后台扫描功能 ,
    注入到账号密码后就有一定概率能找到后台进行登录
    后来就接触了上百个以scan, spider, discovery等为关键词的 暴力扫描,挖掘,或者爬虫扫描器
    例如 DirBuster,xenu,dirb,patator,dirsearch,w3af,burpSuite,awvs,jsky, wwwscan
    appscan ,zap ,webscarab ,nikto, ibm, nmap ,brakeman, wfuzz等扫描器
    各种云扫描器,全网扫描器,硬件扫描器,主动被动扫描器,也有针对指定cms版本进行的0day扫描工具,
    也包括大量简单粗暴易用,深受小白喜爱的综合或者专项傻瓜式的路径扫描器
    例如 御剑, 椰树, 北极熊, m7lrv, safe3, 7kb, webrobot, cansina, 凤凰
    老和尚千手千眼佛网站扫描器, 破壳, test404, k8, shack2, 眼睛蛇, havij, owasp
    等等一堆的各种python ,c# ,java ,php开发的扫描器

为什么我还要造轮子

有很多认真开发出来的扫描器,堪称经典.但是在实战中,目标站点千奇百怪,
由于配置不灵活或者缺少一些必要的功能,扫描器都会有一点小遗憾。

我们需要的是用最短的时间,对服务器最少的访问次数,找到尽可能多的敏感目录文件
  • 很多扫描器扫描的时候不去重字典,或者字典不规范也不进行处理
    例如 /admin , admin/ , Admin , ../admin , admin# 等等,扫描的都是同一个地址 ,
    不统一处理 / # 等字符 。也不对地址进行编码解码
    导致同一个地址多次扫描或者漏扫
    我需要扫描器对字典文件和生成的字典进行总去重,
    保证每一个路径不再进行多次扫描, 也不会漏掉扫描任何可能的路径
  • 在服务器允许的情况下,扫描效率要高,内网扫描轻松秒过万不卡,不限于多线程,低层扫描等技术
    也要防止大量扫描对甲方业务进行干扰。例如耗光网站流量或者扫瘫痪目标站点
  • 常见的网站服务器容器有 IIS、Apache、nginx、Lighttpd、Tomcat 等,
    他们大小写是否敏感需要手动或者程序判断
    很多扫描器不能区分或者设置大小写是否敏感, 导致 漏掉或者重复扫描敏感目录
  • 还有的容器,不输入全部的路径会提示404,但是文件是存在的,
    例如 tomcat的manger/html ,只扫描 manager目录会提示404 ,
    需要选择加载完整目录的字典还是只加载单个文件夹目录
  • 越来越多的网站有各种各样的防火墙,扫描的时候需要各种方法绕过 ,否则就被屏蔽IP之类的.
    包括不限于 随机代理,随机userAgent之类的,
    或者多次探测404后需要访问下真实存在的目录,也有的服务器需要延时扫描
  • 有些扫描器没有数据持久性,没有记录日志,不能存储扫描结果和保存扫描时下载的页面,再次打开扫描器又会重新扫描
    并且敏感页面上的敏感信息没有自动备份下来文件或者html源码 ,很有可能被管理员删除
  • 有的扫描器不能设置cookie. 扫描后台目录之类的或者会员界面,或者不同权限下访问,
    不管有没有文件都会返回请登录后再访问或者没有权限
  • 对于暴力扫描字典,所有的扫描器可能都是作者认真完善的字典,但是我的要求更高。
    我们需要最常用 ,最可能出现,最敏感的目录名,根据准确度准确的排序,我花了比开发扫描器更多的时间用来整理字典文件
    对于不同的目标站点,大部分扫描器不能自设一些扫描规则.例如知道备份包是按照日期备份的,例如 bin20190312.rar,
    还要自己编程生成一些字典, 非常麻烦, 在本帮助中称为规则字典
  • 爬虫爬到目录或者文件后,需要智能生成一些可能有的目录进行探测, 这在本帮助中称为智能生成的字典。
    扫描器爆破出目录或者文件后,需要对爆破出的目录进行爬虫采集
  • 针对特殊网站,误报漏报问题非常严重。目录和文件是否真实存在的准确性非常重要。
  • 需要方便的筛选出自己需要的链接,并且可以根据某些条件和值设置某些链接为无效链接.
    设置为无效链接后再次遇到这种情况将会直接跳过不进行探测. 并且可以选择是否删除已有的无效链接.
    例如有些网站有防火墙 ,只要有.bak ,.mdb等后缀 , 或者包含敏感名称就不让扫描,这样的就跳过
  • 需要方便的结果可视化
  • 要有灵活的可扩展型 以保证结果的完整性,准确性等。 包括不限于以下几种
    1:判断.svn目录泄漏
    2:短文件名 漏洞
    3:自动判断可执行文件是否捆绑有一句话,不可执行文件是否包含有eval等关键词
    4:自动检查如果有 robots.txt , sitemap等, 则 采集里面的地址
    5:从搜索引擎采集相关的子域名/目录,后台,敏感文件等,
    6:......

整合所有的好功能
开发一个最优秀的敏感目录扫描器

我们白帽子人生更苦短,正好,我也是一个程序员,
我决定对他们进行取长补短,把好的功能整合起来,做一个灵活的智能的,在业界内最专业的目录扫描器.
开发出这个扫描器,我自己,还有全国的白帽子朋友预计会节省一多半的工作时间在目录扫描上面
在开发扫描器语言选择上, python和java 我想了很久,
最后,充分考虑了扫描器的 操作简单, 方便的结果可视化 ,可扩展性,后期维护 ,灵活的自定义,程序运行效率等等, 最后决定用 .net c#
因为界面化和几万行的代码量用python比较煎熬. 毕竟python开发的工具只有sqlmap让我记住了...

我用了大概两个月的时间整理互联网上所有的敏感目录字典和我多年收藏的字典,
开发了个文件和数据处理软件配合人工对他们进行整理分类
从2019年6.15日开始,
用半个多月业余时间 , 根据常用的功能造轮子,
根据我写的这个扫描器的功能,用了整整半天时间写这个帮助,
再用一个小时,自己做了这个蜘蛛拿着菜刀的logo。。。。
就有了现在这个 坏哥扫描器.(以下简称扫描器)

开题报告

中期进度

最后实际

下载坏哥扫描器第1版本 , 20190709

打开http://www.huaige.com/help.html 是最新的帮助文件,看看是否有更新版本
如果这个网还能打开的话(严禁任何工具扫描本网页所在的小水管。)

点我下载坏哥扫描器 坏哥扫描器20190709.zip !

政策原因,停止下载. 何时开放下载另行通知. 已经下载了的几个朋友,请勿传播.

阅读以下信息需要有一定的基础.....
欢迎也在做轮子的朋友一起交流或者给我提意见建议.

联系方式


关于配置文件

    本扫描器有着灵活的配置文件
  • 配置http版本
  • 配置访问方法(HEAD,GET,POST)
  • 灵活的设置线程数量
  • 设置超时时间,读写超时时间,每个线程操作完后延时时间等
  • 是否暴力探测 (设置敏感目录界面) 里面的各种信息 , 包括字符字典,日期字典,自定义字典等里面的信息
  • 是否检测 备份包
  • 是否检测webshell
  • 是否爬虫爬取地址,
  • 设置大小写是否敏感,
    如果大小写不敏感,所有地址设置成小写的,防止字典中有大写小写不能去重
    如果大小写敏感, 也可以设置大写地址是否再转成小写的地址再探测一次
    .因为好多敏感的信息是全小写的,但是只有大写的字典 例如 有Query.aspx字典,就再探测一次 query.aspx
  • 是否检测dir , asp, aspx, jsp ,php,txt,html后缀 或者 必须探测的
  • 检测 自定义后缀 的设置
  • 是否检测相关文件
  • 是否检测 前后
  • 是否从搜索引擎找地址
  • 可设置userAgent , 也可用设置是否 随机userAgent 和 是否 随机代理
  • 每个目录下最多多少个文件(不同后缀)或者 文件夹 每个文件下,最多多少个不同的参数
  • 可以灵活的自定义request中的header,格式是 key:value
  • 可以自定义设置爬虫采集网址的规则
    例如从代码中 找a中的href,找img中的src post中从form中找action等等
    如果有*号,例如 *:src,则从所有标签中找src后面的值
  • 设置是否也从搜索引擎中找关于本站的地址
  • 从本扫描器就能方便的获取和设置cookie,可扫描登录后才能访问的地址

配置文件

字典库

字典库,是一个扫描器的灵魂.能高效的命中目标,全靠一个精简的字典库.


现有的所有扫描器, 字典的侧重点不同,有的是专门找后台,有的是专门找备份包, 有的专门找ewebeditor,fckeditor,ckfinder等编辑器.
有的是针对某些cms,有的是针对数据库,高危,后门,0day等
为了本扫描器高效精准的扫描, 我花费了大量的时间精心整合上百个市面上扫描器的字典.
我还从网上下载了大量的路径字典, 并且整理了多个漏洞库,找到他们出现0day的目录和文件名
我开发出了一个字典管理系统,全自动智能管理着上千万的字典。
每发现有新字典了就批量导入到系统里,自动把字典文件去重后就会导出一份自动整理,分类,按权重分类好的字典。
我用自创的算法对去重后的上千个字典文件进行权重的排序
包括不限于根据相同的文件出现次数和文件大小对字典文件进行了权重排序,
字典中文件或者文件夹出现的次数或者功能是否敏感进行排序

例如admin,index,login,default等在多个字典文件中出现的的字典
和一些常用的备份包名,webshell名,后台名,0day名权重相对高, 例如
  • 乌云,bugscan 0daybank等漏洞库中的文件名权重比普通的php,jsp,aspx,asp等高.如 web.rar ,webshell.php ,0day等
  • 我收集的几千个 EXP,POC 等等里面的路径都提取出来处理后放到字典里,
    我爆破出这些敏感脆弱的目录,如果没有修复很容易有如下漏洞发现:
    • SQL注入 ,任意文件下载,创建,上传,删除
    • 目录遍历,备份文件,路径和敏感信息泄漏
    • 登录绕过,弱密码,越权访问
    • 命令和代码执行,代码泄漏,远程文件包含
  • 某个大牛编写的字典,多个扫描器都在使用,多次出现这个字典文件,权重会高。
  • 小文件的字典比大文件的字典少而精,所以权重高. 太大的字典或者生成的字典就直接去掉了.
  • 我找到了多个菜刀箱子和webshell箱子,分析webshell常用的文件名,存放位置.
  • 总排名靠前的文件名(没有后缀),文件夹名, 总排名靠前的账号和密码 , 都为重要的.
我还下载了几百个常用的cms完整的源码,也加到里面了。
完整的cms1 完整的cms2

我精心整理分类出了8个常用的后缀文件 一共 449267 条精准目录
  • 文件夹
  • aspx
  • php
  • asp
  • jsp
  • txt
  • html
  • 必须有的文件
pachong

备注:必须有的文件,是为了快速探测这个目录下是不是有文件, (常用的少量文件名*常用的后缀名+常用的文件夹名)
因为有个php网站某目录怎么也扫不到php文件, 拿下了才发现里面有default.asp 文件.

除了这几个后缀, 还有很多后缀也是必须的,例如htm,do,action,jpg等,我就开发出简单易用的自定义后缀功能.
我把所有文件去掉后缀取前50000个权重最高的文件(这个文件也可以替换成任何字典),会循环这个文件添加每一行的后缀进行探测
整理后的字典,我又分为 完整地址的字典和拆分后的字典.
因为有的网站必须用完整的地址才显示200.有的每个地址都会显示403的,例如tomcat的manager/html(对于前后功能很适用)

除了字典库,还要生成有规律的常用字典

规则字典

通过长期工作的经验,根据管理员的心理和漏洞库中的大数据分析,我独创出个规则字典 ---某个目录下都扫描哪些规则字典.
这些规则在实战中已经多次命中授权测试中的敏感路径
字典规则分为4种状态. 包括 还没扫描, 正在扫描, 扫描完成, 停止扫描, 每个字典可以停止,置顶,优先扫描等一些设置.
. 规则都能生成大写,小写,首字母大写 ,

也可以方便的对生成的信息加前缀和后缀
例如 给0-999加上 前缀 admin_ , 或者给0-9999加上 后缀 .rar 也或者给 a-z加上后缀.aspx 等等生成一系列常用的地址
因为好多系统的文件格式 都是有相同的前缀和后缀.例如 某个系统都是 admin_left.aspx,admin_main.aspx,admin_index.aspx 这就要有相同的前缀admin_

  • 字符字典

    • 循环字符和单拼
      0-9 , a-z , 23个标点符号 , 384个单拼 , 循环生成一次到多次的字典.
      例如 88888 666666 ccccc aaaaaa a aa aaa ######
      还有单拼叠加 例如 dede lunlunlun 等
      循环字符
    • 关于数字的字典
      遍历生成 0-999999 (1-6位的数字)(位数不够的前面补0和不补0两种)
      循环数字
    • 字母字典,双拼,常用
      遍历字母 生成2-4位的字母 还有top500常用姓名,双拼两位的数字和字母组合等等
      例如 aa ,ab ,ac, ad ,ae---zx ,zy, zz 一直到zzzz
      还有常用的人名等zhangwei, wangwei, wangfang, liwei, lina ,zhangmin ,lijing, wangjing(可编辑)
      循环字母
  • 日期字典

    这在备份包探测中非常常见 渗透成功的很多系统里面,都发现了管理员根据时间来创建的备份包,
    还有根据时间创建的文件夹进行存放日志,log,xml,图片等
    生成指定时间范围内 所有的时间. 例如 2008-2019 200901-201912 20180101-20190501等等所有自定义的时间格式
    本功能把设置的开始时间到结束时间的每个日期通过自定义的时间格式展现出来,
    用20190103举例 yyyy代表年:2019 yy代表年后两位 例如87
    大写MM和M代表月 MM(单月份前面加0)代表01 M代表1
    dd和d代表日 (dd单日前面加0 d不加)dd代表03 d代表3
    中间可以加分隔符 _ - 等例如 yyyy-MM-dd 代表2019-01-03
    也能灵活的添加前缀和后缀 例如 2019.rar admin2018
    日期字典
  • 自定义字典


    大家有很多自己整理的字典,
    包括针对目标站点系统管理员生成字典或者针对当前cms的字典,
    可以放在这个文件夹里进行探测.

爬虫功能

一个完整灵活的爬虫功能,对扫描器来说简直就是如虎添翼
本扫描器设计的模式是爆破出的任何地址都要爬虫采集相关链接,爬虫采集到的任何地址都会爆破相关地址进行捡漏.

爬虫 ,能快速完整的获得网站架构,命名规律,相关的旁站,友情链接,C段网站,子域名
能获得99%以上的所有不同文件夹下的不同文件,不同参数名的文件等
也得到完整的需要sqlmap探测的文件列表
甚至还能从文章中图片的地址中获得后台地址,

采集或者探测到的每个地址的文件,都会自动保存到扫描器根目录下\ScanLog\扫描的host或者ip\File\下进行保存
顺便从 html , css ,js 等text类型的文件源码中 自动寻找超链接循环采集.
包括不限于下面的标签中采集链接(可自定义编辑)
  • a#href=
  • form#action=
  • img#src=
  • iframe#src=
  • frame#src=
  • link#href=
  • area#href=
  • 而 如果从任何标签获得 src= 后面的地址 也可以加上 *#src= 这样 甚至能从 div标签获得src后面的链接
对于超级大站,本扫描器有个数量限制的设置----每种类似的页面最多采集多少页面,以保证不会遗漏一些图片或者地址,也不会采集太多的类似的页面.
例如每个文件夹下,每种后缀最多采集n个文件,n个文件夹 . 每个文件下,最多有n个不同参数的页面.
例如有个网站 有/info.aspx?id= 1-10000 一万个页面, 可设置只采集前100个页面 . 保证不大量重复采集类似的页面,也不会遗漏里面包含的某些图片地址之类的路径

本扫描器 将会以 url 返回状态码,后缀,返回类型(text image css 等等),charset ,文档大小,标题,上传时间,服务器容器,打开时间,
跳转到哪个url(如果本链接是跳转链接) , 语言, 关键词,描述。 是否支持 GET,POST,HEAD,PUT,REMOVE,DEL 等操作 , 来源类型(暴力探测,智能生成,爬虫),基于哪个url获得的等等

甚至还能筛选 , 通过 url,来源url , 跳转到url,包含的, title包含的,长度等于,状态码是什么,类型+后缀是什么,后缀是什么等进行筛选出需要的url
  • url包含. 可以筛选出包含admin等的地址,并且可以设置包含error之类的为无效链接
  • 来源url包含 同上.
  • 跳转到包含 同上.
  • 标题包含 同上. 可以筛选出标题包含某些关键词的url,也可以设置为无效链接
  • 长度等于. 很多404的长度相同.这样可以去掉.
  • 状态码是. 可以找到特殊状态码
  • 后缀是. 可以找到特殊后缀
  • 类型加后缀是. 例如后缀是.rar 但是类型是html.这就是无效的. 也有后缀是.rar类型也是applation/x-rar ,就是有效的
对于不需要的url 也可以很方便的进行删除并且不再扫描。 例如, url包含某个字符的, 或者跳转到url包含某个字符的,
title包含的(例如 包含 安全狗屏蔽 等字样的) 长度是什么的(例如某个404 长度都是444) 状态码是什么(404,badrequest等) ,
类型+后缀是什么 (例如 .rar的后缀返回类型是 text ,就明显不正确了。 ) 后缀是什么(某些防火墙命令禁止某些后缀,例如 .bak .sql 等)

pachong




pachong

一个成熟的扫描器,
文件或者目录是否存的准确性在才是重中之重

漏掉任何一个敏感的地址都会和本次渗透测试的成败有很大的关系.尤其是找不到突破口的时候
而明明不存在但是返回200/403的情况下,如果判断存在 会做很多无用功,例如对不存在的子目录进行爆破
大部分扫描器会只返回状态码或者大小,让你自己分析.但是返回码不规范
我简单的测试了几个不同的网址就出现了下面几种情况
  1. 正常情况下 , 不存在返回404 , 存在返回200 , 目录返回403 , 跳转返回301 ,302 , 错误返回500 ,或者拒绝访问
  2. ----不正常的情况就多了, 包括不限于下面的----
  3. 跳转代码不同. 例如某网站存在返回301,不存在返回302
  4. 不存在但是返回200 .存在的错误提示页. 或者给你个随机页面.例如菠菜网和小说网,随机读取个小说给你看
  5. 不存在返回301,302 跳转到首页,或者跳转到404页面
  6. 不存在跳转到相关的正确的页面,例如 探测 不存在的bbs7目录 , 跳转到存在的 bbs目录
  7. 存在和不存在都有返回500之类的错误代码,例如aspx,如果没有正确的参数则会返回500
  8. 存在,返回30x 例如 输入admin/ 跳转到 admin/login.aspx
  9. 存在的情况下 返回404 例如 tomcat的 manager/html , 只输入manager会返回404 .
  10. 有的超时,也会返回不同的状态码
  11. 有的刚开始正常,扫的多了快了,服务器就会宕机 或者返回禁止访问 , 和当初的返回码不同
  12. 某些敏感后缀,不管是否存在,都返回403 或者存在, 例如后缀html的探测正常,后缀是mdb的不管是否存在都返回200
  13. 不同的目录,调用不同的地址,需要分开处理 .例如bbs目录下是php的论坛, blog目录下是aspx的博客
  14. 不同目录 大小写敏感不同
  15. 有的访问 /user 跳转到/user/ 证明存在,不跳转是不存在
  16. 甚至 /user 和 /user/ 是两个不同的系统.甚至是映射两个或者多个不同的容器
  17. 更有甚者伪静态或者ror/django/node开发的站,除了静态目录以外全部都是url映射过去的一堆200
  18. ---- 对于有waf ,防火墙的网站,情况也不相同----
  19. 有的有防火墙之类的设置,只要是mdb/rar之类的后缀或者包含admin之类的敏感目录,返回码就会有异常了.
  20. 有的刚开始扫waf不管,扫的多了waf起作用了就.扫描结果出现一堆403/200的地址,打开都是waf屏蔽页面.
  21. 也有的waf只保护某几个文件夹下的文件
综上 判断返回码,返回大小,根本不能准确的判断是否存在文件夹和文件. 这些情况在所有的扫描器中都没有完美的解决掉
针对这个情况,我独创出了下面一整套函数, 经过一整天上万个网站的验证, 她的准确性达到了惊人的97%.

状态列表

包括不限于 每个目录的各种信息,每个目录的中间件/服务类型 存入到状态列表,并且定时验证更新这个列表,
探测下每个目录下的确定存在,确定不存在的状态信息保存下来
包括不限于不同后缀,不同状态码,不同跳转地址的,返回大小是否相同,大小写是否敏感,返回的Header是否相同等等
还有根据 字典爆破中大部分路径不存在,少数不同的是存在的,
而爬虫探测中大部分路径都是存在的,少数是不存在的地址
经过详细的判断, 极少出现误报或者漏报的情况了.

注1 备份包探测功能

很多情况下 管理员会根据当前的时间201911.rar , 文件夹(bin.rar), 文件, 功能(bbs) , 或者默认的名称 例如(新建文件夹.rar)
或者一些随手打的目录 (666666.rar 1.rar 等),简拼,或者这些后面加上888 ,123 等 在根目录或者某些目录下备份一些代码或者配置文件
这些备份包会有包含大量敏感信息. 包括不限于 全站源码,配置文件, 图片,后台 甚至会打包前人的webshell进去
或者会有数据库(能找到账号密码或者大量个人信息等) 危害极大

本功能需要两个文件 : 备份包没后缀列表 和 后缀列表 . 将备份包名称和后缀循环组合起来对目标站点的不同文件夹进行暴力探测
我用大量时间通过多种途径整合了管理员常用的备份名和服务器常用的备份包后缀,例如几个漏洞库,网上流传的字典等

注2 webshell探测功能

实战中,有很多站点会存有前人通过各种方法留下的webshell没有清除,这样我们就能踩着前人的肩膀捡漏进去..
本功能有两个文件 :webshell文件名列表和后缀列表 扫描器会将webshell与后缀循环组合起来进行扫描试探
  • webshell没后缀.txt 这里面是 通过大数据整理的使用频率最高的webshell文件名 (可编辑)
    有菜刀箱子 + 整理的多个漏洞库提取出来的webshell文件地址 . 不限于乌云漏洞库 , bugscan等提取的文件名 , 还有各个大牛常用的文件名
    我也有花大量时间下载了所有能下载的上万个webshell文件提取他们的默认文件名
  • webshell后缀.txt 这个文件下保存的是webshell常用后缀,
    0|.aspx , 1|.ascx |前面的0和1 , 0是不使用这个后缀 , 1是使用 . |后面的是后缀 , 可以自行编辑
    对目标扫描的时候根据具体的容器或者使用语言 , 选中相应的 asp , jsp , php , 甚至ashx , asmx等
通常 asp的网站 可能有 cgi ,asa ,cer ,cdx 等后缀文件 , aspx网站可能会有ascx , asmx , ashx , 甚至asp ,cer ,等木马
某种情况下,如果有 *.asa,*.asp 文件夹,这些文件夹下通常会有后缀为.jpg .txt等图片木马文件, 例如 /xxx.asp/xxx.jpg "xx.asp"是扫描到的文件夹名
在某些解析漏洞的网站中 也会有 a.asp;a.jpg , .cer;a.rar , a.cer;.jpg 等相应的后缀
对于apache服务器 , 也可以检测 *.php.rar.rar.rar , *.php.x1.x2.x3 (注 rar 和 x1 , x2 , abcdefg指系统不认识的后缀名 , 将会前移执行php文件)

本地持久化

本扫描器有着良好的本地持久化.能在 停止扫描的时候完整的保存当前扫描的状态
以便下次扫描的时候不用重新扫描 包括不限于
  • 已经扫描了的所有url
  • 已经扫描了的所有自动生成的url
  • 所有存在的各种状态的链接
  • 所有判断为不存在的状态码
  • 还没扫描了的自动生成的地址,
  • 所有检测了的 状态码的数量
  • 判断每个目录下是否存在文件的信息
对于存在的目录和文件的列表 例如 html 各种图片 等等 , 将会下载并且保存他们的源码到本地

智能探测

针对不同的网站,本服务器可以灵活配置或者智能决定一些信息,以保证扫描完整性
扫描的时候,可以设置 如果有特殊字符,是否会自动编码为可用的地址
例如有的文件是 /db#.mdb ,会解析成/db ,本扫描器会把#编码为%23(/db%23.mdb) ,以保证链接的可用性 而有的地址又不需要编码,例如wordpress的 /post?id=1 和 /post?id=1#77 是一个地址.
本系统还会根据容器和环境智能识别每个路径大小写是否敏感 , 生成的路径和内置字典均根据大小写是否敏感汇总,
最后识别敏感目录的时候进行字典路径的总去重
不管是爬虫还是爆破, 只要找到新的目录了 ,就会执行下面的操作
  • 本扫描器有个字典 huaigeDic/查相关必查的路径.txt
    每个目录都探测下里面的敏感列表
    例如找到个地址 /bbs/admin/images/login/admin.jpg 将会找到如下地址
    • /bbs/admin/images/login/admin.jpg
    • /bbs/admin/images/login/
    • /bbs/admin/images/
    • /bbs/admin/
    • /bbs/
    都加上这个路径里面的地址进行探测,主要是探测压缩包,webshell,index.asp 等
  • 因为任何目录下都可能有前人的木马 ,本扫描器会自动通过option探测这个文件夹下是否可以执行木马,是否能 post,是否有执行权限,甚至是否能 put, move/copy
  • 对于php , iis7.5 , iis7.0 ,lighttpd ,Nginx 等web容器的可能有cgi解析漏洞
    本扫描器会对爬取或者探测到的jpg txt等文件后面加 /huaige.php探测, 如果不是404,则看是否能执行
  • 对于所有的静态文件会自动检测是否有敏感关键词(eval等)防止被其他文件包含 或者后面+/.php等进行解析

路径备份探测&域名备份探测 -- 相关路径

全自动生成对应的字典
经过分析多个漏洞库里的备份包泄露漏洞发现
大量的管理员喜欢根据域名或者文件夹名 命名备份包的名字,这也是我们白帽子需要注意的地方

如果域名是host ......域名备份包探测
扫描器则会根据host生成总共上百个可能的规则字典
例如域名是 bbs.my.huaige.com 会自动得到如下地址
  • bbs
  • my
  • huaige
  • bbs.my
  • bbs.my.huaige
  • bbs.my.huaige.com
  • my.huaige.com
  • huaige.com
域名路径字典
(文件名前缀里面的点 ,还会替换成成(_ , - ,去了点)等循环加上压缩包后缀.
例如my.huaige.com.rar替换成my_huaige_com.rar , my-huaige-com.rar , myhuaigecom.rar等
用上面所有组合,循环加上 空, .rar .zip .tar .tar.gz等压缩包类后缀进行探测
甚至还能在备份包后添加常用的 , 123 ,0-9 ,777, a-z, aa-zz , 日期 , 还有常用的 admin ,admin123, admin888 , beifen , back 等等

路径备份探测 而针对真正存在的目录, 扫描器还会根据目录名或者文件名生成一些常有的探测目录,
例如找到个地址 /bbs/admin/images/login/upload.jsp
将会找到如下4个地址,并且生成对应的8个备份包探测地址
  • /bbs/admin/images/login/ 得到 ==>/bbs/admin/images/login/login.rar/bbs/admin/images/login.rar
  • /bbs/admin/images/ 得到 ==>/bbs/admin/images/images.rar/bbs/admin/images.rar
  • /bbs/admin/ 得到 ==>/bbs/admin/admin.rar /bbs/admin.rar
  • /bbs/ 得到 ==>/bbs/bbs.rar bbs.rar
(rar只是举例,可以自定义循环添加zip,tar等常用的备份包后缀)
也会有/bbs/admin/images/login/upload.jsp.bak 这个文件的备份 或者换掉后缀的探测
域名路径


关于 前后

坏哥扫描器还有个独创的探测方法, 就是每遇到一个新的文件夹 , 就会根据大数据自动猜测这个文件夹下可能有哪些文件夹或者文件
根据前面的文件夹猜测后面可能出现的文件名, 这个功能在本程序里简称 前后
例如 如果有ewebeditor文件夹存在 则根据出现次数排序自动探测常有的相关文件或者文件夹
如 upload.asp,Admin_Login.aspx ,ewebeditor.asp ,ewebeditor.php文件 和file, admin, jsp, aspx ,asp等文件夹
如果有 admin文件夹 则自动探测如manager.asp, login.asp, filemanage.aspx, PicUpload.asp等
如果有 ckfinder文件夹 则自动探测 ckfinder.htm, ckfinder.html, upload.htm文件 和demo, other ,images ,lang ,skins 等文件夹
也有log , logs 下 需要根据时间判断 .例如 2012 , 2012-01-01 , 20180808 等 . 后缀为 xml, log, txt , rar 等

危险性+注意事项 法律声明

本扫描器有一定的危险性,尤其是带cookie扫描. 也有可能频繁get/post影响甲方的正常业务.
包括不限于扫描的时候会增删改一些数据,例如批量访问 del.aspx?id=7788 等访问就会删除信息的一些地址
或者访问一些例如 LoginOut.php 之类的退出页面使cookie失效
后期可能会有个排除表, 有这个表里面关键词的将不会进行访问或者扫描

法律声明

本扫描器不能 越权获得计算机信息系统数据或者控制计算机 ,
本扫描器我只授权给十几个熟知的安全人员使用. 使用之前必须和甲方有正规的书面协议允许使用本扫描器.
除此之外的安全人员如果获得此扫描器请立即删除,否则所有后果自负.

注 为了配合这个帮助文档,我发布了这款让暴力探测模块不能点的版本。 只有完全合法的爬虫功能。
正规安全公司或者白帽子可以联系我获得最新完整版本扫描器
本说明和扫描器是不可分割的.
坏哥扫描器
20190709

关于技术员联系方式

  • 微信/QQ 或者发QQ邮箱.
找安全行业友情链接 。联系上面的联系方式
我的博客 敬请期待