如何确定恶意软件是否在自己的电脑中执行过?

很不幸,你在自己的电脑里发现了一个恶意的可执行程序!那么问题来了:这个文件到底有没有执行过?

[[200846]]

在这篇文章中,我们会将注意力放在Windows操作系统的静态取证分析之上,并跟大家讨论一些能够帮助你回答上面那个问题的方法以及证据源,其中涉及到的四大主要的证据源包括Windows Prefetch、注册表、日志文件以及文件信息。

Windows Prefetch

Windows Prefetch(Windows 预读取)是一个查找文件执行证据的好地方。根据微软的设计方案,Windows Prefetch的功能就是允许那些经常需要使用到的程序打开得更加快。默认设置下,它会在预读取文件(存储路径为”C:\WindowsPrefetch”)中存储最近执行的128个文件的信息。一个预读取文件的命名规则为”可执行文件名+文件路径的哈希+后缀名.pf”,预读取文件中会保存文件的第一次和最后一次运行日期、文件路径和执行次数等信息。所以说,如果你的恶意软件文件名或路径哈希出现在了一个预读取文件(例如” DABEARS.EXE-12F3B52A.pf”)之中,那就说明这个恶意文件曾在你的电脑中执行过了。

注:Windows Server默认禁用了预读取功能。

注册表

没错,Windows注册表可是一个巨大的“宝藏”,注册表可以算是Windows系统能够正常运行的基石了。虽然注册表非常“庞大”,但是我们接下来给出的表单却并没有那么复杂。因为如果要确定一个文件是否执行过,我们只需要检查几个重要的注册表键即可:

1. ShimCache

微软使用了ShimCache或“AppCompatCache”来识别应用程序的兼容性问题。缓存数据能够追踪文件路径、大小、最后修改时间和最后一次运行的时间。如果一个文件以Windows进程的形式执行过,那么它的信息将会被记录到ShimCache中,但是ShimCache中记录的文件信息并不能100%证明一个文件执行过,因为它只能证明Windows曾与该文件交互过。下面这个注册表键中包含了ShimCache数据:

 

  1. HKLMSYSTEMCurrentControlSetControlSessionManagerAppCompatibilityAppCompatCache(for XP)  
  2. HKLMSYSTEMCurrentControlSetControlSessionManagerAppCompatCacheAppCompatCache(for Non-XP) 

2. MUICache

当一个文件通过Windows Explorer(资源管理器)运行,程序Shell会在MUICache中创建一个入口。Windows使用MUICache来存储应用程序名以及其他相关信息,获取来的信息主要存储在下面的注册表键中:

 

  1. HKCUSoftwareMicrosoftWindowsShellNoRoamMUICache(for XP, 2000, 2003)  
  2. HKCUSoftwareClassesLocal SettingsSoftwareMicrosoftWindowsShellMuiCache(for Vista, 7, 2008) 

3. UserAssist

UserAssist可以追踪可执行程序以及资源管理器中打开的链接,UserAssist键能够追踪文件的最后一次执行时间以及执行次数,并将信息存储在下面这个注册表键中:

  1. HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerUserAssist 

UserAssist键的值对应了可执行程序的名称以及文件路径,并使用了ROT13加密。因此,如果你想直接通过搜索关键字来查找文件执行的证据的话,在不解码的情况下是无法做到的。目前也有很多工具可以解密这个注册表键,例如RegRipper userassist.pl插件。

日志文件

为了确定一个文件是否执行过,我们还可以根据日志文件的分析结果来判断。首先我们来看一看Windows System Event Log(系统事件日志),因为这个日志文件记录了服务的启动信息。下图显示的事件(Event ID=”7035″)信息表明,一个管理员(SID=”-500″)运行了PSEXECSVC远程执行服务:

当一个服务启动时,它通常会执行ImagePath中定义的文件或一个已加载的服务DLL。比如说,”Netman”服务在执行时使用了一个合法文件”netman.dll”。但是,如果注册表中的ServiceDll(例如”tabcteng.dll”)包含一条指向后门的路径,那么”Netman”服务将会执行”tabcteng.dll”。所以,你可以通过分析ImagePath和ServiceDll的有效性来判断是否有恶意服务启动过。

如果Windows Event Log(事件日志)的审计设置开启了Audit Process Tracking(审计进程追踪)功能,那么Windows Security Event Log(安全事件日志)中将会记录大量关于进程的信息,而这些信息绝对能够证明一个文件是否执行过。下面这两张图片显示了恶意文件、相关进程ID、父进程ID和用户名,这些信息可以帮助我们进行进一步分析:

XP EventID 592 – 进程创建:

Windows Vista+记录下了类似的进程创建事件,EventID为4688:

在更新版本的Windows中,审计功能所能记录的信息将更加精确化,并且微软从Windows Server 2008 R2以及Windows 7中将这个功能整合到了Group Policy(组策略)中。

除此之外,基于主机的IPS或反病毒产品日志同样可以表明一个文件是否执行过,或者曾经尝试执行过。下图给出的是McAfee Access Protection日志中记录下的一次访问事件样本:

Windows Scheduled Task Log(计划任务日志)可以帮助我们判断攻击者是否使用了Windows的计划任务功能来运行恶意软件。计划任务的信息会被记录在一个名叫”SchedLgU.txt”的日志文件中:

在Windows Vista+平台中,计划任务的执行信息还会记录在”Microsoft-Windows-TaskScheduler/Operational”日志中:

最后,如果一个程序崩溃了,那么Dr.Watson日志可以记录下恶意任务的运行信息:

文件功能

另一种判断文件是否运行过的方法就是寻找可疑的输出文件。当你在分析一个恶意文件时,它是否会创建任何的数据呢?比如说,如果你发现的这个恶意文件是一个键盘记录器,然后你又在系统中发现了键盘记录文件,则说明攻击者已经执行过这个keylogger了。如果恶意软件能够与特定的域名进行链接,那么浏览器的历史记录中肯定也会记录下相关域名。下表中显示的是我们在浏览器历史纪录中捕捉到的样本,这个后门样本使用了两种通讯机制:

想要判断恶意文件是否执行过,我们可以分析文件的功能并在磁盘中寻找相应功能的运行结果/证据。分析恶意软件的功能不仅可以帮助我们了解攻击者的动机和最终目标,而且还有可能帮我们找出其他相关的恶意文件。

[[200847]]

注:如果你在自己的系统中发现了恶意的可执行文件,别忘了先将当前系统内存中的数据导出,你可以使用 MandiantRedline服务 捕捉并分析内存数据。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/125016.html<

(0)
运维的头像运维
上一篇2025-02-23 13:32
下一篇 2025-02-23 13:33

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注