python网络安全监控_Mars战神网络威胁安全监测平台

Mars

Mars(战神),对之前的WDScanner的全新重写,结合Tide潮汐资产探测和指纹识别方面的技术积累,可以为客户提供更高效智能的安全检测和安全监测服务。

之所以取名为Mars(战神),因为设计初衷是想做个专门挖SRC的平台,能自动化的比较全面的搜集资产信息并能监测资产的变化情况,及时发现新应用或新服务,并能自动化匹配POC进行检测,进而提高SRC漏洞挖掘效率,所以在资产发现、指纹探测、变更监测方面做的稍微细致一些。

平台适用人群:

1、白帽子。Mars可对SRC进行资产搜集、资产变更监测。

2、乙方安服团队。可对客户资产进行监测管理,出现新漏洞第一时间感知。

3、甲方安运团队。可对内网资产和互联网资产进行周期性探测,发现新端口、内容变更等。

4、红蓝对抗。可用于前期资产搜集、信息搜集,动作比较小。

由于个人不大会做前端,所以平台框架直接使用了jeffzh3ng大佬的fuxi项目,在此致敬大佬的开源精神。Mars平台使用了flask+vali-admin做为前端,python作为后台扫描脚本,可使用分布式的节点扫描模式,可以对资产探测、POC检测、弱口令检测、漏洞扫描等任务分多个节点来完成。

项目Github地址:https://github.com/TideSec/Mars

项目gitee地址:https://gitee.com/goodhal/Mars?_from=gitee_search

Abstract

主要功能:客户管理、资产发现、子域名枚举、C段扫描、资产变更监测、端口变更监测、域名解析变更监测、Awvs扫描、POC检测、web指纹探测、端口指纹探测、CDN探测、操作系统指纹探测、泛解析探测、WAF探测、敏感信息检测、分布式多节点扫描等等。目前被动扫描准备对接xray+wascan,准备二期开源该功能及其他若干功能。

docker安装

我把mongodb、awvs、hydra、扫描任务等都集成到docker里面了,可直接使用,镜像略大。

自己安装docker后,从docker仓库拉取镜像

docker pull registry.cn-hangzhou.aliyuncs.com/secplus/mars:1.0

创建docker

docker run --name tide-mars  -p 5000:5000 -p 27017:27017  -p 13443:13443 -h tide-mars -d registry.cn-hangzhou.aliyuncs.com/secplus/mars:1.0  /usr/sbin/sshd -D

启动Mars平台(如果主机配置低的话建议不启动Awvs,不然会卡死的,不想启动Awvs注释start.sh文件中第三行就可以)

docker exec tide-mars  /bin/bash -c '/bin/bash /root/Mars/start.sh'

之后就可以使用浏览器访问http://ip:5000(这个ip是你的docker母机的地址)来访问mars了,登录密码默认为tidesec。

同时浏览器可访问https://ip:13443,账号tide@tidesec.com/Tide@2020,查看awvs状态。

在创建容器以后,如果docker停止了,再次运行(不需要重新创建容器)只需要执行下面命令

dk start tide-mars && docker exec tide-mars  /bin/bash -c '/bin/bash /root/Mars/start.sh'

错误排查

如果无法打开5000端口或13443端口、或者添加任务后无法扫描,可以进入docker进行人工排查。

docker exec -it tide-mars /bin/bash

启动数据库

nohup mongod --dbpath=/data/db --bind_ip 0.0.0.0 --auth &

启动mars控制台

cd /root/Mars && python mars.py

启动扫描任务

cd /root/Mars/taskpython/ && python asset_task_scan_v1.0.py

启动awvs(可选,不启动时无法使用漏洞扫描功能)

su -l acunetix -c /home/acunetix/.acunetix_trial/start.sh

分布式部署

Mars支持分布式部署,可以多节点同时扫描,空闲节点会优先执行任务,节点任务相互没有干扰。

在web控制台添加多个任务;

每个节点接收任务后会把该任务进行标记,这样其他节点不会重复扫描;

如果某节点因为出错而导致没有完成扫描,下次该节点再次启动时会继续执行该任务;

节点的标识是靠taskpython/asset_task_scan_v1.0.py文件中的scan_node参数,默认是主机名,可自行修改。

多节点的部署方式:

1、把taskpython目录拷贝到其他服务器上。

2、安装依赖包pip install -r requirements.txt

3、修改asset_task_scan_v1.0.py文件中的MONGODB_CONFIG的mongo数据库地址。

4、运行python asset_task_scan_v1.0.py即可。

登录界面

直接使用的vali-admin内置的一个lockscreen页面,改了个比较灰主流的背景,原谅我的审美。 登录密码默认为tidesec,在配置文件Mars/instance/config.py中设置,可以自行修改,修改后需要重启下python mars.py脚本,先kill掉python mars.py进程,再执行一下python mars.py就行。

用户管理

添加用户和管理用户:设置用户联系人、手机、邮箱等,可以进行漏洞预警,设置服务周期和服务类型,比如定期的漏洞扫描、POC检测、弱口令检测、敏感字检测等。

资产管理

资产管理是整个平台最基础也算最核心的功能,对资产进行POC检测或者弱口令检测,首先依赖于资产能被发现、指纹能被识别。

比如通过资产探测发现某服务器使用了iis,那么系统会自动调用IIS短文件名检测POC、IIS PUT检测POC进行自动检测,如果发现使用了weblogic会把weblogic的所有反序列化漏洞POC都检测一遍,如果发现系统使用了Mysql,会自动调用mysql弱口令检测程序进行弱口令测试,等等。这些能自动检测的前提就是能发现资产指纹信息,目前我们也搭建了自己的潮汐指纹识别平台,目前已经开源http://finger.tidesec.com。

添加资产时,平台会根据资产类型进行智能分类,比如你添加了test.gauzi.com和app.gauzi.com和www.maodou.com作为资产,平台会把该任务分为两个具体任务,一个是guazi.com,里面包括两个资产test.gauzi.com和app.gauzi.com,另一个是maodou.com,里面包括www.maodou.com作为资产。

之后后台会自动进行子域名枚举,子域名枚举共使用了四种方式以保证子域名枚举的全面,并把这些子域名都作为该资产任务下的具体资产。

子域名枚举的四种方式:

1、https://github.com/aboul3la/Sublist3r,对接了N多接口。

2、https://github.com/lijiejie/subDomainsBrute,主要是字典枚举。

3、使用baidu进行子域名检索。

4、对主域名进行三层页面爬取,提取子域名。

之后会对这些子域名进行探测信息,可以根据策略配置“web端口快速探测”扫描全端口还是部分端口,而且在分析过程中如果发现子域名对应的ip集中在某个C段(启用“探测C段”选项时),那么平台会自动把该C段IP也作为资产任务进行扫描探测,并写入数据库进行呈现。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值