TazWake/Public

GitHub: TazWake/Public

一个覆盖证据收集、内存分析、恶意软件检测、日志分析和容器取证的综合性数字取证与事件响应工具集,内置多种容器化分析环境和自定义 Volatility 插件。

Stars: 42 | Forks: 6

# DFIR 工具仓库 数字取证与事件响应(DFIR)工具、脚本和容器化环境的综合集合,专为网络安全专业人员和研究人员打造。 ## 仓库结构 ### 🔧 Applications/ C 和 Go 实现的分析工具 - `malreview.c` - 用于文件检查的恶意软件分析工具的 C 语言实现 - `malreview.go` - 用于文件检查的恶意软件分析工具的 Go 语言实现 ### Bash/ 适用于 Linux/macOS 取证操作的生产级 Shell 脚本 #### 证据收集与系统分析 - `evidence_collector.sh` - 遵循 RFC3227 指南的综合 Linux 证据收集脚本 - `triageScan.sh` - 快速系统分类与可疑活动检测 - `triage_template.sh` - 标准化分类程序模板 - `docker_triage.sh` - 针对容器的取证数据收集 - `cron_collector.sh` - 自动收集计划任务 (scheduled task) 工件 #### 内存分析 - `memory_precook.sh` - 用于内存镜像的自动化 Volatility 分析套件 - `proc_dumper.sh` - 进程内存转储工具 - `install_vol.sh` - Volatility 框架安装脚本 #### 文件系统与磁盘分析 - `VMDK_Carver.sh` - 使用 TSK 从 VMDK 镜像中进行 NTFS 数据雕复 - `ext4_inode_extractor.sh` - 从 ext4 文件系统提取 inode 信息 - `xfs_inode_converter.sh` - XFS 文件系统 inode 分析工具 - `check_lvm2.sh` - LVM2 逻辑卷分析 - `apfs_setup.sh` - APFS 文件系统准备与分析 #### 恶意软件分析 - `malanalyze.sh` - 基础恶意软件分析,输出格式化为适用于 LLM 分析 - `malanlyze_chatgpt.sh` - 专用于 ChatGPT 输入格式的恶意软件分析 - `mkbomb.sh` - 用于分析验证的测试文件生成 #### 网络与安全 - `iplookups.sh` - 用于威胁情报的批量 IP 地址 WHOIS 分析 - `authCheck.sh` - 身验证与授权审计脚本 - `setAuditD.sh` - 配置 auditd 以进行全面的系统监控 - `setAuditD_RHEL.sh` - 针对 RHEL 的特定 auditd 配置 #### 日志分析 - `journalConverter.sh` - 转换 systemd journal 日志以供分析 - `journalTriage.sh` - 对 systemd journal 条目进行事件分类 - `timestampCheck.sh` - 时间戳分析与验证 #### 专用工具 - `GenELF_file_better.sh` - 生成用于测试的 ELF 样本文件 - `multi_Files.sh` - 批量文件处理工具 - `fileshred.sh` - 安全文件删除工具 - `exifevidence.sh` - 从图像中提取 EXIF 元数据 - `class_prep.sh` - 课堂/实验室环境准备 - `sift_mac_apt.sh` - SIFT 工作站 macOS APT 安装 - `macos_evidence.sh` - 特定于 macOS 的证据收集 - `dockAnalyse.sh` - Docker 容器分析 - `install_container_diff.sh` - 容器 diff 工具安装 #### Rootkits/ (教学用途) - `Makefile` - 内核模块编译的构建配置 - `sample_LKM.c` - 用于教学目的的 Linux 内核模块 (LKM) 样本 ### Python/ 用于取证分析的 Python 工具 - `exifcheck.py` - DOCX 元数据提取工具 - `fastfluxfinder.py` - 用于检测快速通量 DNS (fast flux DNS) 模式的网络分析工具 - `inode_reader.py` - 底层文件系统 inode 分析工具 ### Powershell/ 针对 Windows 的取证与安全脚本 - `collectEvidence.ps1` - 使用 KAPE 和 MRC 进行全面的 Windows 证据收集 - `Enable_PowerShellDetailedAuditing.ps1` - 启用详细的 PowerShell 执行日志记录 - `set_logging.ps1` - 配置 Windows 安全日志记录 - `setAuditing.ps1` - Windows 审核策略配置 - `setContextMenu.ps1` - 用于取证工具的自定义上下文菜单项 - `FolderCheck.ps1` - 目录完整性与分析脚本 - `botnetcheck.ps1` - 僵尸网络感染检测脚本 - `collect_timestamps.ps1` - Windows 时间戳收集与分析 ### Vol2.6/ (已弃用) Volatility 2.6 内存分析插件 - `ramscan.py` - 进程列表结合 VAD 分析,用于查找可疑的 RWX 内存区域 - `triagecheck.py` - 针对明显恶意活动指标的快速内存分类 - `cmdcheck.py` - 分析 cmd.exe 句柄以检测后门 - `Fastvadscan.py` - 无需文件提取的快速 VAD 扫描 - `pathcheck.py` - 识别从可疑位置加载的可执行文件 ### Vol3/ Volatility 3 内存分析插件 - `fasttriage.py` - 针对 Volatility 3 框架的现代化分类插件 ### 🐳 docker/ 容器化分析与测试环境 #### 日志分析平台 ##### Analysis_ELK/ - 完整的 ELK 栈,用于日志分析 - 预配置支持 Apache、auditd、syslog、messages、auth.log 和 secure 日志 - 预期日志存放于 `/cases/logstore` 目录 - 访问 Kibana: ##### Analysis_OpenSearch/ - 替代 ELK 栈的 OpenSearch 方案 - 访问控制面板: ##### LogFileAnalysisWithElastic/ - 带有自动化设置功能的增强型日志分析环境 - 包含用于摄取管道 (ingest pipelines) 和时间戳解析的设置脚本 - 运行 `./setup.sh` 进行自动化配置 - 可通过 `./check-status.sh` 检查状态 #### 恶意软件分析环境 ##### MalwareAnalyzer/ - 容器化的恶意软件分析环境 - 用于安全恶意软件检查的隔离环境 - 将当前目录挂载至 `/analysis` 以进行文件分析 - 结果写入 `./results` 目录 ##### maldoc/ - 用于分析恶意文档的专用环境 - 提供用于文档元数据提取和内嵌对象分析的工具 #### 安全测试环境 ##### testingweb/ - 用于安全测试的含有漏洞的 PHP/MySQL Web 应用程序 - 包含 phpMyAdmin 界面 - MySQL 凭证:root/NINJAROOTPASSWORD - 访问 Web 界面: ##### nmap_real/ - 带有监控功能的生产级 nmap 扫描环境 - 包含 Grafana 控制面板和 Prometheus 指标 - 针对大规模扫描操作进行了优化 ##### nmaper/ - 轻量级的容器化 nmap 扫描环境 - 用于网络侦察任务的快速部署 ##### re_docker/ - 逆向工程 Docker 环境 - 提供用于二进制分析和逆向工程的工具 ### Range/ 多容器网络测试环境 - Kali Linux 容器 (10.10.10.10) - 攻击平台 - Nmap 扫描器容器 (10.10.10.11) - 网络侦察 - Ubuntu 目标容器 (10.10.10.12) - 受害者系统 - 隔离的 10.10.10.0/24 网络用于安全测试 ### EvidenceGenerator/ 用于培训和测试的合成证据生成器 - `generate_data.py` - 生成逼真的取证工件 - `webgen.py` - Web 日志生成工具 - 使用提供的 grep 模式过滤生成的日志,以移除私有 IP 地址 ### Examples/ 样本数据与文档 - `GenericPotato.md` - 权限提升技术文档 - `GenericPotato.zip` - 用于 Potato 攻击向量的样本文件 ### JupyterNotebooks/ 用于数据分析和取证工作流的 Jupyter Notebooks - `Test2.ipynb` - 演示数据分析技术的示例 Notebook - 用于取证数据探索和可视化的交互式环境 ### plaso/ Log2timeline/plaso 配置文件 - `filter_linux.txt` - 针对 Linux 的特定时间线过滤规则 - `filter_linux.yaml` - YAML 格式的 Linux 时间线过滤器 - 为在 Linux 系统上进行高效的时间线分析而预先配置的过滤器 ### 文档 - `dfir_collection.md` - DFIR 收集方法论文档 - `README.md` - 本文件,全面的仓库文档 - `CLAUDE.md` - Claude Code 处理此仓库时的指导准则 ## 快速入门 ### Docker 环境 ``` # 启动 ELK stack 进行日志分析 cd docker/Analysis_ELK && docker-compose up -d # 通过 http://localhost:8889 访问 Kibana # 启动增强型日志分析(含自动化设置) cd docker/LogFileAnalysisWithElastic ./setup.sh docker-compose up -d # 启动 OpenSearch 替代方案 cd docker/Analysis_OpenSearch && docker-compose up -d # 通过 http://localhost:8899 访问仪表盘 # 启动恶意软件分析环境 cd docker/MalwareAnalyzer && docker-compose up -d # 启动测试靶场(隔离网络) cd Range && docker-compose up -d # 启动易受攻击的 Web 应用以进行安全测试 cd docker/testingweb && docker-compose up -d # 通过 http://localhost:9999 访问 # 启动带监控的 nmap 扫描环境 cd docker/nmap_real && docker-compose up -d ``` ### 使用 Volatility 进行内存分析 ``` # 自动化 Volatility 分析 ./Bash/memory_precook.sh memory.img Win7SP1x64 # 使用 Vol3 进行快速分类 python vol.py -p Vol3 -f memory.img windows.fasttriage ``` ### 证据收集 ``` # Linux 取证收集 sudo ./Bash/evidence_collector.sh /mnt/evidence # Windows 取证收集 .\Powershell\collectEvidence.ps1 ``` ### 构建应用程序 ``` # C 应用程序(需要 C++17 支持) g++ -std=c++17 -o malreview Applications/malreview.c -lstdc++fs # Go 应用程序(需要 Go 1.16+) go build -o malreview Applications/malreview.go # Kernel 模块(需要 kernel headers) cd Bash/rootkits/ make all # Build kernel module make clean # Clean build artifacts ``` ## 前置条件与依赖 ### 核心要求 - **Docker 与 Docker Compose** - 用于容器化分析环境 - **Python 3.x** - 用于 Python 工具和 Volatility 插件 - **Bash/Shell** - 用于执行 Shell 脚本(在 Windows 上使用 WSL2) ### 内存分析要求 - **Volatility Framework** - vol.py 必须在 PATH 中 - **合适的内存配置文件** - 需与您的内存镜像操作系统版本相匹配 - **dwarfdump 工具** - 用于高级内存分析 ### 证据收集工具 - **LiME (Linux Memory Extractor)** - 用于在 Linux 上进行内存捕获 - **The Sleuth Kit (TSK)** - 用于 VMDK 雕复和文件系统分析 - **ewfacquire** - 用于磁盘镜像(或使用 dd 作为备选) ### 日志分析平台要求 - **ELK Stack** - 预期日志存放在 `/cases/logstore` 目录 - 在启动 ELK 容器之前,如果缺少 `/cases/logstore` 请先创建 ### 开发工具 - **C++17 编译器** - 用于 C 应用程序编译 - **Go 1.16+** - 用于 Go 应用程序开发 - **Kernel headers** - 用于 Linux 内核模块开发 (`linux-headers-$(uname -r)`) - **ShellCheck** - 推荐用于 Bash 脚本验证 ### 可选工具 - **KAPE** - Windows 证据收集 (collectEvidence.ps1) - **MRC (Magnet Response Collection)** - Windows 取证 - **Jupyter** - 用于交互式数据分析 Notebooks ## 重要提示 ### 安全上下文 本仓库中的所有工具均仅设计用于**防御性安全和合法的取证分析**。本仓库包含: - 教学材料(内核模块、Rootkit) - 合法的取证工具 - 安全测试环境 ### 证据处理 脚本遵循 RFC3227 数字证据指南: - 自动完整性验证(MD5/SHA1 哈希) - 全面记录所有操作 - 包含证据保管链文档 ### 最佳实践 - 始终以适当的权限运行证据收集脚本 - 验证所收集证据的校验和 - 维护适当的证据保管链文档 - 在隔离环境中进行恶意软件分析 - 查看脚本标头以了解具体的依赖项 ## 许可证 详见 [LICENSE](LICENSE)。 ## 贡献 本仓库包含生产级 DFIR 工具。贡献应: - 遵循现有的代码风格与结构 - 包含适当的文档 - 使用具有描述性的变量/函数名 - 添加错误处理和日志记录 - 独立的脚本标头中包含使用说明
标签:AI合规, APFS, Auditd, Bash, ChatGPT, DAST, DNS枚举, Docker, ESC漏洞, ext4, Go语言, HTTP工具, HTTP请求, Linux取证, LLM分析, LVM2, macOS取证, NTFS, Promptflow, SecList, Shell脚本, VMDK, Web截图, WHOIS查询, XFS, 内存取证, 协议探测, 威胁情报, 安全脚本, 安全防御评估, 审计, 容器安全, 库, 应急响应, 应用安全, 开发者工具, 开源安全工具, 恶意软件分析, 提示词模板, 数字取证, 数据包嗅探, 数据恢复, 日志审计, 磁盘雕刻, 程序破解, 系统分类, 系统运维, 网络安全, 网络安全工具, 自动化脚本, 自定义请求头, 证据收集, 请求拦截, 进程转储, 逆向工具, 逆向工程平台, 隐私保护