alisalive/RedSEC

GitHub: alisalive/RedSEC

一款红队日志聚合与关联工具,将多种进攻安全工具的输出统一解析并映射 MITRE ATT&CK,生成攻击链、检测风险评估以及可直接导入 SEC 的规则和 HTML 报告。

Stars: 1 | Forks: 0

# RedSEC **红队日志聚合、关联与 SEC 导出工具。** RedSEC 收集 offensive security 工具的输出,将事件关联为 攻击链,映射至 MITRE ATT&CK 技术,评估检测风险, 并将结果导出至 Risto Vaarandi 的 SEC (Simple Event Correlator) 格式 以及一份暗色主题的 HTML 报告。 SEC 项目:https://github.com/simple-evcorr/sec ## 功能特性 - 9 个工具解析器 — nmap、subfinder、ffuf、feroxbuster、nuclei、sqlmap、hydra、 metasploit、impacket - 基于 YAML 的攻击链关联 — 规则在可配置的时间窗口内匹配事件序列 - MITRE ATT&CK 映射 — 每个事件自动 enrich 并附带技术 ID 和战术名称 - 检测风险启发式算法 — 评分(0.0 至 1.0)基于工具、事件类型和端口, 估算每个事件的 SOC 检测可能性 - SEC 导出 — 生成包含 type=Single 和 type=EventGroup 规则的 .conf 文件, 可直接供 Vaarandi 的 SEC daemon 使用 - HTML 报告 — 暗色主题时间轴,包含严重性徽章、MITRE 技术标签 和检测风险条;无外部依赖 - 跨平台 — Windows、Linux、macOS ## 安装说明 ``` git clone https://github.com/alisalive/redsec cd redsec pip install -e . ``` ## 使用方法 使用 nmap 和 nuclei 输出的基本扫描: ``` redsec scan --nmap scan.xml --nuclei findings.jsonl ``` 包含多种工具和所有输出的完整 pipeline: ``` redsec scan --nmap scan.xml --subfinder subs.json --ffuf dirs.json --nuclei vulns.jsonl --hydra creds.txt --out-html report.html --out-sec rules.conf --out-json results.json ``` 打印版本和 SEC 工具参考: ``` redsec version ``` ## 工作原理 ``` Tool output files | v Parsers (per-tool) -- normalize to RedSecEvent | v MitreMapper -- enrich with T-ID and tactic | v DetectionScorer -- assign risk score 0.0-1.0 | v CorrelationEngine -- match YAML rules -> AttackChains | v SecExporter -- write .conf (Single + EventGroup rules) HtmlExporter -- write dark-theme HTML report JsonExporter -- write raw JSON (optional) ``` ## SEC 集成 RedSEC 为每个攻击链生成两种类型的 SEC 规则: type=Single 规则在每个匹配的日志行触发一次。每个解析后的事件将变成 一个 Single 规则,其 RegExp 模式基于工具、event_type 和 target 进行锚定: ``` type=Single ptype=RegExp pattern=\S+ nmap port_scan 10\.0\.0\.1 desc=redsec_FULL_ATTACK_CHAIN_nmap_port_scan_a1b2c3d4 action=pipe echo "CHAIN: Full Attack Chain | EVENT: port_scan | TARGET: 10.0.0.1 | MITRE: T1046" ``` type=EventGroup 规则在关联窗口内攻击链中的所有事件均匹配时触发。每条攻击链 对应一个 EventGroup 完成规则: ``` type=EventGroup ptype=RegExp pattern=REDSEC_CHAIN_COMPLETE_FULL_ATTACK_CHAIN sub=redsec_FULL_ATTACK_CHAIN_nmap_port_scan_a1b2c3d4 sub=redsec_FULL_ATTACK_CHAIN_nuclei_vuln_found_e5f6a7b8 sub=redsec_FULL_ATTACK_CHAIN_metasploit_exploit_success_c9d0e1f2 desc=Chain complete: Full Attack Chain action=pipe echo "REDSEC CHAIN COMPLETE: Full Attack Chain | severity=critical | techniques=T1046,T1190" ``` 将输出导入 SEC: ``` sec --conf=redsec_rules.conf --input=combined.log ``` ## 支持的工具 ``` Tool Phase Output flag ------------- ------------------------ ------------------ nmap Port scan -oX (XML) subfinder Subdomain recon -oJ (JSON) ffuf Web fuzzing -o -of json feroxbuster Directory fuzzing --output (JSONL) nuclei Vulnerability scan -json (JSONL) sqlmap SQL injection --output-dir (JSON) hydra Brute force -o (text) metasploit Exploitation/Post-ex JSON export impacket AD/Post-exploitation text (secretsdump) ``` ## MITRE ATT&CK 覆盖范围 ``` Technique Tactic Name ----------- ------------------- ----------------------------------- T1046 Discovery Network Service Discovery T1595 Reconnaissance Active Scanning T1083 Discovery File and Directory Discovery T1190 Initial Access Exploit Public-Facing Application T1110 Credential Access Brute Force T1078 Defense Evasion Valid Accounts T1021 Lateral Movement Remote Services T1003 Credential Access OS Credential Dumping T1059 Execution Command and Scripting Interpreter T1018 Discovery Remote System Discovery T1133 Initial Access External Remote Services ``` ## 项目结构 ``` redsec/ ├── redsec/ │ ├── __init__.py │ ├── cli.py │ ├── parsers/ │ │ ├── base.py │ │ ├── nmap.py │ │ ├── subfinder.py │ │ ├── ffuf.py │ │ ├── feroxbuster.py │ │ ├── nuclei.py │ │ ├── sqlmap.py │ │ ├── hydra.py │ │ ├── metasploit.py │ │ └── impacket.py │ ├── models/ │ │ ├── event.py │ │ └── chain.py │ ├── correlation/ │ │ ├── engine.py │ │ └── rules/ │ │ └── default.yaml │ ├── mitre/ │ │ └── mapper.py │ ├── scoring/ │ │ └── detection.py │ └── exporters/ │ ├── sec.py │ ├── html.py │ └── json.py ├── tests/ ├── docs/ │ └── THEORETICAL_BACKGROUND.md ├── CLAUDE.md ├── README.md └── pyproject.toml ``` ## 作者 alisalive — https://github.com/alisalive ## 致谢 由 Risto Vaarandi 开发的 SEC (Simple Event Correlator) — https://ristov.github.io/ SEC 是 RedSEC 的核心集成目标。EventGroup 关联 模型以及 Single/EventGroup 规则格式均为 Vaarandi 的原创设计。 没有 SEC,RedSEC 就不会存在。
标签:CISA项目, Cloudflare, HTML报告, MITRE ATT&CK, PE 加载器, Python, SEC导出, YAML, 事件关联, 多模态安全, 安全分析与可视化, 安全库, 安全测试, 工具集成, 归一化解析, 插件系统, 攻击性安全, 攻击模拟, 攻击链映射, 数据展示, 文档结构分析, 无后门, 日志聚合, 检测风险评估, 红队, 网络安全, 网络安全审计, 逆向工具, 隐私保护, 驱动签名利用