监控Windows中的注册表和文件更改 - 针对Windows注册表和文件的取证分析
"fingerprint" 记录 Windows 系统在文件和注册表方面的状态。 此类指纹可相互比较,以发现所有已更改的数据。 可借助 procmon 日志文件来缩小数据范围,从而查看是哪个进程导致了更改。 Procmon 日志文件可进行过滤,仅显示已更改文件或注册表项的事件。 这使得查找系统更改的原因更加容易。
所有指纹均以 CSV 格式(与 Excel 兼容)存储,便于过滤、排序等操作。 您也可以使用第三方工具(如 "Meld"、"FC"、"diff")来比较指纹。
您可以在批处理文件中使用 fingerprint 自动过滤出感兴趣的事件——它非常适合批处理操作。
包含源代码,但您也可以直接使用通过 PyInstaller 从 Releases <https://github.com/bitranox/fingerprint/releases>_ 生成的 fp.exe 文件。
监控蜜罐、监控系统更改、查找“隐藏”的注册表项或文件(如演示版的过期时间)、 分析病毒活动、分析您的隐私是否受到侵犯。您将能够发现任何间谍程序、蠕虫、 或对系统的入侵,除非该程序仅驻留在内存中且不做任何更改——但这种情况极为罕见。
请查阅 Wiki <https://github.com/bitranox/fingerprint/wiki>_
无需安装,直接使用 Releases <https://github.com/bitranox/fingerprint/releases>_ 中的 fp.exe 文件即可。
(使用 .py 文件时)将安装/需要以下包:
click
python-registry
pyinstaller(如果您想自行创建 .exe 文件)
灵感来源于 Regshot、InstallWatch Pro、SpyMe Tools、RegDiff、WhatChanged、RegFromApp、Uninstaller Pro 等工具。
欢迎 fork 并向我发送 pull request。 请贡献您的力量。
本软件采用 MIT 许可证 <http://en.wikipedia.org/wiki/MIT_License>_ 授权。
请参阅 许可证文件 <https://github.com/bitranox/fingerprint/blob/master/LICENSE>_
让我们通过一个例子来逐步了解。假设我们有一个具有“试用期”的软件,试用期结束后该软件停止工作。
卸载并重新安装该软件后,它仍然显示“试用期已结束”——这表明该软件卸载不彻底,留下了某些文件或注册表项。
所有程序均从命令行启动。使用 fp.exe [命令] --help 可查看包含所有命令行参数的帮助信息。
步骤1:在干净系统上创建 C:\ 驱动器的指纹: fp.exe files --fp_dir=c:\ --f_output=c:\fp\fp1.csv fp.exe reg --f_output=c:\fp\reg1.csv
步骤2:在安装、运行并卸载该软件后创建指纹: fp.exe files --fp_dir=c:\ --f_output=c:\fp\fp2.csv fp.exe reg --f_output=c:\fp\reg2.csv
步骤3:创建差异文件。这些文件中存储了干净状态与卸载状态之间的所有更改: fp.exe files_diff --fp1=c:\fp\fp1.csv --fp2=c:\fp\fp2.csv --f_output=c:\fp\fp1-fp2.csv fp.exe reg_diff --reg1=c:\fp\reg1.csv --reg2=c:\fp\reg2.csv --f_output=c:\fp\reg1-reg2.csv
步骤4:重新安装该软件 使用 procmon 记录所有系统活动,并将日志保存为 csv 文件 "c:\fp\reinstall_procmon.csv"
由于目前处于重构阶段,关于 Procmon 日志文件的过滤方法将稍后说明。 如果您等不及,可以使用旧版本 1.6(来自发行版)。
您可能会记录到相当多的噪音——目前尚无过滤器来剔除它们。但另一方面,我正好会隐藏在噪音中,所以我没有添加过滤器。
Procmon 日志文件可能会变得非常大——您可以在那里设置一些合适的过滤器(针对您正在检查的进程或程序)。