本项目仅进行内网主机资产整理,无漏洞利用、攻击性行为,请使用者遵守当地相关法律,勿用于非授权测试,如作他用所承受的法律责任一概与作者无关,下载使用即代表使用者同意上述观点。
资产快速探测后输出报表
拥有3.x所有功能的基础上,新增一些简单的漏扫功能,出结果慢
4.x需要依赖 vc_redist.x64
调用MASSCAN对内网主机进行如下任务,完成内网主机资产快速获取:
- 开放端口扫描
- 运行服务检测,指纹识别
- 开放端口二次复检
- 主机部署网站探测
- 自动生成扫描结果报表
自带masscan.exe,masscan来自巡风,需要注意的是Windows还需要安装WinPcap4.1.12
自行安装masscan,并添加到环境变量
编辑文本,文本内容为你需要进行扫描的IP,比如:
192.168.8.0/24
10.152.168.0/24
10.16.26.3
10.26.36.0/24
192.168.0.2
192.168.0.6
192.168.0.15
192.168.0.16
192.168.0.17
192.168.0.12
192.168.0.19
随后直接启动Project下run.bat,按照提示导入上面的文本
随后输入需要扫描的端口号,比如:
21,22,23,25,80-9999,27017,27018
or
80,81,88,90,800,8000,888,8888,8887,8889,8080,9090,999
or
20-25,80,88,8080,8888,999,9999,1433,3389,3306,1521,6379,22222
or
21,22,23,25,80,88,888,8000,8888,8080,999,9999,9111,8873,87,9000,7000-7005,1433,3306,3389,1521,27017-27019,6379,6371,11211,8088,111,1001,50000,9110
or
1-65535
如果要使用内置默认的常见高危端口,输入 0 即可。
如果要使用内置默认的高危端口[数量更多],输入 1 即可。
单IP文本:2~6
C段IP文本: 2~4
B段IP文本:1
按照机器配置设置扫描进程数,如果扫描全端口,建议设置使用一个进程,最后的结果会自动保存在当前目录下
如前文所提,原理就是调用使用MASSCAN进行扫描,MASSCAN使用异步连接方式,在CPU配置较差的情况下,每秒的发包量设置过大,则会造成丢包导致误报情况。
在9900K测试下,发包量设置在1000-2000之间比较稳,速度和准确率客观。
经测试,扫一个C段的默认端口,发包量设置2000,200M宽带直接吃满,CPU负载9.2%,平均耗时在40秒之内,存在一定的误报,如果设置在1000还可以,具体情况请按照个人机器配置进行设置。
大多数人都会想到使用masscan先进行存活资产快速整理筛选,然后使用nmap对开放端口进一步扫描,使用nmap的指纹库获取端口运行的服务。
做法无可厚非,但是在时间上消耗较大。
选择采用折中的方式,使用MASSCAN快速扫描主机开放端口,使用线程池原生socket连接,获取返回banner,对返回的banner进行指纹正则匹配结果,对一些无法匹配到端口使用默认端口指纹库进行识别匹配。
在masscan存在一定误报的情况下,对扫描结果端口进行二次复检是很有必要的行为。具体实施方法如下:
- 首先进行端口连接,获取返回BANNER,返回结果根据内置指纹库进行对比,获取该主机端口运行的服务。
- 若剩下的端口进行端口连接失败,或者连接成功但是对返回BANNER无法正常识别运行服务,则进行端口开放检测,对正确开放端口使用本地指纹库进行匹配服务。
- 在第一步中正常获取结果的端口,本身就是端口开放。第二步的情况是对剩下识别失败的端口进行二次复检,如果失败并且端口无法连接,则判定为masscan误报,直接删除该端口。
二次复检会大幅度提高准确率,但是相应的速度也会慢下来
扫完毕后,会生成相关的HTML和Xlsx文件,自动保存在目录下。
当前目录会自动保存扫描日志,扫描异常原因,扫描结果
- 内网资产可视化报表
- 端口/服务数据整理,点击标签即可查看相关开放主机
- 每台主机资产详情
对大量的资产扫描结果,使用HTML展示结果如果主机内存较小,则会出现浏览器卡顿情况无法直观查看数据,所以另外生成XLSX文档,方便对数据统一查看管理。有点脑子的人都看得懂。
- 端口/服务数据整理
- 部署网站主机整理
- 每台主机资产详情整理