一款适用甲方企业的外网资产周期性扫描监控系统


项目github地址:https://github.com/ATpiu/asset-scan

简介

asset-scan用于甲方企业外网资产进行周期性扫描监控,对资产新增的端口服务进行自动化未授权访问/弱口令爆破检测并进行实时告警,便于企业对外网暴露的攻击面进行收敛

结合kibana,使用者可随时搜索企业外网资产暴露的端口、服务和版本等信息;制作各类统计图,进行开放端口统计、新增服务版本分析和资产扫描耗时统计等;使用Dashboard进行内部汇报展示等

目前支持sshredismysqlftpmongodbpostgresqlmssql七种服务的弱口令爆破,另外支持mongodredis
memcached的未授权访问测试

请使用者遵守《中华人民共和国网络安全法》,勿用于非授权的测试。

功能特点

  • 周期性扫描监控
  • 自动化未授权访问/弱口令爆破
  • 支持扫描白名单、配置热更新和告警控制
  • 搜索、自定义统计图、多维度分析

图例展示

– 配合Kibana强大的分析统计功能,各位可自定义其它统计图和表盘
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

– 新增资产服务暴力破解成功通知

在这里插入图片描述

配置文件说明

nmap:
  path:                          #不指定则使用系统默认的nmap

masscan:
  path:                          #不指定则使用系统默认的masscan
  rate: 5000                     #masscan扫描速度,不建议设很大

es:
  address: 127.0.0.1:9200        #elasticsearch地址

scan:
  ipFile: ip.txt                 #包含扫描的ip范围文件,文件内容格式参照nmap -iL参数所支持的格式
  ipexcludeFile: ipExclude.txt   #包含需排除的ip范围文件,文件内容格式参照nmap --excludefile参数所支持的格式
  port: 1-65535                  #扫描端口范围
  userDict: user.txt             #对服务进行弱口令爆破的用户名字典
  passwordDict: password.txt     #对服务进行弱口令爆破的密码字典
  scan_interval: 30              #扫描间隔,单位:秒

observe:
  switch: on                     #观察者模式开关:(1)开启:on (2)关闭:off

mail:                            #告警邮箱设置,若观察者模式始终开启,则可忽略邮箱配置
  host: xxx.xxx.com
  port: 123
  username: xxx@xxx.com
  password: xxx
  from: xxx@xxx.com
  to: ["xxx@xxx.com","xxx@xxx.com"]

运行指南

  • Linux环境运行,需要Nmap、Masscan、Es和Kibana 5.6.x版本,安装指南详见:https://github.com/ATpiu/asset-scan/blob/master/doc/install.md
  • 所需组件安装完毕后,从release中下载压缩包,对config.yaml进行配置,ip.txt中填入要扫描的IP段(格式参照nmap -iL参数所支持的格式),之后可直接输入./asset-scan运行
  • 扫描初期,建议将config.yaml中的观察者模式开关设为on,避免造成告警轰炸(有新服务对外开放或暴力破解成功会发告警邮件)
  • ipExclude.txt中为要排除扫描的IP段,user.txt和password.txt分别为用户名字段和密码字典

Es字段说明

目前Es中有5个type:

  • result

    包含每次资产基础探测扫描的数据:

  • scanhistory

    包含每次扫描的开始时间和结束时间

  • addhistory

    与最近一次扫描历史区间相比,新增的端口服务

  • uphistory

    与最近一次扫描历史区间相比,同一资产(具有相同IP、端口和协议)服务的更新情况

  • bruteforce

    包含对资产服务的未授权访问/暴力破解记录

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
#资产信息扫描 在渗透测试(特别是内)中经常需要对目标进行资产收集,即对方服务器都有哪些IP,IP上开了哪些端口,端口上运行着哪些服务,此脚本即为实现此过程,相比其他探测脚本有以下优点:1、轻巧简洁,只需python环境,无需安装额库。2、扫描完成后生成独立页面报告。 此脚本的大概流程为 ICMP存活探测-->端口开放探测-->端口指纹服务识别-->提取快照(若为WEB)-->生成结果报表 运行环境:python 2.6 + 参数说明 -h 必须输入的参数,支持ip(192.168.1.1),ip段(192.168.1),ip范围指定(192.168.1.1-192.168.1.254),ip列表文件(ip.ini),最多限制一次可扫描65535个IP。 -p 指定要扫描端口列表,多个端口使用,隔开 例如:22,23,80,3306。未指定即使用内置默认端口进行扫描(21,22,23,25,53,80,110,139,143,389,443,445,465,873,993,995,1080,1723,1433,1521,3306,3389,3690,5432,5800,5900,6379,7001,8000,8001,8080,8081,8888,9200,9300,9080,9999,11211,27017) -m 指定线程数量 默认100线程 -t 指定HTTP请求超时时间,默认为10秒,端口扫描超时为值的1/2。 -n 不进行存活探测(ICMP)直接进行扫描。 结果报告保存在当前目录(扫描IP-时间戳.html)。 例子: python NAScan.py -h 10.111.1 python NAScan.py -h 192.168.1.1-192.168.2.111 python NAScan.py -h 10.111.1.22 -p 80,7001,8080 -m 200 -t 6 python NAScan.py -h ip.ini -p port.ini -n 服务识别在server_info.ini文件中配置 格式为:服务名|默认端口|正则 例 ftp|21|^220.*?ftp|^220- 正则为空时则使用端口进行匹配,否则以正则匹配结果为准。 项目地址 https://github.com/ywolf/ 欢迎大家反馈建议和BUG

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值