/LangNetworkTopologys

主机资产自动化扫描绘测

Primary LanguageHTML

本项目仅进行内网主机资产整理,无漏洞利用、攻击性行为,请使用者遵守当地相关法律,勿用于非授权测试,如作他用所承受的法律责任一概与作者无关,下载使用即代表使用者同意上述观点。

版本说明

3.x

资产快速探测后输出报表

4.x

拥有3.x所有功能的基础上,新增一些简单的漏扫功能,出结果慢

4.x需要依赖 vc_redist.x64

资产扫描

调用MASSCAN对内网主机进行如下任务,完成内网主机资产快速获取:

  1. 开放端口扫描
  2. 运行服务检测,指纹识别
  3. 开放端口二次复检
  4. 主机部署网站探测
  5. 自动生成扫描结果报表

依赖环境

MASSCAN-Windows

自带masscan.exe,masscan来自巡风,需要注意的是Windows还需要安装WinPcap4.1.12

MASSCAN-Linux

自行安装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存在一定误报的情况下,对扫描结果端口进行二次复检是很有必要的行为。具体实施方法如下:

  1. 首先进行端口连接,获取返回BANNER,返回结果根据内置指纹库进行对比,获取该主机端口运行的服务。
  2. 若剩下的端口进行端口连接失败,或者连接成功但是对返回BANNER无法正常识别运行服务,则进行端口开放检测,对正确开放端口使用本地指纹库进行匹配服务。
  3. 在第一步中正常获取结果的端口,本身就是端口开放。第二步的情况是对剩下识别失败的端口进行二次复检,如果失败并且端口无法连接,则判定为masscan误报,直接删除该端口。

二次复检会大幅度提高准确率,但是相应的速度也会慢下来

生成结果

扫完毕后,会生成相关的HTML和Xlsx文件,自动保存在目录下。

日志文件

当前目录会自动保存扫描日志,扫描异常原因,扫描结果

网页文件

  1. 内网资产可视化报表
  2. 端口/服务数据整理,点击标签即可查看相关开放主机
  3. 每台主机资产详情

Xlsx文件

对大量的资产扫描结果,使用HTML展示结果如果主机内存较小,则会出现浏览器卡顿情况无法直观查看数据,所以另外生成XLSX文档,方便对数据统一查看管理。有点脑子的人都看得懂。

  1. 端口/服务数据整理
  2. 部署网站主机整理
  3. 每台主机资产详情整理