Erothan-11/incident-response
GitHub: Erothan-11/incident-response
一款遵循RFC 3227优先级的Linux事件响应自动化证据收集与分析工具。
Stars: 0 | Forks: 0
# 事件响应 - 证据收集器



Linux 事件响应中快速收集证据的脚本。遵循 RFC 3227 的易失性顺序:先收集易失性数据,再收集持久化工件。生成结构化的证据目录、自动化分析、时间线以及可选的 SHA-256 完整性哈希。
## 收集阶段
| 阶段 | 类别 | 收集内容 |
|---|---|---|
| 1 | **易失性数据** | 运行中的进程、打开的文件、内存信息、内核模块、可疑进程检测 |
| 2 | **网络状态** | 活跃连接、监听端口、路由、ARP 缓存、防火墙规则、可疑连接告警 |
| 3 | **用户活动** | 登录用户、登录历史、账户、SSH 密钥、Shell 历史、可疑命令检测 |
| 4 | **持久化** | 计划任务、系统服务单元、初始化脚本、Shell 配置文件、at 任务、SUID/SGID 二进制文件 |
| 5 | **日志** | 认证/系统日志、Journal、审计日志、Web 服务器日志 + 自动分析(失败的 SSH、Web 攻击) |
| 6 | **文件系统** | 最近修改的文件、可疑位置(/tmp、/dev/shm)、可执行文件、世界可写文件、不可变文件 |
| 7 | **时间线** | 从认证事件、文件修改、新用户、新服务自动生成的事件时间线 |
| 8 | **哈希** | 所有收集证据的 SHA-256 完整性哈希(可选) |
## 用法
```
# 标准收集
sudo ./ir-collect.sh
# 完整收集(内存映射、已删除文件、扩展日志)
sudo ./ir-collect.sh --full
# 带证据完整性哈希
sudo ./ir-collect.sh --hash
# 完整 + 哈希 + 自定义输出
sudo ./ir-collect.sh --full --hash --output /mnt/usb/evidence
```
## 输出结构
```
ir__/
├── volatile/ Processes, memory, kernel modules
├── network/ Connections, routes, firewall rules
├── users/ Accounts, logins, history, SSH keys
├── persistence/ Cron, systemd, SUID, shell profiles
├── logs/ Auth, syslog, audit, web + analysis
├── filesystem/ Modified files, suspicious locations
├── timeline/ Event timeline
├── hashes.sha256 Evidence integrity (--hash)
└── collection_metadata.txt
```
## 自动检测
脚本会自动标记:
- 从 `/tmp`、`/dev/shm`、`/var/tmp` 运行的进程
- 二进制文件已被删除的进程
- 连接到已知危险端口(4444、5555、31337...)的连接
- UID 为 0 的用户(除 root 外)
- 最近创建的用户账户
- 可疑的 Shell 历史模式(反向 Shell、Base64、提权)
- 临时目录中的可执行文件
- Web 攻击模式(SQLi、XSS、路径遍历)
## 需求
- Linux(Debian/Ubuntu、RHEL/Rocky/CentOS、Fedora)
- 根权限
- 无外部依赖(纯 Bash)
## 许可证
MIT
标签:Bash, BurpSuite集成, Crontab, CSV导出, ESC漏洞, GPL-3.0, RFC3227, SHA256, Shell历史, SSH密钥, StruQ, SUID, Systemd, 世界可写文件, 入侵响应, 内存信息, 内核模块, 取证, 可疑进程检测, 子域名变形, 安全资源, 完整性校验, 审计日志, 库, 应急响应, 应用安全, 开源安全工具, 持久化工件, 持久化检测, 易失性数据, 用户活动, 系统分析, 网络信息收集, 网络分析, 网络安全审计, 网络状态, 脚本, 自动分析, 证据收集, 证据目录, 进程分析, 逆向工程平台, 防火墙规则