raza360ahmed/IR-SIM
GitHub: raza360ahmed/IR-SIM
一款基于 Python 的事件响应模拟工具,通过解析多源安全日志自动检测攻击模式、提取 IOC 并生成专业 HTML 调查报告。
Stars: 0 | Forks: 0
# 🛡️ IR-Sim — 事件响应模拟工具



## 📌 工具功能
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报告查看器, 安全检测, 安全规则引擎, 安全运维, 库, 应急响应, 插件系统, 无后门, 逆向工具