欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

如何分析恶意软件在系统中执行了

来源:本站整理 作者:佚名 时间:2017-08-11 TAG: 我要投稿

你发现了一个恶意的可执行文件,现在你有一个关键的问题要回答:文件是否执行?这篇文章中我们将讨论一些可用于回答这个问题的一些依据。在文中,我们将重点介绍Windows系统上的静态或“死锁”取证。我们将介绍四个主要的依据:Windows预读取,注册表,日志文件和文件信息。
预读取
Windows 预读取是最开始查找文件执行证据的好地方。 微软设计的Windows 预读取允许常用程序可以很快的打开。默认情况下,它将最近128个执行文件的信息存储在“C:\Windows\Prefetch”中的预读取文件中。预读取文件被命名为"可执行文件名"+文件路径的哈希值+.pf。预读取文件中存储进程执行前十秒内的第一次和最后一次运行日期、文件路径、执行的次数以及需要加载的文件。因此,如果您的恶意软件存在文件名显示为“DABEARS.EXE-12F3B52A.pf”这样的预读取文件,那么您将知道该文件已经在执行了。不过请注意:在Windows服务器上,默认情况下是禁用预读取功能的。
注册表
正如人们所期待的那样,Windows注册表中包含大量有关Windows系统中程序运行的信息。由于注册表很大,下面的列表可能并不全面,但它显示了我们需要检查的主要注册表项以用来确定文件是否在执行:
1. ShimCache
Microsoft创建了ShimCache或“AppCompatCache”来识别应用程序兼容性问题。高速缓存数据跟踪文件路径,大小,最后修改时间和最后“执行”时间(取决于操作系统)。如果使用Windows的“createprocess”执行文件,则系统会将其记录在ShimCache中。虽然文件在ShimCache中的存在不能100%证明文件执行,但它确实显示Windows与文件进行了交互。以下注册表键值包含了ShimCache数据:“HKLMSYSTEMCurrentControlSetControlSession
ManagerAppCompatibilityAppCompatCache(XP)和“HKLMSYSTEMCurrentControlSetControlSession
ManagerAppCompatCacheAppCompatCache”(非XP)。有关ShimCache的更多信息,请参阅Andrew Davis的博客条目 - 或Mandiant的SANS DFIR会议介绍。
2. MUICache
当通过Windows资源管理器执行文件时,shell程序会在MUICache中创建一个条目。 Windows事件响应博客上有一篇很好的文章介绍了整个过程。 Windows使用MUICache来存储从资源部分中的PE版本信息检索到的应用程序名称。信息存储在以下键中:
“HKCUSoftwareMicrosoftWindowsShellNoRoamMUICache”(XP,2000,2003)和
“HKCUSoftwareClassesLocal SettingsSoftwareMicrosoftWindowsShellMuiCache”(Vista,7,2008)。
3. UserAssist
UserAssist跟踪在Explorer.exe中打开的可执行文件和链接。 UserAssist键跟踪文件在注册表项中运行的最后执行时间和次数:“HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerUserAssist”。 UserAssist键下内容对应于可执行文件名称和用ROT13加密的文件路径值;因此,如果您在解码之前进行关键字搜索,您可能会错过该键值内的依据。有许多解密注册表键值的工具,包括RegRipper userassist.pl插件。
日志文件
您可以分析几个日志来确定文件是否执行。从Windows系统事件日志开始,因为此日志记录服务启动。图1中的事件显示一个管理员(SID =“ - 500”)执行了PSEXECSVC远程执行服务:
 

图1:事件ID 7035 -服务启动
服务启动时,通常会执行ImagePath中指定的文件或加载所需的服务DLL。 例如,“Netman”服务在执行时使用合法的文件“netman.dll”。 但是,如果注册表中的ServiceDll包含了一个名为“tabcteng.dll”的后门路径,则“Netman”服务将执行“tabcteng.dll”。 所以,在启动服务程序时有必要验证ImagePath的文件以及ServiceDlls。
如果在Windows事件日志审核设置中启用了审计流程跟踪,则Windows安全事件日志中包含了大量有关执行进程的信息,以此可以用来证明文件是否在执行。 图2和图3显示了恶意文件和关联进程ID,以及父进程ID和用户名,可以帮助进一步调查。
 

图2:XP事件ID 592 - 进程创建
Windows Vista 记录了类似的进程创建事件,但EventID为4688。

 
图3:Vista EventID 4688 - 流程创建
在比较新版本的Windows系统中,审核功能会更精细,并且在Windows Server 2008 R2和Windows 7中与组策略集成在一起。高级审核策略设置可以在图3中找到。
在这篇文章中有太多的供应商可以覆盖,但是基于主机的IPS或AV产品日志可能会在文件运行或尝试对其他文件进行操作时显示。 图4包含来自McAfee Access Protection日志的示例事件。
 

图4:McAfee Access Protection日志事件
Windows计划任务日志可以用来确认攻击者是否在使用计划任务来执行恶意软件。 计划任务记录在名为“SchedLgU.txt”的日志文件中,如下所示:
 

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载