蓝盟IT外包,如何解读MassLogger使用的逆分析策略

发布者:上海IT外包来源:http://www.lanmon.net点击数:1556


FLARE团队最近刚完成了MassLogger的分析,MassLogger是相当新的证书盗窃软件。 MassLogger缺乏新功能,但在执行时采用替代Microsoft中间语言(MSIL  )的复杂技术,阻碍了静态分析。 投稿时,只有一篇文章详细介绍了MassLogger的模糊化技术。 本文让我们看看FLARE团队对MassLogger证书被盗程序和. NET运行时的深入研究。
MassLogger的基本知识
MassLogger是. NET证书被盗软件,来自使用简单反向调试技术的启动程序(6b  975 FD  7e3EB  0d  30 B6DBE  71 B  8004 B  06 DE  0870 E165 DE  4b  DE7AB  82154871 ) 该第一阶段加载器最终对第二阶段组件进行XOR处理,然后进入名为Bin-123.exe的最终MassLogger有效载荷(BC  07 C  3090 BEF  B5 E  94624 CA  49 EE  88 B  3265 A3 D1 D  288 F  79588 最终的有效载荷可以很容易地提取并独立执行。 因此,我们关注使用主要逆分析技术的最终有效载荷。

基本的静态分析找不到有价值的东西,但我注意到了有趣的字符串,但不足以提供恶意软件功能的提示。 在托管环境中执行有效负载时,此示例显示删除了标识恶意软件系列、其版本和最重要的配置选项的日志文件。 图1显示了示例日志文件。 随着示例的执行,也可以从内存中提取有趣的字符串。 但是,基本动态分析不足以提取所有基于主机的指标(HBI  )、基于网络的指标(NBI  )和完整的恶意软件功能。 为了更好地理解样品及其功能,必须进行更深入的分析。


逆编译处理
与许多其他. NET恶意软件一样,MassLogger混淆了所有方法名称或方法控制流。 可以使用de4dot自动模糊MassLogger的有效载荷。 但是,当看到模糊化的有效载荷时,我很快发现了许多方法几乎不包含逻辑的主要问题。在dnSpy的IL  (中间语言)视图中查看原始MassLogger有效载荷,可以确认大多数方法都不包含逻辑,也没有返回任何内容。 这显然不是真正的恶意软件。 这是因为动态分析观察到示例实际上执行了恶意活动并记录在日志文件中。 我们只剩下几个方法,最明显的是用主模块构造函数首先调用的带标签的0x0600049D的方法。
方法0x0600049D的控制流与一系列switch语句混淆,但通过dnSpy作为调试器的帮助,我们仍然可以在某种程度上遵循该方法的高级逻辑。 但是全面分析这个方法非常需要时间。 相反,在第一次分析此有效载荷时,选择快速扫描整个模块以查找提示。 幸运的是,我找到了基本静态分析期间忽略的有趣字符串,clrjit.dll,VirtualAlloc,VirtualProtect,WriteProcessMemory。
通过在网上快速搜索“clrjit.dll”和“VirtualProtect”,可以快速了解被称为“Just-In-Time  Hooking”的技术。 本质上,JIT钩子与在compileMethod  ()函数上安装钩子有关,JIT编译器用该函数将MSIL编译为汇编(x86,x64等)。 有了钩子,恶意软件可以很容易地用包含原始恶意软件逻辑的实际MSIL替换每个方法主体。 为了完全理解这个过程,让我们研究一下. NET可执行文件、 NET方法、MSIL如何成为x86或x64程序集等问题。
. NET可执行方法
. NET可执行文件是另一个具有可执行(PE  )格式的二进制文件,现在有很多资源详细描述PE文件格式、 NET元数据和. NET令牌表。 但是,这些将重点放在. NET方法上,而不是本文中讨论的重点。

. NET程序集中的每个. NET方法都由一个令牌标识,实际上, NET程序集中的所有内容都由令牌标识,无论是模块、类、方法原型还是字符串。 如图5所示,让我们看看用令牌0x0600049D识别的方法。 最有效的字节(0x06 )表示该标签是方法标签(0x06类型),而不是模块标签(0x00类型)、0x02类型或LocalVarSig标签(0x11类型)。 三个最低有效字节告诉我这个方法的ID。 在这个情况下是0x49D(decimal是1181 )。 此ID也称为方法ID(MID  )或方法的原始ID。 rowid是用于唯一标记表中的行的虚拟列。 作为物理表行数据的内部地址,在数据表中包括指向包含该行的块中存储的数据文件的地址、和可以直接定位于数据行本身的行的数据块中的地址这两个。

文/上海蓝盟  IT外包专家

IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部