xtr4ng3-oxlgr/coldcase
GitHub: xtr4ng3-oxlgr/coldcase
COLDCASE 是一个用 Rust 构建的本地数字取证 triage 工作台,帮助管理员和分析师在系统异常时收集、组织本地证据并生成防御性报告。
Stars: 0 | Forks: 0
# COLDCASE
**COLDCASE** 是一个使用 Rust 构建的本地取证 triage 平台,旨在组织案例、捕获 snapshots、生成时间线、计算 hashes、检测可疑 artifacts 并生成防御性报告。
由 **xtr4ng3** 创建。
## 目的
当一台机器开始表现异常时,第一步不应是在不了解发生了什么的情况下直接删除、清理或格式化。
第一步是观察。
**COLDCASE** 旨在收集本地证据,整理重要信号并生成清晰的报告。其目标是帮助技术用户、管理员和分析师回答基本问题:
- 出现了哪些文件,
- 更改了哪些文件,
- 哪些路径值得审查,
- 生成了哪些 hashes,
- 敏感区域中存在哪些 scripts 或可执行文件,
- 哪些事件可以构成时间线的一部分,
- 在做出决定之前值得记录哪些要素。
COLDCASE 不会删除文件。
COLDCASE 不会修改系统。
COLDCASE 不会将证据上传到互联网。
COLDCASE 仅用于组织本地信息以进行防御性审查。
## 主要功能
- Rust 编写的 CLI。
- 每个案例独立的 SQLite 数据库。
- 独立的工作区。
- 系统快照捕获。
- 文件夹扫描。
- 计算 SHA-256。
- 估算熵值。
- 防御性 triage 规则。
- scripts 检测。
- 可执行文件检测。
- 压缩文件检测。
- 敏感路径检测。
- 高风险名称检测。
- 生成时间线。
- HTML 报告。
- JSON 报告。
- SARIF 报告。
- 本地静态 Dashboard。
- GitHub Actions 工作流。
- Windows 构建脚本。
## 架构
```
case workspace
-> SQLite database
-> snapshot collector
-> file scanner
-> rule evaluator
-> timeline builder
-> report generator
-> static dashboard
```
主要组件:
```
src/
├─ main.rs -> entrada CLI
├─ case.rs -> creación y estado de casos
├─ collectors.rs -> snapshots del sistema
├─ scanner.rs -> escaneo de carpetas
├─ hashing.rs -> SHA-256 y entropía
├─ rules.rs -> reglas de triage
├─ db.rs -> almacenamiento SQLite
├─ report.rs -> HTML / JSON / SARIF
├─ models.rs -> modelos de datos
└─ util.rs -> utilidades internas
```
## 命令
创建案例:
```
coldcase new cases/my-case --title "Suspicious download review"
```
捕获本地快照:
```
coldcase snapshot cases/my-case
```
扫描文件夹:
```
coldcase scan cases/my-case C:\Users\User\Downloads
```
生成时间线:
```
coldcase timeline cases/my-case
```
生成报告:
```
coldcase report cases/my-case
```
查看案例状态:
```
coldcase status cases/my-case
```
创建默认规则文件:
```
coldcase rules coldcase.rules
```
## 推荐流程
```
coldcase new cases/test-case --title "PC triage"
coldcase snapshot cases/test-case
coldcase scan cases/test-case C:\Users\User\Downloads
coldcase scan cases/test-case C:\Users\User\AppData\Roaming
coldcase timeline cases/test-case
coldcase report cases/test-case
```
生成报告后,打开以下路径中的 HTML 文件:
```
cases/test-case/reports/
```
## 案例结构
```
my-case/
├─ CASE.md
├─ coldcase.db
├─ evidence/
├─ exports/
└─ reports/
├─ coldcase_.html
├─ coldcase_.json
└─ coldcase_.sarif
```
每个案例都有其独立的 SQLite 数据库和报告。
## COLDCASE 的检测内容
COLDCASE 会对以下 artifacts 进行标记和记录:
- scripts,
- 可执行文件,
- 压缩文件,
- 敏感路径中的文件,
- 高熵值的 artifacts,
- 包含风险词汇的文件名,
- 在快照中检测到的可疑启动项,
- 对时间线有用的要素。
敏感路径示例:
```
AppData
Temp
Downloads
Descargas
Public
```
检查的扩展名示例:
```
ps1, vbs, js, jse, wsf, hta, bat, cmd, scr, pif, lnk
exe, dll, sys, msi
zip, rar, 7z, iso, img
```
## 报告
COLDCASE 生成三种格式:
```
HTML -> lectura humana
JSON -> integración / dashboard / archivo estructurado
SARIF -> revisión compatible con flujos de seguridad
```
HTML 报告包含:
- 结论,
- 评分,
- 发现,
- artifacts,
- hashes,
- 时间线,
- snapshots,
- 建议。
## 仪表板
Dashboard 是本地且静态的:
```
dashboard/index.html
```
它可以加载由 COLDCASE 生成的 JSON 报告,以审查:
- 摘要,
- 发现,
- artifacts,
- 时间线。
不需要外部服务器。
## 规则
基础规则文件位于:
```
rules/coldcase.rules
```
也可以通过以下命令生成:
```
coldcase rules coldcase.rules
```
初始规则简单且具有防御性。它们旨在用于本地 triage,而不是进行自动判定。
## 编译
需要 Rust。
```
cargo build --release
```
在 Windows 上可以使用:
```
build_windows\BUILD_RELEASE.bat
```
生成的二进制文件位于:
```
target/release/coldcase
```
在 Windows 上:
```
target\release\coldcase.exe
```
## Windows 快速安装
1. 通过 `rustup` 安装 Rust。
2. 在项目文件夹中打开终端。
3. 执行:
```
build_windows\BUILD_RELEASE.bat
```
4. 使用 `CLIENTE_PORTABLE` 中生成的二进制文件。
## 安全性
COLDCASE 不执行破坏性操作。
它不会:
- 删除文件,
- 自动隔离,
- 关闭进程,
- 禁用启动项,
- 更改注册表,
- 上传证据,
- 进行漏洞利用,
- 实现持久化,
- 静默修改系统。
COLDCASE 只负责收集、组织和报告。
## 负责任的使用
COLDCASE 的发现结果是审查的切入点。
高严重性的发现并不单纯意味着文件是恶意的。它只代表该文件值得进行手动分析。
上下文很重要:
- 文件来源,
- 创建日期,
- 位置,
- 数字签名,
- hash,
- 观察到的行为,
- 与其他事件的关联。
## 项目状态
COLDCASE v1.0 是本地 triage 的专业基础。
未来可能的领域:
- 更多的 collectors,
- 更高级的事件解析,
- 导出为 CSV,
- 更完善的可配置规则,
- 分析 `.lnk` 快捷方式,
- 在快照之间进行比较,
- 更高级的便携式打包,
- 可选的外部 dashboards 集成。
# 许可证
**xtr4ng3**
MIT.
**COLDCASE** 是一个使用 Rust 构建的本地取证 triage 平台,旨在组织案例、捕获 snapshots、生成时间线、计算 hashes、检测可疑 artifacts 并生成防御性报告。
由 **xtr4ng3** 创建。
## 目的
当一台机器开始表现异常时,第一步不应是在不了解发生了什么的情况下直接删除、清理或格式化。
第一步是观察。
**COLDCASE** 旨在收集本地证据,整理重要信号并生成清晰的报告。其目标是帮助技术用户、管理员和分析师回答基本问题:
- 出现了哪些文件,
- 更改了哪些文件,
- 哪些路径值得审查,
- 生成了哪些 hashes,
- 敏感区域中存在哪些 scripts 或可执行文件,
- 哪些事件可以构成时间线的一部分,
- 在做出决定之前值得记录哪些要素。
COLDCASE 不会删除文件。
COLDCASE 不会修改系统。
COLDCASE 不会将证据上传到互联网。
COLDCASE 仅用于组织本地信息以进行防御性审查。
## 主要功能
- Rust 编写的 CLI。
- 每个案例独立的 SQLite 数据库。
- 独立的工作区。
- 系统快照捕获。
- 文件夹扫描。
- 计算 SHA-256。
- 估算熵值。
- 防御性 triage 规则。
- scripts 检测。
- 可执行文件检测。
- 压缩文件检测。
- 敏感路径检测。
- 高风险名称检测。
- 生成时间线。
- HTML 报告。
- JSON 报告。
- SARIF 报告。
- 本地静态 Dashboard。
- GitHub Actions 工作流。
- Windows 构建脚本。
## 架构
```
case workspace
-> SQLite database
-> snapshot collector
-> file scanner
-> rule evaluator
-> timeline builder
-> report generator
-> static dashboard
```
主要组件:
```
src/
├─ main.rs -> entrada CLI
├─ case.rs -> creación y estado de casos
├─ collectors.rs -> snapshots del sistema
├─ scanner.rs -> escaneo de carpetas
├─ hashing.rs -> SHA-256 y entropía
├─ rules.rs -> reglas de triage
├─ db.rs -> almacenamiento SQLite
├─ report.rs -> HTML / JSON / SARIF
├─ models.rs -> modelos de datos
└─ util.rs -> utilidades internas
```
## 命令
创建案例:
```
coldcase new cases/my-case --title "Suspicious download review"
```
捕获本地快照:
```
coldcase snapshot cases/my-case
```
扫描文件夹:
```
coldcase scan cases/my-case C:\Users\User\Downloads
```
生成时间线:
```
coldcase timeline cases/my-case
```
生成报告:
```
coldcase report cases/my-case
```
查看案例状态:
```
coldcase status cases/my-case
```
创建默认规则文件:
```
coldcase rules coldcase.rules
```
## 推荐流程
```
coldcase new cases/test-case --title "PC triage"
coldcase snapshot cases/test-case
coldcase scan cases/test-case C:\Users\User\Downloads
coldcase scan cases/test-case C:\Users\User\AppData\Roaming
coldcase timeline cases/test-case
coldcase report cases/test-case
```
生成报告后,打开以下路径中的 HTML 文件:
```
cases/test-case/reports/
```
## 案例结构
```
my-case/
├─ CASE.md
├─ coldcase.db
├─ evidence/
├─ exports/
└─ reports/
├─ coldcase_
**xtr4ng3**
MIT.标签:Homebrew安装, Rust, SQLite, 可视化界面, 多模态安全, 库, 应急响应, 数字取证, 网络流量审计, 自动化脚本, 通知系统