前言:

此篇文章,我们将学习windows内存取证技巧,包括学习windows内存取证常用目录文件、使用到的取证工具,技巧;公众号回复:20230607 即可获取此次使用的镜像文件以及工具,工具亦可自行下载。​

场景:

用户认为他们正在下载 SysInternals 工具套件并尝试打开它,但这些工具没有启动并且无法访问。从那时起,用户观察到他们的系统逐渐变慢并且响应速度变慢。

作为 soc 分析师,分析工件并回答问题。

使用工具:

AmcacheParser

下载地址: https://ericzimmerman.github.io/#!index.md

工具介绍:
AmcacheParser工具是一个用于分析Windows系统中AMCache.hve文件的工具。AMCache.hve文件包含了操作系统在运行程序时所使用的应用程序兼容性数据,包括程序名称、文件路径、版本号等信息。这些数据可以被用于恶意软件的检测和清除,因此分析AMCache.hve文件对于安全专家非常重要。

AmcacheParser工具可以帮助安全专家分析这些数据并识别可能存在风险的应用程序。它能够提供关于应用程序的详细信息,包括首次发现时间、最后访问时间、应用程序版本号等。此外,AmcacheParser工具还支持导出数据为CSV格式,针对大规模分析或报告方便分析。AppCompatCacheParser工具可以帮助安全专家分析这些数据并识别可能存在问题的应用程序。

AppCompatCachParser

下载地址: https://www.sans.org/tools/appcompatcacheparser/

工具介绍:
AppCompatCacheParser工具是一个用于分析Windows系统中AppCompatCache文件的工具。AppCompatCache文件包含了操作系统在运行程序时所使用的兼容性数据,如程序名、文件路径、最后访问时间等信息。这些数据可以被恶意软件利用,因此分析AppCompatCache文件对于检测和清除恶意软件非常重要

VirsuTotal

在线地址: https://www.virustotal.com/

网站介绍:
VirusTotal是一个免费的在线服务,它可以对文件、URL和IP地址等进行病毒扫描。用户可以将需要扫描的文件或链接上传到VirusTotal,该网站会使用多个反病毒引擎,包括 Avast、Kaspersky 和 McAfee 等知名反病毒软件来检测潜在的威胁。此外,VirusTotal还提供了一些功能,比如恶意软件分析工具、API接口、安全情报查询等等。该网站旨在帮助个人和组织迅速识别并响应可能的安全问题,以保护计算机系统和数据不受威胁。

FTK Imager

在线地址: https://www.exterro.com/ftk-imager

网站介绍:
FTK 成像器是一种数据预览和成像工具,可让您快速评估电子证据,以确定是否有必要使用取证工具包 (FTK®®) 等取证工具进行进一步分析。从介质内的不同位置创建本地硬盘驱动器、CD 和 DVD、拇指驱动器或其他 USB 设备、整个文件夹或单个文件的取证映像

题目如下:

用户下载的恶意可执行文件名是什么?

此处利用工具为FTK工具,该工具可以提取windows镜像里的文件内容;按照题意,我们需要到用户下载目录查看,所以我们将SysInternals.E01镜像导入后,访问
SysInternals.E01\Windows 10 [NTFS][root]\Users\Public\Downloads\SysInternals.exe
即可看到文件名字,我们可以将文件导出
在这里插入图片描述
单击鼠标右键,进行导出
在这里插入图片描述
此题答案为:SysInternals.exe

最后一次修改恶意可执行文件是什么时候?(12 小时制)

这里面不能按照导出的文件来,因为大家时区是不一样的
在这里插入图片描述
所以这里引进一个新知识,返回取证目标机器里,把C:\Windows\System32\config\ststem 导出来,system 是 Windows 操作系统中的一个关键文件,通常被称为 Registry(注册表)或 System Hive(系统蜂巢)。Registry 是一个数据库,其中包含了操作系统、硬件和应用程序的配置信息。在 Registry 中,系统存储了许多关键设置项,例如登录信息、设备驱动程序、软件设置、网络配置等等。

而 System Hive 是 Registry 的一部分,其中存储着与操作系统内核有关的信息,例如系统服务、驱动程序、启动项等等。这些信息很重要,因为它们决定了操作系统如何运行以及系统硬件如何协作工作。当计算机启动时,操作系统会读取 Registry 和 System Hive 中的设置,并将其加载到内存中。

总之,C:\Windows\System32\config\system 文件的作用是存储 Windows 操作系统的核心配置信息。这个文件对于计算机的正常运行至关重要,如果出现问题可能会导致系统崩溃或无法启动。

在这里插入图片描述
将该文件导出来,这个时候使用我们第二款工具 AppCompatCacheParser
该工具可以提取计算机文件修改信息
我们执行-h进行查看命令,以下是命令选项
在这里插入图片描述

-f<f>要处理的SYSTEM配置单元的完整路径。如果未指定此选项,则实时注册表将被使用
--csv<csv>(必需)将csv格式的结果保存到的目录。请确保在双引号中包含完整路径
--csvf<csvf>保存CSV格式结果的文件名。如果存在,则覆盖默认名称
--c<c>要解析的控制集。默认值是提取所有控制集[默认值:-1]
-t按降序排列上次修改的时间戳[默认值:False]
--dt<dt>显示时间戳时使用的自定义日期/时间格式。对于选项[默认值:yyyy-MM-dd HH:MM:ss]
--nl当为true时,忽略脏配置单元的事务日志文件[默认值:False]
--debug在处理过程中显示调试信息[默认值:False]
--trace显示处理过程中的跟踪信息[默认值:False]
--version显示版本信息
-?、-h、 --help显示帮助和用法信息

我们此次将SYSTEM文件移动到当前目录下即可

AppCompatCacheParser.exe -f SYSTEM --csv "E:\TEMP" --csvf system.csv

此命令为,将取证的system分析结果存储到 E:\TEMP目录下 名字为 system.csv
在这里插入图片描述
在这里插入图片描述
检索SysInternals即可
在这里插入图片描述
答案:2022/11/15 21:18:51 转换后: 11/15/2022 09:18:51 PM

恶意软件的 SHA1 哈希值是多少?

这里当然也不能直接计算hash值,否则是错误的,我们需要使用到目标机器的
C:\Windows\appcompat\Programs\Amcache.hve
amcache.hve是windows创建的记录可执行文件信息的注册表信息。
Amcache.hve 文件是用于存储应用程序兼容性信息的高速缓存文件。该文件包含了许多应用程序相关的信息,例如应用程序名称、版本号、安装路径等等

从amcache.hve中我们可以分析得到用户的一些行为,如:运行主机上的程序、安装程序、运行外部设备上的程序。还可以用于分析一些具有自删除功能的恶意可执行文件。

在这里插入图片描述
我们将此文件导出到AmcacheParser相同目录即可,AmcacheParser工具为分析.hve专用工具

AmcacheParser.exe -f Amcache.hve --csv temp

在这里插入图片描述
两个工具命令差不多,不做过多解释,–csv指定目录为temp,该工具将会生成很多csv文件,所以不需要指定特定的文件名
在这里插入图片描述
我们直接打开Amcache_UnassociatedFileEntries.csv文件即可,因为前几个都是与设备相关的文件,而此次我们的题目其实是衔接第二题,所以我们只需找到第二题下载的SysInternals文件即可
在这里插入图片描述
在这个文件里我们可以看到SysInternals.exe恶意文件的sha1值,也能看到圈起来的几个重要属性,包括FileKeyLastWriteTimestamp属性、LinkDate属性,大家可以看到,FileKeyLastWriteTimestamp属性与上一题SYSTEM中的LastModifiedTimeUtc 属性的时间很接近,只差了1秒钟,但是实际上两者之间并不是代表一个东西,在微软的接口文档中,我们发现,FileKeyLastWriteTimestamp属性含义为获取或设置上次写入当前文件或目录的时间;而LastModifiedTimeUtc 属性为获取上次修改应用的时间(UTC),UTC是时区
在这里插入图片描述
在这里插入图片描述
参考地址:
链接: https://learn.microsoft.com/zh-cn/dotnet/api/microsoft.azure.management.websites.models.sitepatchresource.lastmodifiedtimeutc?view=azure-dotnet

链接: https://learn.microsoft.com/zh-cn/dotnet/api/system.io.filesysteminfo.lastwritetime?view=net-8.0

其他文件解释:
在溯源取证中,这些文件可以提供以下信息:

Amcache_DeviceContainers:此文件包含与每个设备相关联的容器 ID 和类 ID,这些 ID
可以帮助确定哪些设备已连接到受害者计算机。
Amcache_DevicePnps:此文件包含有关每个 PnP 设备及其驱动程序的信息,例如设备名称、设备 ID 和驱动程序文件名。
Amcache_DriveBinaries:此文件包含有关每个安装的驱动程序二进制文件的信息,如文件名、版本号和时间戳。
Amcache_DriverPackages:此文件包含有关每个安装的驱动程序包的信息,如驱动程序名称、供应商名称和驱动程序版本号。
Amcache_ShortCuts:此文件包含有关每个快捷方式的信息,如快捷方式名称、目标路径和创建日期。
Amcache_UnassociatedFileEntries:此文件包含有关未与任何已知文件关联的文件的信息,例如文件路径、大小和创建日期。

system 文件与Amcache.hve文件有哪些区别,在溯源取证中两个文件能起到哪些作用?
C:\Windows\System32\config\system 文件和 C:\Windows\appcompat\Programs\Amcache.hve 文件都是 Microsoft Windows 操作系统中的重要文件,但是它们的作用和特点有所不同。

C:\Windows\System32\config\system 文件是 Windows Registry 的一部分,主要存储了操作系统、硬件和应用程序的配置信息,这些信息包括登录信息、设备驱动程序、软件设置、网络配置等等。该文件在操作系统启动时被加载到内存中,对于系统的正常运行至关重要。

C:\Windows\appcompat\Programs\Amcache.hve 文件是用于存储应用程序兼容性信息的高速缓存文件。该文件包含了许多应用程序相关的信息,例如应用程序名称、版本号、安装路径等等。当用户运行一个应用程序时,操作系统会自动检查 Amcache.hve 文件中是否包含有关该应用程序的兼容性信息。如果存在,则操作系统将使用这些信息来调整应用程序的行为,以确保其正常运行。

在数字取证(Digital Forensics)中,这两个文件都可以发挥重要的作用。通过分析 C:\Windows\System32\config\system 文件,取证人员可以了解到受害计算机上安装的应用程序、系统配置信息、网络连接记录等等,从而帮助他们确定受害计算机的使用情况和遭受攻击的类型。而通过分析 C:\Windows\appcompat\Programs\Amcache.hve 文件,取证人员可以了解到使用过的应用程序的名称、版本号、文件路径等信息,这些信息可以帮助他们确定受害计算机的软件配置情况,并且可以发现可能存在的安全风险。

恶意软件的家族是什么?

第三题我们获取了恶意文件的sha1值,所以我们直接前往VT进行在线查看即可
fa1002b02fc5551e075ec44bb4ff9cc13d563dcf
VT在线的地址:
https://www.virustotal.com/
在这里插入图片描述

第一个映射域的完全限定域名 (FQDN) 是什么?

这里我们需要关注一个文件

C:\Users\user\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine

该目录是与 PowerShell 命令行工具中的 PSReadLine 模块相关的配置文件和历史记录文件所在的位置。PSReadLine 模块为 PowerShell 命令行提供了增强的交互式功能,例如语法高亮、智能补全和历史记录等。

在溯源取证中,该目录可能会包含有关用户在 PowerShell 命令行中执行的命令的历史记录。这些历史记录可以提供有关用户活动的重要信息,例如他们使用过哪些命令、何时使用过这些命令以及命令的参数和选项等。因此,在调查安全事件或可疑活动时,分析这些历史记录可能会对确定威胁来源和行动方式产生帮助。

因为此镜像文件只在IEUser有记录,所以我们只看这个记录就可以

SysInternals.E01\Windows 10 [NTFS]\[root]\Users\IEUser\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt

在这里插入图片描述

映射的域链接到 IP 地址。该 IP 地址是什么?

在这里插入图片描述

在第一阶段可执行文件丢弃的可执行文件的名称是什么?

这里我理解的其实就是在第一阶段安装了个东西,东西安装过后就给安装包丢弃了,但是我在VT分析平台只看到了安装过程,没看到丢弃过程
在这里插入图片描述
该命令是在运行Windows命令提示符(cmd.exe),并执行以下操作:
安装vmtoolsIO.exe,这是VMware工具软件的一部分,用于提供虚拟机和宿主机之间的通信和协作。
启动名为“VMwareIOHelperService”的Windows服务,这个服务由vmtoolsIO.exe创建,并提供了与VMware虚拟机有关的IO帮助程序支持。
将“VMwareIOHelperService”服务配置为自动启动,以便每次启动Windows时都会自动启动服务。

第二阶段可执行文件安装的服务的名称是什么?

承接上题 VMwareIOHelperService

第二阶段可执行文件删除的文件的扩展名是什么?

按理说文件删除日志存储在
C:\Windows\System32\winevt\Logs\Security.evtx 中
文件删除日志id为4663 ,但是按照导出的东西查找,其实是为空的,这可能是说明,文件删除日志需要单独开启才会被记录;
gpedit.msc进入到计算机安全策略

在这里插入图片描述
只有该选项开启的时候,并且对应的文件夹设置了安全策略才会被记录,那么如果计算机没有记录到这个日志,我们就需要下载该恶意文件进行本地分析

但是最后也没找到到底是什么文件被删了
看了下别人写的,发现也是很潦草,最后文件指向
C:\Windows\Prefetch
Prefetch 目录是 Windows 操作系统中用于存储预读取文件的目录。当一个应用程序被打开时,Windows 会自动创建一个预读取文件,并保存在这个目录下。这个预读取文件包含了应用程序和相关库文件的信息,以便在下一次打开该应用程序时能够更快地加载它们。

该目录也是应急响应中比较关注的一个目录,理论上来讲,只要可执行文件执行了,就一定会在这个目录生成对应的文件,但是在此次演示中,我们并没有在该文件夹发现任何关于SysInternals.exe的条目,所以说明该条目被删除了

在这里插入图片描述
所以此题的答案为 pf

最后一道题应该是有其他解题思路,笔者尝试将恶意文件运行然后监听本地,但是发现好像这种方法并不行,似乎是没跑起来,又或许是删除了东西没有见听到​

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐