LetsDefend-Windows磁盘取证
针对我们组织开展了有针对性的网络钓鱼活动,到目前为止,我们网络中的 3 个系统已打开了钓鱼邮件。我们从其中一个受感染的系统收集了快速分类图像,并将其提供给您,以识别攻击者正在使用的 TTP。识别攻击者使用的技术和策略,以便我们的事件响应团队能够响应并减轻网络上的任何进一步危害。
题目链接
https://app.letsdefend.io/challenge/windows-forensics
取证工具
ShellBags Explorer
ShellBags Explorer 是一个用于分析 Windows 操作系统中 ShellBags 数据结构信息的工具。ShellBags 是 Windows 注册表中记录文件夹视图设置和访问历史的项目。ShellBags Explorer 可以提供以下信息:
- 用户访问过的文件夹的路径。
- 访问这些文件夹的时间戳。
- 文件夹的视图设置(例如图标大小、排序方式等)。
- 文件夹的其他元数据(例如创建时间、修改时间等)。
这种工具在数字取证分析中非常有用,因为即使文件或文件夹被删除,ShellBags 记录的信息可能依然保留在注册表中,从而提供有价值的历史访问记录。
ShellBags Explorer 主要分析以下两个注册表 Hive 文件:
- NTUSER.DAT:
- 位置:
C:\Users\<用户名>\NTUSER.DAT
- 描述:每个用户账户都有一个 NTUSER.DAT 文件,其中包含用户的配置文件信息和注册表数据。ShellBags 数据存储在 NTUSER.DAT 文件中,用于记录用户对文件夹的视图设置和访问历史。
- 位置:
- USRCLASS.DAT:
- Windows 7/8/10:
C:\Users\<用户名>\AppData\Local\Microsoft\Windows\UsrClass.dat
- Windows XP:
C:\Documents and Settings\<用户名>\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat
- 描述:USRCLASS.DAT 文件也包含与用户配置文件相关的注册表数据,特别是涉及到用户界面和文件夹设置的部分。ShellBags 数据的一部分也存储在这个文件中。
- Windows 7/8/10:
AccessData FTK Imager
FTK支持多种方式读取镜像内容的文件内容。
选择 Add Evidence Item —> Image File 指定本地的镜像文件。
第二种是用FTK将镜像挂载到磁盘上。(本文基于这种方式分析镜像)
下载文档的完整路径是什么?
初始访问是通过电子邮件发送的恶意文档进行的。采用FTK先将镜像挂载到本机的磁盘上,使用ShellBags Explorer对dat文件分析。
直接打开会报错 Registry hive is dirty
,需要在打开时按住SHIFT键忽略报错。
由于该文档是从恶意电子邮件中下载的,因此下载路径可能是Downloads文件夹,所以maildownloads大概率就是题目要求的恶意文档路径。
按照镜像绝对的路径拼接:c:\users\cyberjunkie\downloads\maildownloads
通过网络钓鱼传递的文档名称是什么?
根据提示打开文档后,下载了一个暂存器,该暂存器安全地删除了文档,使其无法恢复。分析工件以查找 GUI 应用程序执行的证据或删除的证据。
所以可以从Windows的回收站入手分析。$Recycle.Bin是 Windows 操作系统根目录中的一个文件夹,其中包含已删除的文件和文件夹。当文件或文件夹从 Windows 系统中删除时,它会被移至回收站,而不是永久删除。题目的回收站路径为:
D:\__._PHYSICALDRIVEn_Partition 2 [16845MB]_NONAME [NTFS]\[root]\$Recycle.Bin\S-1-5-21-1187034906-4050784041-186213912-1001
使用RBCmd来提取回收站的文件信息。
RBCmd.exe -f "D:\__._PHYSICALDRIVEn_Partition 2 [16845MB]_NONAME [NTFS]\[root]\$Recycle.Bin\S-1-5-21-1187034906-4050784041-186213912-1001\$IWKWHDC.docx"
得到了文档名称“ Security awareness.docx ”。除了用RBCmd也可以直接用FTK查看被删除文件的属性。
连接到攻击者 C2 服务器的 stager 名称是什么?
一开始的排查思路是想通过分析security.evtx中4688事件ID从而提取可疑的exe文件。
所以换了一个排查思路,从注册表入手。
Amcache.hve 是一个 Windows 注册表 Hive 文件,主要用于记录应用程序执行的相关信息。它是从 Windows 8 开始引入的一项功能,旨在帮助操作系统提高启动性能和应用程序的加载速度。Amcache.hve 文件包含大量有用的取证信息,可以用于分析系统上曾经运行过的应用程序以及安装的可执行文件。
默认文件路径:C:\Windows\AppCompat\Programs\Amcache.hve
可以用题目提供的工具AmcacheParser.exe提取分析。
AmcacheParser.exe -f "D:\__._PHYSICALDRIVEn_Partition 2 [16845MB]_NONAME [NTFS]\[root]\Windows\appcompat\Programs\Amcache.hve" --csv ./
会生成多个csv文件,这里重点关注FileEntries。
分析发现cyberjunkie用户下运行过可疑的exe文件。
分析 stager 并验证原始和被篡改的时间戳
攻击者操纵 stager 可执行文件的 MACB 时间戳来迷惑分析人员。这是攻击者用来在受害者文件系统上隐藏其工具的一种方法,被称为Timestomping。
Timestomping 是一种数字取证反取证技术,攻击者通过修改文件或目录的时间戳(如创建时间、修改时间、访问时间等)来混淆或掩盖其活动痕迹。这种技术可以使得文件看起来像是在不同的时间被创建、修改或访问的,从而迷惑取证分析人员,使其难以重建事件的真实时间线。
$MFT 是 NTFS 文件系统中的主文件表(Master File Table),它是 NTFS 文件系统的核心组件之一。$MFT 文件包含了有关文件系统中所有文件和目录的元数据。每个文件和目录在 $MFT 中都有一个记录,这些记录包含了文件名、大小、时间戳、权限以及文件内容在磁盘上的位置等信息。
本题中$MFT文件位于:
D:\__._PHYSICALDRIVEn_Partition 2 [16845MB]_NONAME [NTFS]\[root]\$MFT
解析的时间会比较长,完成后找到上一题的文件路径。
并且显示该文件的时间已经被修改过。
题目的提示为:$STANDARD_INFORMATION and $FILE_NAME
$Standard_Information(SI) 是更改的时间戳(用户级),$FILE_Name(FN) 是原始时间戳。
所以答案就是:2022-08-21 13:02:23.66 : 2021-12-25 15:34:32
退出某个进程时,将执行攻击者持久性可执行文件。该进程的名称是什么?
攻击者通过操纵注册表项来建立持久性。GlobalFlags 映像文件技术被用于建立持久性。
什么是GlobalFlag持久化?
GlobalFlag 注册表项用于攻击持久化是一种高级的攻击技术,攻击者可以利用这个注册表项来设置特定的标志,从而在系统启动时自动加载恶意软件或执行恶意操作。这种技术利用了系统调试和诊断功能,以隐藏或增强恶意软件的持久化能力。
该表项位于SOFTWARE中,注册表配置单路径如下:
D:__._PHYSICALDRIVEn_Partition 2 [16845MB]_NONAME [NTFS][root]\Windows\System32\config\SOFTWARE
GlobalFlag位于下面两个位置:
- HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
- HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit
可以使用AccessData Regisry Viewer 工具快速搜索该表项。
只有发现explorer.exe有设置GlobalFlag。
为持久性设置的可执行文件的完整路径名是什么?
同理搜索SilentProcessExit就能看到对应的文件路径。
当explorer.exe终止时,GetPatch.exe开始执行。
攻击者通过 RDP 登录其他 Windows 后,在 cmd 上运行了什么命令?
这个题目我一开始真没思路,后面去网上查了一下。
在 RDP 会话期间,客户端计算机上会缓存小型位图图像。可以从 Windows 终端服务目录中的缓存文件中提取这些图像,从而显示远程会话中的内容。
题目对应的RDP缓存路径为:
D:__._PHYSICALDRIVEn_Partition 2 [16845MB]_NONAME [NTFS]\[root]\Users\CyberJunkie\AppData\Local\Microsoft\Terminal Server Client\Cache\
使用bmc-tools 来分析位图:
对位图进行拼接得到cmd命令内容。
位图图像编号为 1024,1025,1027。
执行了什么命令导致权限提升?
在cs或msf中通常使用jump psexec_psh
来创建和启动临时服务来执行命令。7045事件日志包含新服务的名称、路径和启动参数,这些信息可以用于进一步分析和确认是否存在恶意活动。
D:__._PHYSICALDRIVEn_Partition 2 [16845MB]_NONAME [NTFS]\[root]\Windows\System32\winevt\Logs
这里将system.evtx复制到了DeepBule目录下。
由于靶机环境没有提供logparser,就直接使用DeepBule.ps1分析。
攻击者使用了什么框架?
根据DeepBule.ps1输出的结果显示Meterpreter就能确定是使用的是 metasploit 框架。
赞赏微信赞赏支付宝赞赏
发表评论