简介

分享个写的工具,关于内网漏洞检测的,我给它起了个听起来很牛皮的名字,AssetScan内网脆弱面分析工具(AS),糊弄糊弄人,哈哈。也不知道这个工具怎么样?希望它华而有实!(PS:我发现很多人再搞外网,一顿SSL报错,改了~)

仅个人之见,感觉这两年的红队比较火,不管是在招聘,项目,都在考察攻击人员的内网测试能力。后渗透,重要的一点为信息收集,有着一个较好的信息收集基础,能大大提高我们得测试效率,平时我们在内网中可能会依托一些已知工具进行信息收集,如Nmap去进行一些资产的探测,脆弱面的探测,但是效率非常的慢。如果扫一个网段时间就更不敢恭维了。而且,输出的信息只有部分是我们需要的,如开放的端口,有些端口对我们测试人员来说没有任何的实用价值,通常我们进行后渗透时我们得关注点通常为资产的直接脆弱点,可直接Getshell,可直接RCE,可直接获取相关权限,信息等等此类的漏洞。

所以,本工具因此而生。快速的探测内网存活资产,快速分析每个资产的脆弱面,并尝试进行漏洞检测,将存在漏洞的资产输出,内容进行可视化输出。采用Masscan,Nmap,Socket多种方式对风险端口,常规端口,全端口进行探测。针对内网渗透测试的针对性漏洞,如未授权访问,软件后门,命令执行等关键漏洞进行检测,并对可字典爆破的口令服务进行提醒。现将与大家一起分享一下工具的设计一些设计思路,以及功能介绍。

说明

本工具运行环境,由Python3编写,支持Mac,Linux,Windows,由于工具是依托于unix开发,所以多Windows可能不太友好,如Mac,Linux上有皮肤,Windows上没有~

由于部分检测Poc直接使用了Nmap中的脚本,所以需要客户端安装Nmap工具,并加入系统变量

功能介绍

  1. 工具支持IP存活检测
  2. 工具支持ARP存活检测
  3. 工具支持IP端口检测,分为两种模式:Masscan,Nmap以及Sock探测的方式,可针对IP的数量,以及性能的预算进行选择使用
  4. IP端口检测支持全端口检测,Top1000检测,风险端口检测
  5. 工具针对检测出来的风险端口可进行漏洞检测
  6. 工具支持单个IP,多IP,IP段混合输入,同时支持CVS,XLS,TXT文件批量导入
  7. 工具提供可视化报告输出,包括具体测试数据,图表等

框架

[原创]AssetScan内网脆弱面分析工具-JE2Se ' Blog

AssetScan工具主要分为4个部分,分别为数据处理模块,扫描模块,检测模块,报告模块。

数据处理模块:
针对可能得业务场景,通常我们需要对部分IP,部分网段进行测试,所以可直接通过-i 的方式直接输出,如单个IP,多个IP,整个网段,可混合使用,通常我们还有可能是得到某一个IP地址表文件,所以数据处理模块还支持导入文件的形式,如xls,csv,txt等。主要才用了IPy模块对传入数据进行处理。将处理好的数据进行存活性检测,存活性检测直接采用了Ping存活检测,为啥选择Ping方式检测存活呢,我的狡辩很简单,内网环境的安全环境可能会比较低吧,且方便简洁,效率高。(更新了ARP存活探测,你再扫外网试试?)

扫描模块:
扫描方式,使用了三种方式,针对不同的场景,使用Socket,Masscan,直接调用Nmap进行探测,可根据待测IP的数量以及具体的场景实际选择方式,如扫描目标也分为为两种,全段口探测,风险端口探测,全段口探测没什么介绍的,1到65535,风险端口探测主要为可能出现漏洞的端口。

漏洞探测模块:
针对风险端口进行针对性扫描,主要为相关端口漏洞的Poc脚本,部分直接调用了Nmap的脚本去检测(有现成的就不想再费劲的去写了),Weblogic检测直接才用了大神的现成脚本,我觉得他写的非常不错,就借鉴过来用了。

报告模块:
报告模块会针对检测出来的信息,资产信息,存活信息,端口开放信息,端口漏洞信息进行报告的生成,因为本工具为分段计费,上车的乘客~呸,本工具为分段处理,想到可能需要的信息阶段不一样,没准我就想看看存活的信息,所以设置了分段结束直接生成报告选项。

毕竟人有男女之分,系统也有Unix,Windows之分,所以在没个模块相应的初始会先判断一下当前系统的类型。执行对应的代码。

使用方法

安装依赖

python3 -m pip install -r requirements.txt

需要在运行系统安装nmap软件

用法

python3 AssetScan.py -h 获取使用方法<br>

本脚本目前集成了以下漏洞检测poc

本脚本目前集成了以下漏洞检测Poc,Poc的类型主要分为检测型Poc,提醒型Poc,检测型的可直接探测是否存在漏洞,提醒型的无法检测漏洞,此类多为需要爆破口令类漏洞,如开放了3306端口,你可以去爆破账号,但是如果直接在工具里集成爆破脚本,那么脚本工作效率会非常的差,后期脚本更新会加入Top5检测~

21端口-弱口令提醒检测,后门检测,匿名登录检测
22端口-弱口令提醒检测
23端口-弱口令提醒检测
80端口-http.sys漏洞检测,PHPStudy后门检测,IIS短文件名漏洞
110端口-弱口令提醒检测
143端口-MAP弱口令检测
389端口-匿名访问漏洞
443端口-心脏滴血检测,PHPStudy后门检测
445端口-永恒之蓝,08067检测
873端口-Rsync未授权检测
995端口-MAP弱口令检测
1433端口-弱口令提醒检测
2049端口-NFS未授权访问漏洞提醒
2181端口-zookeeper未授权访问漏洞检测
3306端口-弱口令提醒检测,cve2012-2122认证绕过检测
3389端口-MS12-020漏洞,CVE-2019-0708提醒
4848端口-GlassFish未授权访问漏洞检测
5432端口-PostgreSQL弱口令检测提醒
5900端口-VNC弱口令检测提醒
5984端口-CouchDB命令执行漏洞提醒
6379端口-未授权检测漏洞,弱口令提醒检测
7001端口-weblogic反序列化漏洞
8080端口-IIS短文件名漏洞
9200端口-ES目录遍历漏洞,CVE-2014-3120等远程命令执行,未授权访问漏洞
11211端口-未授权访问漏洞
27017端口-弱口令提醒检测,未授权访问漏洞
50030端口-Hadoop未授权访问漏洞检测提醒

扩展性

如果你有一些其他的检测脚本,也可以集成进去,可自行进行扩充,在主文件AssetScan.py第99行检测函数进行追加执行函数。

在vuln目录添加检测Poc,Poc接收参数为字典,具体内容可参考其他脚本格式,需return出一个漏洞列表

说明

脚本内weblogic Poc使用了其他大佬现成的检测脚本rabbitmask大佬的WeblogicScan写的很好,我就直接给集成进来了。

问题

漏洞可能整理的不全,后期可能会追加更新

测试环境有限,平台之间的兼容性可能存在问题

周期

初版:2019年11月28日 V1.0初版编写完成
修改1:2019年12月02日 感谢Shadow·J反馈kali下文件导入异常
修改2:2019年12月03日 V1.1发布,新增ARP存活检测(回滚,测bug)
修改2:2019年12月04日 V1.2发布,修复漏洞脚本异常,修复weblogic脚本

V1.0 原版发布
V1.1 新增ARP存活检测
V1.2 修复脚本运行异常

详细说明

介绍说明

由于基于unix开发,所以关于字体颜色上,只有unix的系统有皮肤,windows暂时无皮肤

软件初始界面

[原创]AssetScan内网脆弱面分析工具-JE2Se ' Blog

支持方式

支持 -i 单个IP(192.168.1.1),多个ip(192.168.1.1,192.168.1.2),段IP(192.168.1.1-192.168.2.1)

[原创]AssetScan内网脆弱面分析工具-JE2Se ' Blog

演示说明

演示环境为win08(192.168.43.123),metasploitable2(192.168.84.175)进行演示

运行后会检测存活(更新了ARP存活检测)

[原创]AssetScan内网脆弱面分析工具-JE2Se ' Blog

选择扫描的形式,本次选择为(1),

[原创]AssetScan内网脆弱面分析工具-JE2Se ' Blog

探测结束,选择是否探测风险端口

[原创]AssetScan内网脆弱面分析工具-JE2Se ' Blog

针对测试出的风险端口进行漏洞探测,对于口令方面的漏洞只设置提醒,其他漏洞提供了检测

[原创]AssetScan内网脆弱面分析工具-JE2Se ' Blog

输出可视化报告

[原创]AssetScan内网脆弱面分析工具-JE2Se ' Blog

项目地址:

https://github.com/JE2Se/AssetScan

欢迎各位Star,提bug,交流~~~