工具介绍
Mars(战神),是一款自动化的、功能全面的资产信息搜集与监测平台。它能有效追踪资产的变化,及时发现新上线的应用或服务,并自动匹配POC(概念验证代码)进行漏洞检测,从而显著提升在SRC(安全应急响应中心)项目中挖掘漏洞的效率。因此,该平台在资产发现、指纹识别和变更监控方面都做了较为细致的设计。

平台适用人群:
- 白帽子。Mars可对指定的SRC项目进行周期性资产搜集与变更监测。
- 乙方安全服务团队。可集中管理客户资产,在新漏洞曝光时第一时间感知风险。
- 甲方安全运营团队。可对内网及互联网资产进行定期探测,发现新开放的端口、服务或内容变更。
- 红蓝对抗参与人员。可用于前期低调的资产搜集与信息收集。
核心功能概览
| 模块 |
能力 |
效果 |
| 客户管理 |
多客户、多项目、服务周期配置 |
资产、漏洞、报告按客户隔离 |
| 资产发现 |
子域名枚举(4种引擎)+C段扫描+Web端口探测 |
自动入库、去重、GPS定位 |
| 变更监测 |
端口/标题/IP解析/域名状态 4维对比 |
周期扫描→变更高亮→钉钉/邮件告警 |
| 指纹识别 |
Web应用、中间件、WAF、CDN、OS、前端框架等20+维度 |
对接TideFinger开源指纹库 |
| POC检测 |
调用pocsuite3,支持拖拽上传POC;按指纹智能分组 |
0Day公布10分钟内可批量验证 |
| 漏洞扫描 |
原生AWVS API对接,支持分布式节点+单节点独占 |
报告自动回传、严重性(severity)过滤 |
| 弱口令检测 |
Hydra驱动,SSH/RDP/FTP/MySQL/SMB等10+协议 |
字典可自定义,结果入库 |
| 分布式扫描 |
扫描节点横向扩展,空闲节点优先抢任务 |
断点续扫、节点异常自动重试 |

30分钟快速部署 - Docker一键启动
Mars提供了高度集成的Docker镜像,一键即可拉起所有核心服务,包括MongoDB、AWVS和Hydra。
# 1. 拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/secplus/mars:1.0
# 2. 创建并运行容器
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
# 3. 启动容器内的全部服务
docker exec tide-mars /bin/bash -c '/bin/bash /root/Mars/start.sh'
部署完成后,访问 http://你的服务器IP:5000 即可登录平台,默认账号密码为 admin / tidesec。
日常运维命令参考:
# 重启容器并启动服务
docker start tide-mars && docker exec tide-mars /bin/bash -c '/bin/bash /root/Mars/start.sh'
# 进入容器手动排错
docker exec -it tide-mars /bin/bash
nohup mongod --dbpath=/data/db --bind_ip 0.0.0.0 --auth &
cd /root/Mars && python mars.py
cd /root/Mars/taskpython/ && python asset_task_scan_v1.0.py
su -l acunetix -c /home/acunetix/.acunetix_trial/start.sh # 可选启动 AWVS
分布式节点扩展
当单节点性能成为瓶颈时,可以轻松扩展分布式扫描节点。
- 将主节点上的
taskpython/ 目录复制到新的服务器。
- 在新服务器上执行
pip install -r requirements.txt 安装依赖。
- 修改
asset_task_scan_v1.0.py 文件中的 MONGODB_CONFIG,将其指向主节点的MongoDB地址。
- 运行
python asset_task_scan_v1.0.py。
- 节点标识默认为主机名,可在文件内修改
scan_node 参数。
平台界面与核心流程速览

主要界面亮点:
| 页面 |
亮点 |
| 登录页 |
灰主流锁屏风格,默认密码可修改 |
| 资产管理 |
智能分组(自动按主域名聚合子域名/C段) |
| 指纹识别 |
20+维度标签,支持自定义Brand |
| 变更监测 |
红色高亮新端口/新标题,支持钉钉/邮件告警 |
| POC管理 |
拖拽上传POC,秒级同步到所有节点 |
| AWVS报告 |
severity ≥ High 自动标红,支持一键导出PDF |
资产发现流程(4种子域引擎互补):
- Sublist3r - 多接口被动收集。
- subDomainsBrute - 高并发字典爆破。
- 百度子域检索 - 搜索引擎补充。
- 三层页面爬取 - 从HTML/JS文件中提取子域。
这种多引擎结合的开源实战策略,能最大化资产发现的覆盖面,是高效渗透测试的基础。
配置与自定义
平台的核心配置文件为 config.py,你可以在这里修改Web登录密码、服务端口、AWVS API密钥等关键信息。这对于企业级安全运维集成至关重要。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : TideSec
# @Time : 18-5-10
# @File : config.py
import os
basedir = os.path.abspath(os.path.dirname(__file__))
class Config:
def __init__(self):
pass
WEB_USER = 'admin' # Web Auth User
WEB_PASSWORD = 'tidesec' # Web Auth Password
POCSUITE_PATH = basedir + '/.mars/views/modules/scanner/pocsuite_plugin/'
AWS_REPORT_PATH = basedir + '/.mars/static/download/' # static file download
WEB_HOST = '0.0.0.0' # Web Server Host
WEB_PORT = 5000 # Web Server Port
UPDATE_URL = 'https://mars.tideseq.net/update' # check update
VERSION = '1.0.0' # scanner version
AWS_URL = 'https://127.0.0.1:13443' # Acunetix Web Vulnerability Scanner Url
AWS_API_KEY = '1986ad8c0a5b3df4d7028d5f3c06e93c1f56bc11f1244d96b17edc08940fbeg' # Acunetix API Key
项目地址
如果你想深入研究其实现原理或进行二次开发,可以访问其GitHub仓库:
https://github.com/TideSec/Mars
Mars通过将资产发现、变更监控、漏洞检测等环节自动化串联,为安全研究人员和运维团队提供了一个强有力的效率工具。无论是用于日常的资产梳理,还是应对突发的漏洞预警,它都能帮助你更快地掌握资产动态并采取行动。在云栈社区,我们持续关注这类能提升工作效率的优秀开源项目。
|