正文
更多关于ShimCache的内容,请参考Andrew Davis的【这篇文章】以及Mandiants的【会议报告】。
当一个文件通过Windows Explorer(资源管理器)运行,程序Shell会在MUICache中创建一个入口。Windows使用MUICache来存储应用程序名以及其他相关信息,获取来的信息主要存储在下面的注册表键中:
HKCUSoftwareMicrosoftWindowsShellNoRoamMUICache(for XP, 2000, 2003)HKCUSoftwareClassesLocal SettingsSoftwareMicrosoftWindowsShellMuiCache(for Vista, 7, 2008)
关于MUICache的更多内容,请参考windowsir的【这篇文章】。
UserAssist可以追踪可执行程序以及资源管理器中打开的链接,UserAssist键能够追踪文件的最后一次执行时间以及执行次数,并将信息存储在下面这个注册表键中:
HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerUserAssist
UserAssist键的值对应了可执行程序的名称以及文件路径,并使用了ROT13加密。因此,如果你想直接通过搜索关键字来查找文件执行的证据的话,在不解码的情况下是无法做到的。目前也有很多工具可以解密这个注册表键,例如RegRipper userassist.pl插件【点我获取】。
日志文件
为了确定一个文件是否执行过,我们还可以根据日志文件的分析结果来判断。首先我们来看一看Windows System Event Log(系统事件日志),因为这个日志文件记录了服务的启动信息。下图显示的事件(Event ID=”7035″)信息表明,一个管理员(SID=”-500″)运行了PSEXECSVC远程执行服务: