4xrhd/IRkit

GitHub: 4xrhd/IRkit

基于 Bash 的 Linux 事件响应与数字取证工具,自动化采集系统证据并生成完整性校验的 HTML/PDF 报告。

Stars: 1 | Forks: 1

# 🔍 IR-Kit - 事件响应与取证工具包

IR-Kit Logo

## 📚 项目概述 **IR-Kit** 是一个基于 bash 的综合事件响应和取证分析工具,专为在网络安全事件期间快速收集证据而设计。该工具自动执行收集关键系统工件的过程以进行取证调查,并生成支持导出为 PDF 的详细 HTML 报告。 ### 🎯 项目详情 - **大学**: [信息技术与科学大学(UITS)] - **课程**: Linux 编程实验室 - **项目类型**: Bash 脚本编程与数字取证 - **开发者**: *Md Azhar Uddin* & *Sadia Akter Liza* ## 👨‍💻 开发团队 | 姓名 | 角色 | 贡献 | |------|------|-------------| | **Md Azhar Uddin** | 项目负责人 | 核心架构、模块开发、报告系统 | | **Sadia Akter Liza** | 联合开发者 | 证据收集模块、实用工具函数、UX-UI、测试 | ## 🚀 功能 ### 🔍 证据收集模块 - **进程分析** - 正在运行的进程和内存使用情况 - **网络信息** - 活动连接、IP 配置、防火墙规则 - **用户账户分析** - 用户/组信息、登录历史 - **存储分析** - 挂载点和块设备 - **Shell 历史记录** - 用户命令历史收集 - **文件系统分析** - 最近修改的文件 - **计划任务** - Cron 作业分析 - **系统日志** - 认证日志、系统消息、syslog - **可疑活动** - SUID 二进制文件、/tmp 中的可执行文件 ### 📊 报告功能 - **HTML 报告生成** - 美观、响应式的网页报告 - **PDF 导出** - 一键导出为 PDF 格式 - **执行摘要** - 关键指标和发现 - **完整性验证** - 所有证据的 SHA-256 哈希校验 - **交互式界面** - 带有悬停效果的现代 UI ## 🛠️ 安装与设置 ### 前置条件 ``` # 确保所需工具可用 sudo apt-get update sudo apt-get install coreutils findutils tar gzip ``` ### 安装步骤 1. **克隆或下载项目** git clone [https://github.com/4xrhd/IRkit] cd ir-kit 2. **使脚本可执行** chmod +x irkit.sh chmod +x generate_report.sh chmod +x modules/*.sh chmod +x utils.sh 3. **查看配置** nano config.conf 根据需要调整设置: MONITOR_PATH="/var /etc /home" LOOKBACK_MINUTES=240 HASH_ALGO=sha256sum COLOR_OUTPUT=true LOG_LEVEL=INFO ## 🎮 用法 ### 基本执行 ``` ./irkit.sh ``` ### 预期输出 ``` [INFO] Starting IR-Kit — output: /path/to/outputs/IRKIT_20231201_143022 [INFO] Running module: processes [INFO] Running module: network [INFO] Running module: users ... [INFO] Generating HTML report [INFO] Compressing evidence to outputs/IRKIT_20231201_143022.tar.gz [INFO] IR-Kit completed. Archive: outputs/IRKIT_20231201_143022.tar.gz [INFO] HTML Report: outputs/IRKIT_20231201_143022/report.html ``` ### 输出结构 ``` outputs/ └── IRKIT_20231201_143022/ ├── report.html # 📊 Main HTML report ├── EVIDENCE_SHA256.txt # 🔒 Integrity hashes ├── running_processes.txt # ⚡ Process information ├── network_connections.txt # 🌐 Network data ├── passwd_entries.txt # 👥 User accounts ├── mounts.txt # 💾 Storage info ├── history_*.txt # 📜 Shell histories ├── modified_files_*.txt # 📁 File changes ├── user_cron.txt # ⏰ Scheduled tasks ├── suid_binaries.txt # 🚨 Security findings └── [other evidence files...] ``` ## 📋 模块详情 ### 1. 进程模块 (`processes.sh`) - 收集按内存使用量排序的正在运行的进程 - 输出:`running_processes.txt` ### 2. 网络模块 (`network.sh`) - 使用 `ss` 或 `netstat` 获取活动网络连接 - IP 配置和防火墙规则 - 输出:`network_connections.txt`, `ip_brief.txt`, `firewall_rules.txt` ### 3. 用户模块 (`users.sh`) - 来自 `/etc/passwd` 和 `/etc/group` 的用户和组信息 - 最近的登录历史 - 输出:`passwd_entries.txt`, `group_entries.txt`, `last_logins.txt` ### 4. 历史记录模块 (`history.sh`) - 所有用户(包括 root)的 Bash 历史记录 - 输出:`history_[username].txt`, `history_root.txt` ### 5. 可疑活动模块 (`suspicious.sh`) - 用于权限提升分析的 SUID 二进制文件 - 临时目录中的可执行文件 - 输出:`suid_binaries.txt`, `tmp_executables.txt` ## 📊 报告功能 ### HTML 报告包含: - 带有关键指标的**执行摘要** - **收集统计信息**(收集的文件、大小、数量) - **模块执行状态** - **证据文件列表** - **关键发现预览**(主要进程、最近登录) - **完整性验证**(SHA-256 哈希值) - 具有响应式设计的**专业排版** ### PDF 导出: - 使用 html2pdf.js 一键导出 - 针对打印优化的布局 - 专业的报告格式 ## 🔧 配置选项 ### `config.conf` 设置: ``` # 要监控的修改文件路径 MONITOR_PATH="/var /etc /home" # 文件修改的时间窗口(分钟) LOOKBACK_MINUTES=240 # 用于完整性的 Hashing algorithm HASH_ALGO=sha256sum # 彩色控制台输出 COLOR_OUTPUT=true # Logging verbosity LOG_LEVEL=INFO ``` ## 🎓 教育价值 该项目展示了: - **Bash 脚本编程**高级技巧 - **数字取证**证据收集 - **事件响应**程序 - **系统管理**命令 - 用于报告的 **HTML/CSS/JavaScript** - **网络安全**最佳实践 ## 📝 学术考量 ### 学习成果: 1. 了解取证证据收集方法 2. 实施自动化事件响应程序 3. 开发全面的报告系统 4. 实践安全编码和错误处理 5. 为技术工具创建用户友好的界面 ### 为评分准备的潜在增强功能: - 额外的收集模块 - 增强的错误处理 - 用于证据存储的数据库集成 - 时间线分析功能 - 与其他取证工具的集成 ## ⚠️ 重要说明 ### 法律与合规使用: - 仅在您拥有或获得明确测试许可的系统上使用 - 遵守当地法律法规 - 在学术环境中负责任地使用 ### 局限性: - 需要 root 权限才能收集完整的证据 - 某些模块可能无法在所有 Linux 发行版上运行 - 专为教育目的而设计 ## 🐛 故障排除 ### 常见问题: 1. **权限被拒绝错误** sudo ./irkit.sh 2. **缺少依赖项** # Ubuntu/Debian sudo apt-get install coreutils findutils net-tools 3. **脚本不可执行** chmod +x *.sh chmod +x modules/*.sh ## 📞 支持 有关此大学项目的疑问或问题: - 联系人:**Md. Azhar Uddin** & **Sadia Akter Liza** - 课程讲师:**Md. Tasnin Tanvir** ~ 讲师(UITS)~ 库尔纳工程技术大学 (KUET) 计算机科学与工程(B.Sc in CSE) - 课程讲师:**Md. Azharul Karim Chowdhury Anik** ~ 讲师 ~ 萨哈尔贾尔科技大学 (SUST) 计算机科学与工程(B.Sc. (Engg.) in CSE) - 提交日期:[2025年11月18日] ## 📄 许可证 本项目作为大学课程作业的一部分,专为教育目的而开发。开发者保留所有权利。 **🔒 为 Linux 编程的学术卓越而开发** ***Md Azhar Uddin & Sadia Akter Liza** - [信息技术与科学大学] - [2025]*
标签:多模态安全, 应用安全, 数据可视化