raza360ahmed/IR-SIM

GitHub: raza360ahmed/IR-SIM

一款基于 Python 的事件响应模拟工具,通过解析多源安全日志自动检测攻击模式、提取 IOC 并生成专业 HTML 调查报告。

Stars: 0 | Forks: 0

# 🛡️ IR-Sim — 事件响应模拟工具 ![Python](https://img.shields.io/badge/Python-3.8%2B-blue?logo=python) ![MITRE ATT&CK](https://img.shields.io/badge/MITRE-ATT%26CK-red) ![License](https://img.shields.io/badge/License-MIT-green) ## 📌 工具功能 IR-Sim 模拟了 **SOC 分析师**或**事件响应人员**在安全事件发生后分析日志的工作。它能够解析 Apache、SSH 和防火墙日志,运行 7 个检测模块,提取 IOC,构建按时间顺序排列的攻击时间轴,并生成专业的 HTML IR 报告。 ## ⚡ 检测模块 | 模块 | 检测内容 | 严重性 | |--------|----------------|---------| | SSH 暴力破解 | 60秒内来自同一 IP 的 ≥5 次失败登录 | CRITICAL/HIGH | | 端口扫描 | 来自同一 IP 被拦截的 ≥8 个不同端口 | HIGH | | Web 扫描器 | Nikto、sqlmap 及其他工具的特征 | HIGH | | SQL 注入 | HTTP 请求路径中的 SQLi 模式 | CRITICAL/HIGH | | XSS 尝试 | HTTP 请求中的 JavaScript 注入 | HIGH/MEDIUM | | 敏感文件访问 | 暴露的 .git、.env、备份文件 (HTTP 200) | CRITICAL | | 提权 | Root SSH 登录,sudo 切换至 shell | CRITICAL | ## 🚀 快速开始 ``` git clone https://github.com/raza360ahmed/IR-Sim.git cd IR-Sim # 无需任何依赖!纯 Python 标准库。 # 针对包含的示例日志运行 python main.py --logs logs/samples/ # 特定文件 python main.py --logs logs/samples/apache_access.log logs/samples/auth.log # 运行测试 python -m pytest tests/ -v ``` ## 📁 项目结构 ``` IR-Sim/ ├── main.py # Entry point — orchestrates the pipeline ├── requirements.txt # pytest only ├── README.md ├── .gitignore │ ├── src/ │ ├── parser.py # Multi-format log parser (Apache, SSH, Firewall) │ ├── detector.py # 7 attack detection modules │ ├── ioc.py # IOC extraction + timeline builder │ └── reporter.py # HTML + JSON report generator │ ├── logs/ │ └── samples/ # Realistic sample logs for testing │ ├── apache_access.log │ ├── auth.log │ └── firewall.log │ ├── tests/ │ └── test_irsim.py # 22 unit tests │ └── reports/ # Generated reports (auto-created) ``` ## 📊 报告内容 - **事件已确认/已驳回**横幅,显示整体严重性 - **执行摘要**,包含立即执行的应对措施 - **IP IOC 表** — 所有 IP 被分类为内部/外部/恶意 - **攻击时间轴** — 带有 MITRE ATT&CK 阶段标签的按时间排序的事件 - **7 个告警模块** — 每个模块都包含证据日志和修复步骤 - **IOC 表** — 目标用户名、攻击者工具、受攻击路径、端口 ## 🔬 支持的日志格式 | 格式 | 示例来源 | |--------|---------------| | Apache 组合日志格式 | `/var/log/apache2/access.log` | | SSH 认证日志 | `/var/log/auth.log` (Ubuntu) 或 `/var/log/secure` (CentOS) | | UFW/iptables 防火墙 | `/var/log/ufw.log` 或 `dmesg` | 自动检测功能会读取第一行并自动识别格式。 ## 🧠 涉及概念 - **日志标准化** — Splunk、Elastic SIEM 所使用的相同技术 - **关联规则** — 滑动窗口暴力破解检测 - **MITRE ATT&CK 框架** — 攻击阶段分类 - **IOC 提取** — 任何 IR 工作的核心输出 - **取证实用的正则表达式** — 从非结构化日志数据中提取结构 ## ⚠️ 法律声明 仅供教育和授权使用。请仅针对您自己的基础设施或实验室环境使用。 ## 👤 作者 **Ahmed Raza** 数字取证与网络安全学士 — Hamdard 大学 [GitHub](https://github.com/ahmed360raza) · [LinkedIn](https://linkedin.com/in/ahmed-raza-612683293)
标签:CISA项目, PB级数据处理, Python, SOC分析, URL发现, Web报告查看器, 安全检测, 安全规则引擎, 安全运维, 库, 应急响应, 插件系统, 无后门, 逆向工具