推荐一款src自动化扫描和收集的工具

目前支持的功能

全自动扫描: python webmain.py -a target.com --> baidu_site && port/dir scan 单目标扫描: python webmain.py -u http://127.0.0.1 --> webscan Portscan && scanDir 多目标探测:python webmain.py -f vuln_domains.txt --> webscan not scanDir 多目标扫描: python webmain.py -d vuln_domains.txt --> webscan Portscan && scanDir C段探测: python webmain.py -cf 192.168.1.1 --> C scan not scanDir C段扫描: python webmain.py -cd 192.168.1.1 --> C scan Portscan && scanDir

1.0的版本,项目保存在[webmain1.0]

https://github.com/cnnetarmy/SRCHunter/tree/webmain1.0

1.0介绍:[web敏感资产fuzz]

http://www.cnnetarmy.com/web%E6%95%8F%E6%84%9F%E8%B5%84%E4%BA%A7fuzz/

关于1.0和2.0的区别请看[commit日志]

https://github.com/cnnetarmy/SRCHunter/commits/master

下面是2.0的介绍

项目地址

**Github**

https://github.com/cnnetarmy/SRCHunter

**运行环境**:

python2.6.x或者python2.7.x

**依赖第三方库**:

pip install requests[security]

程序介绍

**扫描参数不区分大小写和顺序**

**默认代理关闭**

**随机无序扫描验证**

**可跨平台使用**

全自动扫描

全自动扫描,默认仅加载百度搜索引擎`site:target.com`,生成目标池,进行部分端口扫描、敏感资产和目录扫描功能,详细同理多目标扫描

**命令**:`python webmain_debug.py -a target.com`

单目标扫描

单目标扫描模式默认,加载敏感资产和目录扫描功能,例如:

http://testphp.vulnweb.com/

**命令**:python webmain_debug.py -u http://testphp.vulnweb.com/`

**扫描日志**

**端口扫描**

程序只扫`11211`,`27017`和`小于10000`的端口

扫描结果如下:

程序会自动过滤掉常规端口

扫描结果

结果介绍

结果保存在**report**目录

多目标探测

**命令**:`python webmain_debug.py -f vuln_domains.txt`

**使用介绍**:

快速探测,实现url转ip后,进行部分端口扫描,并且对每一个开放的端口进行存活探测,

如果存活,进行`getitle`信息探测,小细节是加了个`filter_ports`,过滤掉常规端口,

考虑到一种情况(旁站),多个url解析到一个ip上,程序加了`filter_ips`过滤已经扫描过端口的ip,

同时,如果各种非预期的情况导致扫描`scheme://netloc`重复,程序加入`filter_urls`过滤已经扫描过的任务,

程序还考虑到了一种情况,即:当url传过来的是存活,而且没有扫描出开放的端口,程序会自动探测default端口的信息,

包括另外一种情况,当url传过来的非存活,但是扫描出其他开放的端口,程序会自动探测相应端口的信息,

**程序仅端口扫描,获取目标站点title,状态码,返回值长度,包括可能存在的合法ip地址,email资产信息**,

但是`不探测解析到内网的ip`,黑名单列表如下:

10.x.x.x 127.x.x.x 172.x.x.x 192.168.x.x

多目标扫描

**命令**:`python webmain_debug.py -d vuln_domains.txt`

**使用介绍**:

与多目标探测不同的是,加入`敏感资产和目录扫描`,

敏感资产使用`常用payloads集合`进行探测,加上生成的`日期备份文件`,程序会先判断404页面的状态,然后对payloads进行遍历探测,

判断条件是返回200,且返回内容大小不等于0,且payload与404界面的返回大小差的绝对值大于5(或者直接两者返回大小不相等),

程序改版了之前的附加判断条件`如果碰到waf,或者各种非预期的情况,导致跑的payloads返回大于40,这种情况程序会提示有可能碰到waf,并且返回空`,

进而增加`探针计数器`,计算结果个数,如果扫描结果很快超过25个,程序会直接结束此次扫描,节省时间,提高效率,

新增加`多级目录敏感资产扫描`,即在原来获取网页所有超链接的前提下,进行目录分割扫描,

关于结果中的`Dirscan`是`常用payloads集合扫描`和`多级目录敏感资产扫描`结果去重后的`并集`,

如果出现`['waf']`,表示`常用payloads集合扫描结果`达到程序设置的默认阀值,

如果出现`['more_path']`,表示`多级目录敏感资产扫描结果`达到程序设置的默认阀值,

其他的情况,可直接点击查看验证结果,

Allinks中,如果提示`[more_link]`,意味着页面存在`10`个以上的超链接,

默认只显示`前25`个字符,直接点击,则可显示详情

C段探测

**命令**:`python webmain_debug.py -cf 192.168.1.1`

**使用介绍**:

与C段探测不同的是,加入`敏感资产和目录扫描`,其余同理多目标扫描

C段扫描

**命令**:`python webmain_debug.py -cd 192.168.1.1`

**使用介绍**:

与C段探测不同的是,加入`敏感资产和目录扫描`,其余同理多目标扫描

异常处理

总会有各种非预期的情况,导致程序产生异常告警,debug模式默认全部输出异常,正常模式不会输出,

以下是关于程序扫描过程中的异常处理,主要使用`write_file`进行错误日志记录,

  • `write_file(ip,'portscan_error')` 记录单个目标扫描出开放90个端口以上的ip
  • `write_file(url,'url2ip_error')` 记录单个目标未获取到ip的url
  • `write_file(url,'output_error')` 记录保存文件时参数编码不合法的url

结果保存

默认在当前目录下,新建report目录,并且`根据扫描参数`分别保存为`html`文件,

关于扫描出开放的所有端口,`根据扫描参数`分别保存为`csv`文件,一些特殊端口保存为eg:`mysql_3306.txt`

异常处理保存

linux下建议使用`nohup python webmain_debug.py -d targets.txt &`后台运行,扫描日志见`nohup.out`,结果同上

免责声明

`本程序仅供渗透测试从业人员,在授权的情况下参考使用,其他情况使用者自行承担法律责任,与作者无关`

原文发布于微信公众号 - 网络安全社区悦信安(yuexin_an)

原文发表时间:2018-02-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏闵开慧

hadoop图解

gateway机器是跳板机,提交job到云梯的,在gateway机器上只要配置hadoop-site.xml即可,配置文件中主要是指定jobtracker的地...

40510
来自专栏北京马哥教育

Linux 系统结构详解

Linux系统一般有4个主要部分: 内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管...

6123
来自专栏IT笔记

Nginx学习之HTTP/2.0配置

哎呀,一不小心自己的博客也是HTTP/2.0了,前段时间对网站进行了https迁移并上了CDN,最终的结果是这酱紫的(重点小绿锁,安全标示以及HTTP/2.0请...

39714
来自专栏潘嘉兴的专栏

手把手教你如何优化linux服务器

服务器的优化是我们最小化安装系统后应该做的事情,下面是一些常见的基本的优化服务器的方法。关闭不需要的服务。列出需要启动的的服务crond、network、ssh...

6410
来自专栏Java帮帮-微信公众号-技术文章全总结

Web-第十九天 Linux学习【悟空教程】

UNIX操作系统是商业版,需要收费,价格比Microsoft Windows正版要贵一些。不过UNIX有免费版的,例如:NetBSD等类似UNIX版本。

1724
来自专栏沈唁志

Windows下PHPStudy中的Apache无法启动的解决方法

3873
来自专栏岑玉海

oozie 安装过程详解

1.从apache的官网下载oozie3.3.2 2.编译oozie,以下命令用root来执行吧,它不做任何的测试的,因为一测试就会出错的 官网...

3894
来自专栏GreenLeaves

C# 多线程学习系列一

早期的Windows没有线程的概念,整个系统只有一个"工作线程",上面同时跑着操作系统代码和应用程序代码.这种方式最大的缺点就是,一个应用程序运行时会霸占整台机...

1205
来自专栏lonelydawn的前端猿区

基于java swing的设备管理系统

一.系统介绍 一个简易的设备管理系统,包含了管理员登录注册、设备录入、设备状态管理功能,具体状态有购买时、正在运行、正在修理和已报废。 二.开发环境 开发环境:...

3207
来自专栏deepcc

nodejs服务器anywhere简介

3974

扫码关注云+社区

领取腾讯云代金券