hacktricks/forensics/basic-forensic-methodology/anti-forensic-techniques.md
2023-08-03 19:12:22 +00:00

10 KiB
Raw Blame History

☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

时间戳

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

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

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

TimeStomp - 反取证工具

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

Usnjrnl

USN日志Update Sequence Number Journal或更改日志是Windows NT文件系统NTFS的一个功能用于记录对卷所做的更改
可以使用工具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开始需要使用活动操作系统来修改此信息。

数据隐藏

NTFS使用簇和最小信息大小。这意味着如果一个文件占用了一个半簇剩余的一半将永远不会被使用,直到文件被删除。因此,可以在这个"隐藏"空间中隐藏数据

有一些工具如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"打开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 Logs" --> 右键单击每个类别,选择"Clear Log"
  • 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 Event Log"服务
  • WEvtUtil.exec clear-logWEvtUtil.exe cl

禁用$UsnJrnl

  • fsutil usn deletejournal /d c:
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥