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

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

[[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

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

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