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, 内存取证, 协议探测, 威胁情报, 安全脚本, 安全防御评估, 审计, 容器安全, 库, 应急响应, 应用安全, 开发者工具, 开源安全工具, 恶意软件分析, 提示词模板, 数字取证, 数据包嗅探, 数据恢复, 日志审计, 磁盘雕刻, 程序破解, 系统分类, 系统运维, 网络安全, 网络安全工具, 自动化脚本, 自定义请求头, 证据收集, 请求拦截, 进程转储, 逆向工具, 逆向工程平台, 隐私保护