# 反取证技术 {% hint style="success" %} 学习和实践 AWS 黑客技术:[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ 学习和实践 GCP 黑客技术:[**HackTricks 培训 GCP 红队专家 (GRTE)**](https://training.hacktricks.xyz/courses/grte)
支持 HackTricks * 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)! * **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **在** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** 上关注我们。** * **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 分享黑客技巧。
{% endhint %} ## 时间戳 攻击者可能会对 **更改文件的时间戳** 感兴趣,以避免被检测。\ 可以在 MFT 中的属性 `$STANDARD_INFORMATION` \_\_ 和 \_\_ `$FILE_NAME` 中找到时间戳。 这两个属性都有 4 个时间戳:**修改**、**访问**、**创建**和 **MFT 注册修改**(MACE 或 MACB)。 **Windows 资源管理器** 和其他工具显示 **`$STANDARD_INFORMATION`** 中的信息。 ### TimeStomp - 反取证工具 该工具 **修改** **`$STANDARD_INFORMATION`** 中的时间戳信息 **但** **不** 修改 **`$FILE_NAME`** 中的信息。因此,可以 **识别** **可疑** **活动**。 ### Usnjrnl **USN 日志**(更新序列号日志)是 NTFS(Windows NT 文件系统)的一个特性,用于跟踪卷更改。 [**UsnJrnl2Csv**](https://github.com/jschicht/UsnJrnl2Csv) 工具允许检查这些更改。 ![](<../../.gitbook/assets/image (801).png>) 上图是 **工具** 显示的 **输出**,可以观察到对文件 **进行了某些更改**。 ### $LogFile **对文件系统的所有元数据更改都被记录** 在一个称为 [写前日志](https://en.wikipedia.org/wiki/Write-ahead_logging) 的过程中。记录的元数据保存在名为 `**$LogFile**` 的文件中,该文件位于 NTFS 文件系统的根目录。可以使用 [LogFileParser](https://github.com/jschicht/LogFileParser) 等工具解析此文件并识别更改。 ![](<../../.gitbook/assets/image (137).png>) 同样,在工具的输出中可以看到 **进行了某些更改**。 使用同一工具可以识别 **时间戳被修改到哪个时间**: ![](<../../.gitbook/assets/image (1089).png>) * CTIME: 文件创建时间 * ATIME: 文件修改时间 * MTIME: 文件的 MFT 注册修改 * RTIME: 文件访问时间 ### `$STANDARD_INFORMATION` 和 `$FILE_NAME` 比较 识别可疑修改文件的另一种方法是比较两个属性上的时间,寻找 **不匹配**。 ### 纳秒 **NTFS** 时间戳的 **精度** 为 **100 纳秒**。因此,找到时间戳类似于 2010-10-10 10:10:**00.000:0000 的文件是非常可疑的。 ### SetMace - 反取证工具 该工具可以修改两个属性 `$STARNDAR_INFORMATION` 和 `$FILE_NAME`。然而,从 Windows Vista 开始,必须在活动操作系统中修改此信息。 ## 数据隐藏 NFTS 使用集群和最小信息大小。这意味着如果一个文件占用一个半集群,**剩余的一半将永远不会被使用**,直到文件被删除。因此,可以在这个松弛空间中 **隐藏数据**。 有像 slacker 这样的工具可以在这个“隐藏”空间中隐藏数据。然而,对 `$logfile` 和 `$usnjrnl` 的分析可以显示某些数据被添加: ![](<../../.gitbook/assets/image (1060).png>) 然后,可以使用 FTK Imager 等工具检索松弛空间。请注意,这种工具可以保存内容为模糊或甚至加密的形式。 ## UsbKill 这是一个工具,如果检测到 USB 端口的任何更改,将 **关闭计算机**。\ 发现这一点的一种方法是检查正在运行的进程并 **审查每个正在运行的 python 脚本**。 ## 实时 Linux 发行版 这些发行版在 **RAM** 内存中 **执行**。检测它们的唯一方法是 **如果 NTFS 文件系统以写权限挂载**。如果仅以读权限挂载,则无法检测到入侵。 ## 安全删除 [https://github.com/Claudio-C/awesome-data-sanitization](https://github.com/Claudio-C/awesome-data-sanitization) ## Windows 配置 可以禁用多种 Windows 日志记录方法,以使取证调查变得更加困难。 ### 禁用时间戳 - UserAssist 这是一个注册表项,维护用户运行每个可执行文件的日期和时间。 禁用 UserAssist 需要两个步骤: 1. 设置两个注册表项,`HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackProgs` 和 `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackEnabled`,都设置为零,以表示我们希望禁用 UserAssist。 2. 清除看起来像 `HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\` 的注册表子树。 ### 禁用时间戳 - Prefetch 这将保存有关执行的应用程序的信息,目的是提高 Windows 系统的性能。然而,这对于取证实践也可能有用。 * 执行 `regedit` * 选择文件路径 `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\PrefetchParameters` * 右键单击 `EnablePrefetcher` 和 `EnableSuperfetch` * 选择修改,将每个值从 1(或 3)更改为 0 * 重启 ### 禁用时间戳 - 最后访问时间 每当从 NTFS 卷打开文件夹时,系统会花时间 **更新每个列出文件夹的时间戳字段**,称为最后访问时间。在使用频繁的 NTFS 卷上,这可能会影响性能。 1. 打开注册表编辑器 (Regedit.exe)。 2. 浏览到 `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem`。 3. 查找 `NtfsDisableLastAccessUpdate`。如果不存在,请添加此 DWORD 并将其值设置为 1,这将禁用该过程。 4. 关闭注册表编辑器,并重启服务器。 ### 删除 USB 历史 所有 **USB 设备条目** 都存储在 Windows 注册表的 **USBSTOR** 注册表项下,该项包含在您将 USB 设备插入 PC 或笔记本电脑时创建的子项。您可以在这里找到此项 `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR`。**删除此项**,您将删除 USB 历史。\ 您还可以使用工具 [**USBDeview**](https://www.nirsoft.net/utils/usb_devices_view.html) 确保您已删除它们(并删除它们)。 另一个保存有关 USB 的信息的文件是 `C:\Windows\INF` 中的 `setupapi.dev.log`。这也应该被删除。 ### 禁用影子副本 **列出** 影子副本 `vssadmin list shadowstorage`\ **删除** 它们运行 `vssadmin delete shadow` 您还可以通过 GUI 删除它们,按照 [https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html](https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html) 中提出的步骤进行操作。 要禁用影子副本 [请参阅此处的步骤](https://support.waters.com/KB_Inf/Other/WKB15560_How_to_disable_Volume_Shadow_Copy_Service_VSS_in_Windows): 1. 通过在单击 Windows 开始按钮后在文本搜索框中输入“services”打开服务程序。 2. 从列表中找到“卷影复制”,选择它,然后通过右键单击访问属性。 3. 从“启动类型”下拉菜单中选择禁用,然后通过单击应用和确定确认更改。 还可以在注册表 `HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToSnapshot` 中修改将要在影子副本中复制的文件的配置。 ### 覆盖已删除文件 * 您可以使用 **Windows 工具**:`cipher /w:C` 这将指示 cipher 从 C 盘的可用未使用磁盘空间中删除任何数据。 * 您还可以使用像 [**Eraser**](https://eraser.heidi.ie) 这样的工具。 ### 删除 Windows 事件日志 * Windows + R --> eventvwr.msc --> 展开“Windows 日志” --> 右键单击每个类别并选择“清除日志” * `for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"` * `Get-EventLog -LogName * | ForEach { Clear-EventLog $_.Log }` ### 禁用 Windows 事件日志 * `reg add 'HKLM\SYSTEM\CurrentControlSet\Services\eventlog' /v Start /t REG_DWORD /d 4 /f` * 在服务部分禁用“Windows 事件日志”服务 * `WEvtUtil.exec clear-log` 或 `WEvtUtil.exe cl` ### 禁用 $UsnJrnl * `fsutil usn deletejournal /d c:` {% hint style="success" %} 学习和实践 AWS 黑客技术:[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ 学习和实践 GCP 黑客技术:[**HackTricks 培训 GCP 红队专家 (GRTE)**](https://training.hacktricks.xyz/courses/grte)
支持 HackTricks * 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)! * **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **在** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** 上关注我们。** * **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 分享黑客技巧。
{% endhint %}