Ume-Habiba-0x/ASRCE

GitHub: Ume-Habiba-0x/ASRCE

ASRCE是一个自动化攻击面侦察与分类引擎,通过子域名发现和风险评估帮助用户识别关键资产暴露问题。

Stars: 0 | Forks: 0

# ASRCE — 攻击面侦察与分类引擎 ## 什么是 ASRCE? ASRCE 是一个自动映射组织完整攻击面的多阶段侦察流程。它能发现子域名,通过 DNS 和 HTTP 数据丰富信息,并根据风险级别进行分类——让你清楚地知道首先应该关注哪里。 大多数侦察工具只是输出原始列表,让你自己判断哪些重要。ASRCE 会告诉你哪些是关键以及原因。 ## 流程 ``` Target Domain ↓ [1] Orchestration — Subfinder + Amass in parallel ↓ [2] Normalization — Deduplicate, validate, wildcard detection ↓ [3] Enrichment — DNS (dnsx) + HTTP (httpx) analysis ↓ [4] Risk Scoring — CRITICAL / HIGH / MEDIUM / LOW classification ↓ [5] JSON Report — output/report_.json ``` ## 安装说明 ``` git clone https://github.com/Ume-Habiba-0x/ASRCE.git cd ASRCE python3 -m venv venv source venv/bin/activate pip install -r requirements.txt ``` **必需工具:** ``` # 先安装 Go(如果尚未安装) sudo apt install golang-go -y # ProjectDiscovery 工具 go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest go install -v github.com/projectdiscovery/dnsx/cmd/dnsx@latest # Amass sudo apt install amass -y ``` 将 Go 二进制文件添加到 PATH: ``` echo 'export PATH=$PATH:$(go env GOPATH)/bin' >> ~/.bashrc source ~/.bashrc ``` ## 使用方法 ``` # 完全扫描 python3 main.py -d target.com # 完全扫描(最小输出) python3 main.py -d target.com --silent # 重新分类现有扫描数据而无需重新扫描 python3 main.py --report-only ``` ## 输出 每次扫描都会在 `output/report_.json` 生成结构化 JSON 报告。 ``` { "meta": { "tool": "ASRCE v2.0", "generated_at": "2026-01-01T00:00:00+00:00" }, "summary": { "total": 45, "critical": 1, "high": 8, "medium": 28, "low": 8 }, "critical": [ { "host": "staging.example.com", "ip": ["192.0.2.1"], "cname": ["example.herokuapp.com"], "risk": "CRITICAL", "reasons": ["Potential subdomain takeover → herokuapp.com"] } ], "high": [ { "host": "dev.example.com", "ip": ["192.0.2.2"], "cname": [], "risk": "HIGH", "reasons": [ "Direct IP exposure — no CDN or WAF protection", "Sensitive keyword 'dev' — not behind CDN" ] } ] } ``` ## 风险分类 | 风险级别 | 判定标准 | |----------|----------| | CRITICAL | 存在子域名接管风险、TLS 证书已过期 | | HIGH | 直接暴露 IP 地址、包含敏感关键词但未使用 CDN、TLS 配置薄弱 | | MEDIUM | 主机存活但位于 CDN 后方、使用过时技术栈、内部 CNAME 别名 | | LOW | 主机存活且位于真正的 CDN 后方、无明显问题 | ## 处理的边界情况 | 优先级 | 问题 | 解决方案 | |--------|------------------|---------------------------------------------------------------| | CRITICAL | 通配符 DNS | 模式检测——标记出拥有 50 个以上匹配子域名的域名 | | HIGH | 频率限制 | 请求节流 + amass 超时回退 | | HIGH | HTTP/HTTPS 不匹配 | 在标记主机失效前检查两种协议 | | MEDIUM | CNAME 链 | 在丰富化模块中进行完整链路遍历 | | LOW | 负载均衡器 IP | 从风险输出中过滤掉 | ## 项目结构 ``` ASRCE/ ├── main.py # Entry point ├── requirements.txt ├── modules/ │ ├── orchestrator.py # Parallel subdomain discovery │ ├── normalizer.py # Dedup, validation, wildcard detection │ ├── enricher.py # DNS + HTTP enrichment │ ├── risk_scorer.py # Risk classification engine │ └── output.py # Reserved for future export formats ├── data/ # Generated at runtime ├── output/ # Reports generated at runtime └── docs/ ├── architecture.md ├── decisions.md └── edge_cases.md ``` ## 法律声明 (此处原内容为空,翻译时保留空位) ## 文档资料 - [架构设计](docs/architecture.md) — 流程设计与模块分解 - [设计决策](docs/decisions.md) — 每项决策背后的原因 - [边界情况](docs/edge_cases.md) — 常规工具会失效的场景及 ASRCE 的应对方法
标签:AES-256, DNS分析, Go语言, HTTP分析, JSON报告, ProjectDiscovery, Python, TShark, 动态插桩, 子域发现, 攻击面映射, 数据保护, 无后门, 日志审计, 漏洞评估, 程序破解, 网络安全, 自动化侦察, 运行时操纵, 逆向工具, 隐私保护, 风险分类, 风险评分