8.3 KiB
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)!
支持HackTricks的其他方式:
- 如果您想看到您的公司在HackTricks中做广告或下载PDF格式的HackTricks,请查看订阅计划!
- 获取官方PEASS和HackTricks周边产品
- 探索PEASS家族,我们的独家NFTs
- 加入 💬 Discord群 或 电报群 或在Twitter上关注我们 🐦 @hacktricks_live。
- 通过向HackTricks和HackTricks Cloud github仓库提交PR来分享您的黑客技巧。
时间戳
攻击者可能有兴趣更改文件的时间戳以避免被检测。
可以在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
比较
另一种识别可疑修改文件的方法是比较两个属性上的时间,寻找不匹配。
纳秒
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
删除它们
您还可以按照https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html中提出的步骤通过GUI删除它们。
要禁用阴影副本这里的步骤:
- 通过在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: