LetsDefend-Windows磁盘取证

LetsDefend-Windows磁盘取证

针对我们组织开展了有针对性的网络钓鱼活动,到目前为止,我们网络中的 3 个系统已打开了钓鱼邮件。我们从其中一个受感染的系统收集了快速分类图像,并将其提供给您,以识别攻击者正在使用的 TTP。识别攻击者使用的技术和策略,以便我们的事件响应团队能够响应并减轻网络上的任何进一步危害。

题目链接

https://app.letsdefend.io/challenge/windows-forensics

取证工具

ShellBags Explorer

ShellBags Explorer 是一个用于分析 Windows 操作系统中 ShellBags 数据结构信息的工具。ShellBags 是 Windows 注册表中记录文件夹视图设置和访问历史的项目。ShellBags Explorer 可以提供以下信息:

  1. 用户访问过的文件夹的路径。
  2. 访问这些文件夹的时间戳。
  3. 文件夹的视图设置(例如图标大小、排序方式等)。
  4. 文件夹的其他元数据(例如创建时间、修改时间等)。

这种工具在数字取证分析中非常有用,因为即使文件或文件夹被删除,ShellBags 记录的信息可能依然保留在注册表中,从而提供有价值的历史访问记录。

ShellBags Explorer 主要分析以下两个注册表 Hive 文件:

  1. NTUSER.DAT
    • 位置:C:\Users\<用户名>\NTUSER.DAT
    • 描述:每个用户账户都有一个 NTUSER.DAT 文件,其中包含用户的配置文件信息和注册表数据。ShellBags 数据存储在 NTUSER.DAT 文件中,用于记录用户对文件夹的视图设置和访问历史。
  2. 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 数据的一部分也存储在这个文件中。

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位于下面两个位置:

  1. HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
  2. 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\Cyber​​Junkie\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 框架。

赞赏

微信赞赏支付宝赞赏

Zgao

愿有一日,安全圈的师傅们都能用上Zgao写的工具。

发表评论