mahmed2017/socguard-pro

GitHub: mahmed2017/socguard-pro

SOCGuard Pro 是一款面向 SOC 分析师的命令行事件响应工具,支持多源日志解析、攻击检测、威胁情报关联、MITRE ATT&CK 映射及自动化报告生成。

Stars: 0 | Forks: 0

# SOCGuard Pro **SOC 检测、威胁情报与事件响应 CLI** SOCGuard Pro 是一款适用于 SOC(安全运营中心)分析师的生产级命令行工具。它能够解析异构日志源,检测真实世界的攻击模式,利用威胁情报丰富入侵指标(IOC),对事件严重性进行评分,并生成供分析师直接使用的事件报告。 ## 功能 - **多源日志标准化** — Windows 事件日志(文本导出)、Linux `auth.log`、Apache/Nginx 访问日志、JSON 应用程序日志以及 CSV SIEM 导出文件,全部标准化为单一的内部 schema。 - **高级检测引擎** - 暴力破解检测(基于 IP、基于用户名、自适应阈值、滑动时间窗口) - 凭据填充检测(分布式 IP → 大量账户) - 不可能旅行检测(地理距离 + 时间增量分析) - 权限提升检测(sudo 激增、组成员身份变更、敏感命令) - 恶意软件行为检测(PowerShell 编码命令、temp/AppData 执行、可疑进程链) - 成功入侵检测(登录失败后紧接着登录成功) - 反取证检测(审计日志清除) - **威胁情报丰富** — VirusTotal 风格和 AbuseIPDB 风格的 IP/域名/哈希信誉评分,结合基于 WHOIS 的域名年龄分析。如果设置了 `VT_API_KEY` / `ABUSEIPDB_KEY` 环境变量,则使用实时 API,否则回退到真实的模拟层。 - **MITRE ATT&CK 映射** — 每个发现都会映射到一个技术 ID、技术名称和战术。 - **事件严重性评分** — 跨登录失败、成功入侵、恶意软件指标、权限提升和 IOC 匹配的加权 0–100 分数。 - **自动化 SOC 报告生成** — 执行摘要、时间线、受影响资产、攻击链、MITRE 映射、IOC 列表和建议操作,可导出为 `.txt`、`.json` 或 `.html`。 - **实时监控模式** — `tail -f` 风格的连续日志监控,具有即时告警功能。 - **响应建议引擎** — 基于规则的、按优先级排序的补救措施(封锁 IP、禁用账户、重置密码、隔离 endpoint、升级)。 ## 安装 ``` git clone https://github.com/yourusername/socguard-pro.git cd socguard-pro pip install -r requirements.txt pip install -e . ``` 安装后,`socguard` 命令将全局可用。或者,也可以通过以下方式直接运行: ``` python main.py [options] ``` ## 快速开始 ``` # 扫描日志文件以查找威胁 socguard scan --file samples/auth.log # 结合威胁情报扩充进行扫描 socguard scan --file samples/auth.log --enrich # 计算事件严重性评分 socguard score --file samples/auth.log # 扩充 IOC 列表 socguard enrich --ioc samples/iocs.txt # 生成完整事件报告 (txt + json + html) socguard report --file samples/auth.log --format all # 实时监控 (tail -f 方式) socguard monitor --file samples/auth.log ``` ## 命令参考 ### `socguard scan` 分析日志文件并打印检测结果、事件评分和建议操作。 ``` socguard scan --file auth.log [--enrich] [--output results.json] [--quiet] ``` | 选项 | 描述 | |---|---| | `--file, -f` | 日志文件路径(必填) | | `--enrich/--no-enrich` | 使用威胁情报丰富检测到的 IP | | `--output, -o` | 保存原始 JSON 结果以供 `socguard report` 使用 | | `--quiet, -q` | 仅输出 JSON,不输出格式化表格 | ### `socguard monitor` 持续监控日志文件(类似于 `tail -f`),并在检测到攻击时发出实时告警。 ``` socguard monitor --file /var/log/auth.log [--interval 1.0] [--enrich] ``` ### `socguard enrich` 使用威胁情报丰富一个或多个 IOC(IP、域名或文件哈希)。 ``` socguard enrich --ioc 185.220.101.45 socguard enrich --ioc "185.220.101.45,malware-c2.example.net" socguard enrich --ioc samples/iocs.txt --output enrichment.json ``` ### `socguard report` 根据先前扫描的 JSON 输出或直接从原始日志文件生成完整的 SOC 事件报告。 ``` socguard report --input results.json --format html socguard report --file auth.log --format all --out-dir reports/ ``` | 选项 | 描述 | |---|---| | `--input, -i` | 来自 `socguard scan --output` 的 JSON 结果 | | `--file, -f` | 原始日志文件(扫描 + 一步生成报告) | | `--format, -fmt` | `txt`、`json`、`html` 或 `all`(默认值:`all`) | | `--enrich/--no-enrich` | 从 `--file` 扫描时包含 IOC 丰富信息 | | `--out-dir, -d` | 输出目录(默认值:`reports/`) | ### `socguard score` 计算并显示 0–100 事件严重性评分及其因素细分。 ``` socguard score --file auth.log [--enrich] ``` ## 项目结构 ``` socguard-pro/ ├── socguard/ │ ├── core/ # Log schema + multi-source normalizer │ ├── detection/ # Detection engine + response recommendations │ ├── enrichment/ # Threat intelligence (VT/AbuseIPDB/WHOIS) │ ├── mitre/ # MITRE ATT&CK technique mapping │ ├── reporting/ # txt/json/html report generation │ ├── scoring/ # Incident severity scoring │ └── cli.py # Click-based CLI entry point ├── samples/ # Sample logs and IOC files ├── tests/ # Unit tests ├── requirements.txt ├── setup.py ├── README.md └── main.py # Standalone entry point ``` ## 实时威胁情报(可选) 默认情况下,丰富功能使用真实的**模拟层**,因此该工具无需 API key 即可开箱即用。要使用实时数据: ``` export VT_API_KEY="your_virustotal_api_key" export ABUSEIPDB_KEY="your_abuseipdb_api_key" ``` 设置这些变量后,`socguard enrich` 和 `--enrich` 扫描将查询真实的 VirusTotal 和 AbuseIPDB API,并在出错时回退到模拟。 ## MITRE ATT&CK 覆盖范围 | 技术 | 名称 | 战术 | |---|---|---| | T1110 | Brute Force | Credential Access | | T1110.004 | Credential Stuffing | Credential Access | | T1078 | Valid Accounts | Defense Evasion / Persistence / Initial Access | | T1098 | Account Manipulation | Persistence | | T1059 / T1059.001 | Command and Scripting Interpreter / PowerShell | Execution | | T1055 | Process Injection | Defense Evasion / Privilege Escalation | | T1548 | Abuse Elevation Control Mechanism | Privilege Escalation | | T1070.001 | Clear Windows Event Logs | Defense Evasion | ## 示例输出 ``` ╭────────────────────────────────────────────────╮ │ SOCGuard Pro v1.0.0 │ │ SOC Detection, Threat Intelligence & Incident │ │ Response CLI │ ╰────────────────────────────────────────────────╯ Scanning: samples/auth.log Events parsed: 35 Detection Findings ┏━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳ ┃ Severity ┃ Rule ┃ Title ┃ MITRE ┃ ┡━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇ │ CRITICAL │ SGP-006 │ Successful Login After... │ T1078 │ │ CRITICAL │ SGP-007 │ Audit Log Clearing Detected │ T1070...│ │ HIGH │ SGP-001 │ Brute Force Login Attack │ T1110 │ ... ``` ## 测试 ``` pip install pytest pytest tests/ ``` ## 许可证 MIT 许可证 — 请参阅 `LICENSE` 文件。 ## 免责声明 本工具附带用于演示/离线使用的模拟威胁情报层。对于生产部署,请配置实时 API key(`VT_API_KEY`、`ABUSEIPDB_KEY`),并在依赖自动化响应建议之前,根据您环境的基准审查所有检测阈值。
标签:DNS 反向解析, Python, Web报告查看器, 威胁情报, 子域名变形, 安全运营, 库, 应急响应, 开发者工具, 扫描框架, 无后门, 红队行动, 逆向工具