JeeveshPandey29/ForensicOps-CPP
GitHub: JeeveshPandey29/ForensicOps-CPP
一款模块化的 C++ 数字取证命令行工具,将磁盘镜像、哈希校验、文件完整性监控、元数据提取与时间线生成整合于一体,帮助取证人员高效完成证据采集和完整性分析。
Stars: 0 | Forks: 0
# 取证完整性分析器
一款为数字取证调查设计的模块化 C++ 命令行应用程序。它将磁盘镜像、加密哈希、文件完整性监控、元数据提取和时间线生成整合到了一个套件中。
## 功能特性
- **磁盘镜像获取**:将磁盘或文件逐位复制为 RAW `.dd` 格式。
- **哈希生成器**:使用 OpenSSL 生成 MD5 和 SHA-256 哈希,用于文件和镜像的完整性校验。
- **文件完整性监控 (FIM)**:根据基线监控目录的更改(创建、删除、修改)。
- **元数据提取器**:提取深层文件属性,包括 MAC 时间戳(修改、访问、创建)、大小和文件权限。
- **时间线生成器**:将 FIM 日志和元数据合并为按时间排序的时间线 CSV 报告。
## 🛠️ 前置条件与构建
本项目使用 **CMake** 作为其构建系统,并需要 **OpenSSL** 进行加密哈希处理。
### Windows 设置
1. **安装 CMake**:从 [cmake.org](https://cmake.org/download/) 下载。
2. **安装 OpenSSL**:
- 在 Windows 上最简单的方法是使用 [vcpkg](https://github.com/microsoft/vcpkg) 或下载预编译的二进制文件。
- 如果使用 `vcpkg`,请运行以下命令安装 OpenSSL:`vcpkg install openssl:x64-windows`
3. **构建项目**:
在项目目录(`d:\project c++`)中打开终端并运行:
mkdir build
cd build
# 如果使用 vcpkg,请使用 toolchain 标志。否则,只需运行:cmake ..
cmake .. -DCMAKE_TOOLCHAIN_FILE=[path\to\vcpkg]\scripts\buildsystems\vcpkg.cmake
# 编译代码
cmake --build .
*(注意:编译后的可执行文件 `ForensicIntegrityAnalyzer.exe` 将位于 `build/Debug` 或 `build/Release` 文件夹中,具体取决于您的编译器)。*
## 🚀 如何运行应用程序
该应用程序通过命令行运行。以下是使用各个特定模块的命令。
### 1. 获取磁盘镜像
从源文件或驱动器创建 `.dd` 原始镜像。
```
ForensicIntegrityAnalyzer --acquire
# 示例:ForensicIntegrityAnalyzer --acquire \\.\PhysicalDrive0 backup.dd
```
### 2. 生成文件哈希
计算文件或已获取的 `.dd` 镜像的 MD5 和 SHA-256 哈希值。
```
ForensicIntegrityAnalyzer --hash
# 示例:ForensicIntegrityAnalyzer --hash backup.dd
```
### 3. 文件完整性监控 (FIM)
**步骤 A:创建基线**
扫描目录并将当前状态(文件路径及其哈希值)保存到 CSV 文件中。
```
ForensicIntegrityAnalyzer --fim-baseline
# 示例:ForensicIntegrityAnalyzer --fim-baseline C:\important_data baseline.csv
```
**步骤 B:检查完整性**
将当前目录与之前保存的基线进行比较,以查找修改、删除和新增内容。(这些事件将被记录到 `analyzer.log` 中)。
```
ForensicIntegrityAnalyzer --fim-check
# 示例:ForensicIntegrityAnalyzer --fim-check C:\important_data baseline.csv
```
### 4. 提取元数据
提取目录中所有文件的 MAC 时间戳(修改、访问、创建)和大小,并输出 CSV 报告。
```
ForensicIntegrityAnalyzer --metadata
# 示例:ForensicIntegrityAnalyzer --metadata C:\important_data report.csv
```
### 5. 生成时间线
将 FIM 记录的事件与目录的时间戳元数据结合,创建按时间排序的主时间线 CSV。
```
ForensicIntegrityAnalyzer --timeline
# 示例:ForensicIntegrityAnalyzer --timeline analyzer.log C:\important_data timeline.csv
```
标签:Bash脚本, C++, CMake, dd镜像, HTTP工具, MAC时间戳, MD5, OpenSSL, ProjectDiscovery, SHA-256, x64dbg, 元数据提取, 加密哈希, 原始磁盘拷贝, 域渗透, 安全合规, 安全测试工具, 数字取证, 数据保护, 数据擦除, 电子数据取证, 磁盘镜像, 网络代理, 网络安全, 网络安全审计, 自动化脚本, 跨平台开发, 进程保护, 隐私保护