情报背景
LockBit在近期的攻击行动中使用了包含VMware签名程序的新DLL侧载组合, SentineLab的研究人员对该“白加黑”手法及后续攻击手段进行了分析。攻击者在构造利用链的过程中依据白名单程序的原始功能,对载荷文件类型进行伪造以规避检测。本文将对本次攻击事件涉及的DLL侧载技术进行分析,并对DLL侧载的挖掘与利用进行探讨。
组织名称 |
LockBit |
战术标签 |
执行、防御规避 |
技术标签 |
DLL Side-Loading |
情报来源 |
https://www.sentinelone.com/labs/lockbit-ransomware-side-loads-cobalt-strike-beacon-with-legitimate-vmware-utility/ https://twitter.com/vxunderground/status/1519817626943377432 |
01 攻击技术分析
文件名 |
描述 |
VMwareXferlogs.exe |
VMware合法组件,白名单程序 |
Glib-2.0.dll |
白名单程序启动后加载的恶意DLL |
c0000015.log |
包含加密载荷的日志文件 |
攻击者在获取初始访问权限后,向目标投递具备合法签名的VMware组件程序,恶意DLL,以及包含加密Beacon载荷的日志文件,随后解密执行日志文件中包含的Beacon木马。
亮点:基于VMware组件的新DLL侧载组合
白文件 |
侧载DLL |
导出函数 |
VMwareXferlogs.exe |
Glib-2.0.dll |
gchar* g_path_get_basename ( const gchar* file_name ) |
表 VMware组件的DLL侧载组合
DLL侧载是一类常见的代码执行技术,藉由具备可信身份的白名单程序加载恶意DLL,利用白名单程序的高可信度规避安全产品的行为检测。本次攻击中载荷类型的选取还考虑到了白名单程序的原始功能,进一步增加了恶意行为的捕获难度。
VMwareXferlog.exe是VMware Tools的一部分,它通常被安装于VMware虚拟机当中。处理VMX相关日志是该程序的原始功能,因此读取日志文件更容易被误认为是合法操作。日志文件后缀并不会影响程序的执行流程,将加密载荷放置于日志文件中更可能是攻击者有意为之。
图 白名单程序合法数字签名
从DLL侧载的对象考虑,随应用打包的基础库是良好的目标。Glib是面向对象的跨平台开源软件库,它封装了包括内存管理、日志追踪在内的诸多功能,被用于Wireshark、JDK等许多跨平台应用中。为保证ABI兼容性,开发者往往会将对应版本的glib DLL一并打包。Glib实现的功能足够底层,足以保证在较早的时候被加载调用,这些依赖glib的合法二进制具备较好的DLL侧载利用潜力。
图 VMware组件导入表中glib相关函数
图 VMware组件主函数中对被劫持函数的调用
此白名单程序被包含在2021年发布的VMware tools 11.3.5版本中,通过分析发现最新12.0.5版本的VMwareXferlog.exe依然可以相同方式用于DLL侧载攻击。只要程序架构不发生大的改变,白名单程序的DLL侧载攻击面可能存在于多个版本。针对DLL侧载的挖掘与捕获应当关注白应用的前后版本,而非局限于在野利用中的特定版本。
02 总结
本次攻击事件暴露了基于VMware组件的一种新的DLL侧载利用方式,以及模拟白应用正常流程对抗动态检测的手法。改进后的DLL侧载方式将攻击行为事件混迹于合法操作当中,更加符合OPSEC的安全实践。针对基础库的劫持是DLL侧载的常见方法,利用方式也可能跨越多个版本存在,对公开的DLL侧载方式进行主动收集与挖掘有助于先敌一步,规避此类安全威胁。
绿盟科技天元实验室专注于新型实战化攻防对抗技术研究。
研究目标包括:漏洞利用技术、防御绕过技术、攻击隐匿技术、攻击持久化技术等蓝军技术,以及攻击技战术、攻击框架的研究。涵盖Web安全、终端安全、AD安全、云安全等多个技术领域的攻击技术研究,以及工业互联网、车联网等业务场景的攻击技术研究。通过研究攻击对抗技术,从攻击视角提供识别风险的方法和手段,为威胁对抗提供决策支撑。
M01N Team公众号
聚焦高级攻防对抗热点技术
绿盟科技蓝军技术研究战队
官方攻防交流群
网络安全一手资讯
攻防技术答疑解惑
往期推荐
原文始发于微信公众号(M01N Team):攻击技术研判 | 基于VMware组件的新“白加黑”利用技术