Anti-Forensic Techniques
时间戳
攻击者可能有兴趣更改文件的时间戳以避免被检测。
可以在MFT中的属性$STANDARD_INFORMATION
和$FILE_NAME
中找到时间戳。
这两个属性都有4个时间戳:修改、访问、创建和MFT注册修改(MACE或MACB)。
Windows资源管理器和其他工具显示来自**$STANDARD_INFORMATION
**的信息。
TimeStomp - 反取证工具
该工具修改了**$STANDARD_INFORMATION
中的时间戳信息,但不会修改$FILE_NAME
中的信息。因此,可以识别出可疑活动**。
Usnjrnl
USN日志(更新序列号日志)是NTFS(Windows NT文件系统)的一个功能,用于跟踪卷的更改。UsnJrnl2Csv工具允许检查这些更改。
上图是该工具显示的输出,可以观察到对文件进行了一些更改。
$LogFile
文件系统中的所有元数据更改都会被记录,这个过程称为预写式日志记录。记录的元数据保存在名为**$LogFile**
的文件中,位于NTFS文件系统的根目录中。可以使用诸如LogFileParser之类的工具来解析此文件并识别更改。
再次,在工具的输出中,可以看到进行了一些更改。
使用相同的工具,可以确定时间戳何时被修改:
CTIME:文件的创建时间
ATIME:文件的修改时间
MTIME:文件的MFT注册修改
RTIME:文件的访问时间
$STANDARD_INFORMATION
和$FILE_NAME
比较
$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需要两个步骤:
设置两个注册表键,
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackProgs
和HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackEnabled
,都设置为零,以表示我们要禁用UserAssist。清除类似
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\<hash>
的注册表子树。
禁用时间戳 - Prefetch
这将保存有关执行的应用程序的信息,目的是改善Windows系统的性能。但是,这也可以用于取证实践。
执行
regedit
选择文件路径
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\PrefetchParameters
右键单击
EnablePrefetcher
和EnableSuperfetch
对每个都选择修改,将值从1(或3)更改为0
重新启动
禁用时间戳 - 最后访问时间
每当从Windows NT服务器上的NTFS卷中打开文件夹时,系统会花费时间更新每个列出的文件夹上的时间戳字段,称为最后访问时间。在使用频繁的NTFS卷上,这可能会影响性能。
打开注册表编辑器(Regedit.exe)。
浏览到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
。查找
NtfsDisableLastAccessUpdate
。如果不存在,请添加此DWORD并将其值设置为1,这将禁用该过程。关闭注册表编辑器,并重新启动服务器。
删除 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
删除它们
您还可以通过 GUI 删除它们,按照 https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html 中提出的步骤进行操作。
要禁用阴影副本,请按照此处的步骤:
通过在点击 Windows 启动按钮后的文本搜索框中键入 "services" 来打开服务程序。
从列表中找到 "Volume Shadow Copy",选择它,然后通过右键单击访问属性。
从 "启动类型" 下拉菜单中选择禁用,然后通过单击应用和确定来确认更改。
还可以在注册表 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-log
或WEvtUtil.exe cl
禁用 $UsnJrnl
fsutil usn deletejournal /d c:
最后更新于