找出 Windows 上软件遗留的痕迹,在它找上门之前。
GhostTrace 是一款本地 Windows 取证痕迹搜索工具,面向事件响应人员、系统管理员和安全意识较强的资深用户。它将持久化、执行、活动和残留痕迹映射为可审查的记录,并且仅在你明确选择时,才提供严格受限的清理功能。
下载 | 系统要求 | 快速上手 | 功能概览 | 安全模型 | 路线图 | 葡萄牙语(巴西)
卸载应用程序并不总能清除其运行痕迹。启动项、计划任务、缓存执行证据、注册表值、服务和文件夹可能在安装程序报告成功之后仍然残留。
GhostTrace 将这一宽泛的问题转化为一次聚焦的本地调查:
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 10 或 11,x64 |
| 权限 | 管理员权限,用于读取受保护的痕迹文件 |
| 运行时 | 无。MSI 为自包含安装包。 |
| 磁盘空间 | 安装后约 NN MB,另需报告输出空间 |
GhostTrace 需要读取受保护的 Windows 痕迹文件并以提升权限运行。在执行安装程序之前,请先验证其完整性,尤其是在你正在调查的主机上。
Get-FileHash .\GhostTrace-1.5.0-x64.msi -Algorithm SHA256
将结果与每次发布时附带的 SHA256SUMS.txt 进行比对。
安装程序目前尚未进行代码签名,因此 SmartScreen 和部分 EDR 产品在首次运行时可能会发出警告。请验证哈希值,而不是直接忽略警告。
从 Releases 下载最新的 x64 MSI:
GhostTrace-<version>-x64.msi
该安装包为自包含版本,目标机器无需预装 .NET 运行时。请以管理员身份运行 GhostTrace,以访问受保护的 Windows 痕迹文件。
GhostTrace.CLI scan --name nvidia
交互式流程会显示进度、按技术分类汇总发现,并可导出调查记录。如果存在安全的清理候选项目,你必须手动选择并输入确认短语后才会执行任何删除操作。
以下是一个精简后的输出示例:
$ GhostTrace.CLI scan --name nvidia
MODULE FINDINGS STATUS
PersistenceScanModule 2 OK
ScheduledTasksScanModule 1 OK
TaskCacheScanModule 1 PartialSuccess
PrefetchScanModule 4 OK
[Persistence] HKLM\...\Run\NvBackend
-> C:\Program Files\NVIDIA Corporation\Update Core\NvBackend.exe (missing)
[Ghost Task] TaskCache\Tree entry with no COM counterpart (T1053.005)
\NvProfileUpdaterOnLogon_{...}
TaskCacheScanModule: PartialSuccess. 2 keys unreadable (access denied).

GhostTrace.CLI scan --name nvidia --quiet --output C:\Cases\Host1
--quiet 会生成非交互式的 TXT 记录。如果报告写入失败,将返回非零退出码,因此自动化流程不会在未生成痕迹文件的情况下静默成功。
使用 --lang 选择界面语言:
GhostTrace.CLI scan --name nvidia --lang en
GhostTrace.CLI --lang pt-BR
| 代码 | 含义 |
|---|---|
0 | 扫描完成,且任何请求的报告均已写入 |
1 | 参数无效或环境不受支持 |
2 | 报告写入失败 |
3 | 操作员取消 |
| 领域 | 证据来源 |
|---|---|
| 持久化 | Run/RunOnce、启动项、服务、Winlogon、IFEO、AppInit、LSA、Active Setup、WMI 和计划任务 |
持久化
GhostTrace 默认是只读收集器。其清理工作流针对的是软件残留,而非自动恶意软件修复。
FilesystemTraceHint:可报告,但不可删除。Ctrl+C 可协作式取消计划任务关联和 Prefetch 文件读取。发现是证据,而非结论。请结合主机时间线、你的环境和事件响应流程进行解读。
| 输出 | 适用场景 |
|---|---|
| 交互式表格 | 快速分析审查 |
| TXT 报告 | scan 的本地记录,包括 --quiet 自动化场景 |
| JSON 报告 | 定向收集器和计划任务关联 |
| 清理日志 |
PartialSuccess 表示模块产生了发现,但也遇到了限制。在将缺失结果视为干净来源之前,请先阅读该模块的错误信息。
GhostTrace.sln。src/GhostTrace.Tests 和 tests/GhostTrace.Tests.Unit 均包含在解决方案和 CI 中。v<major>.<minor>.<patch> 格式的标签。通过 设置 > 应用 > 已安装的应用 移除 GhostTrace,或在提升权限的提示符中执行:
msiexec /x GhostTrace-1.5.0-x64.msi /qn
写入输出目录的报告和清理日志不会被卸载程序删除。案件结案后请手动删除。
欢迎贡献。请保持收集器只读、传播 CancellationToken、将覆盖缺口作为结果错误呈现,并在行为变更时附带测试。路线图 列出了下一个高优先级领域。
GhostTrace 支持调查工作。请结合主机、其时间线以及你的操作流程,验证每一项痕迹。
| 目标 | 命令 |
|---|
| 打开交互式菜单 | GhostTrace.CLI |
| 执行完整分类检查 | GhostTrace.CLI scan |
| 搜索指定应用程序 | GhostTrace.CLI scan --name <n> |
| 生成适合脚本处理的扫描记录 | GhostTrace.CLI scan --name <n> --quiet --output <directory> |
| 关联任务计划程序 COM 与 TaskCache | GhostTrace.CLI scan-tasks-correlate-json --output <report.json> |
| 检查目录、注册表项或事件日志 | scan-fs-json、scan-reg-json、scan-evt-json |
| 执行 | Prefetch、Shimcache、BAM/DAM、UserAssist 和 MUICache |
| 用户活动 | PowerShell 历史记录、出站 RDP 历史记录、RecentDocs、USB 和网络痕迹 |
| 已安装软件及残留 | 卸载条目、StartupApproved、Program Files、ProgramData 和 AppData 痕迹 |
| 计划任务关联 | 用于调查 Ghost Tasks(T1053.005)的 COM 与 TaskCache 差异 |
| 模块 | 来源 |
|---|
PersistenceScanModule | Run/RunOnce 和启动文件夹 |
ServicesScanModule | 服务和驱动程序的 ImagePath 值 |
AsepScanModule | Winlogon、IFEO、AppInit、LSA 和 Active Setup |
ScheduledTasksScanModule | 任务计划程序 COM,包括隐藏任务 |
TaskCacheScanModule | TaskCache\Tree 异常 |
WmiPersistenceScanModule | __EventFilter、__EventConsumer 及绑定 |
执行与活动
| 模块 | 来源 |
|---|---|
PrefetchScanModule | Windows 10/11 .pf 文件,包括 XPRESS-Huffman 压缩 |
ShimcacheScanModule | AppCompatCache |
BamScanModule | 按 SID 的 BAM/DAM 记录 |
UserAssistScanModule | GUI 启动及使用次数 |
MuiCacheScanModule | Shell MUICache |
PowerShellHistoryScanModule | PSReadLine 历史记录及可疑命令信号 |
RdpConnectionScanModule | 出站 RDP 连接历史记录 |
RecentDocsScanModule | Explorer RecentDocs |
UsbDeviceScanModule | USBSTOR 历史记录 |
NetworkArtifactsScanModule | Hosts 文件及已知网络配置文件 |
| 审计已删除、已跳过和失败的清理操作 |