hacktricks/forensics/basic-forensic-methodology/anti-forensic-techniques.md

8.3 KiB
Raw Blame History

从零开始学习AWS黑客技术成为专家 htARTEHackTricks AWS红队专家

支持HackTricks的其他方式

时间戳

攻击者可能有兴趣更改文件的时间戳以避免被检测。
可以在MFT中的属性$STANDARD_INFORMATION$FILE_NAME中找到时间戳。

这两个属性都有4个时间戳修改访问创建MFT注册修改MACE或MACB

Windows资源管理器和其他工具显示来自**$STANDARD_INFORMATION**的信息。

TimeStomp - 反取证工具

该工具修改了**$STANDARD_INFORMATION中的时间戳信息但是没有修改$FILE_NAME中的信息。因此,可以识别可疑活动**。

Usnjrnl

USN日志更新序列号日志是NTFSWindows NT文件系统的一个功能用于跟踪卷的更改。UsnJrnl2Csv工具允许检查这些更改。

上图是该工具显示的输出,可以观察到对文件进行了一些更改

$LogFile

文件系统中所有元数据更改都会被记录,这个过程称为预写式日志记录。记录的元数据保存在名为**$LogFile**的文件中位于NTFS文件系统的根目录中。可以使用诸如LogFileParser之类的工具来解析此文件并识别更改。

再次,在工具的输出中,可以看到进行了一些更改

使用相同的工具,可以确定时间戳何时被修改

  • 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的分析可以显示添加了一些数据:

因此可以使用FTK Imager等工具检索空闲空间。请注意这种工具可以保存内容混淆或甚至加密。

UsbKill

这是一个工具如果检测到USB端口发生任何更改关闭计算机
发现这一点的方法是检查运行的进程并查看每个运行的Python脚本

实时Linux发行版

这些发行版是在RAM内存中执行的。唯一的检测方法是如果NTFS文件系统以写权限挂载。如果只以读权限挂载,将无法检测入侵。

安全删除

https://github.com/Claudio-C/awesome-data-sanitization

Windows配置

可以禁用几种Windows日志记录方法使取证调查变得更加困难。

禁用时间戳 - UserAssist

这是一个维护用户运行每个可执行文件的日期和时间的注册表键。

禁用UserAssist需要两个步骤

  1. 设置两个注册表键,HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackProgsHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackEnabled都设置为零以表示我们要禁用UserAssist。
  2. 清除类似HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\<hash>的注册表子树。

禁用时间戳 - Prefetch

这将保存有关执行的应用程序的信息目的是提高Windows系统的性能。但是这也对取证实践有用。

  • 执行regedit
  • 选择文件路径HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\PrefetchParameters
  • 右键单击EnablePrefetcherEnableSuperfetch
  • 对每个进行修改将值从1或3更改为0
  • 重新启动

禁用时间戳 - 最后访问时间

每当从Windows NT服务器的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确保已删除它们(并删除它们)。

保存有关USB的信息的另一个文件是C:\Windows\INF中的文件setupapi.dev.log。这也应该被删除。

禁用阴影副本

使用vssadmin list shadowstorage列出阴影副本
运行vssadmin delete shadow删除它们

您还可以按照https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html中提出的步骤通过GUI删除它们。

要禁用阴影副本这里的步骤:

  1. 通过在Windows开始按钮上单击文本搜索框后键入“services”来打开服务程序。
  2. 从列表中找到“Volume Shadow Copy”选择它然后通过右键单击访问属性。
  3. 从“启动类型”下拉菜单中选择“禁用”,然后通过单击应用和确定来确认更改。

还可以在注册表HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToSnapshot中修改要复制的文件的配置。

覆盖已删除的文件

  • 您可以使用一个Windows工具cipher /w:C 这将指示cipher从C驱动器中的可用未使用磁盘空间中删除任何数据。
  • 您还可以使用诸如Eraser之类的工具

删除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-logWEvtUtil.exe cl

禁用$UsnJrnl

  • fsutil usn deletejournal /d c: