1 概述
2021年1月微软和谷歌发布针对朝鲜黑客对安全研究人员的黑客攻击研究报告。报告称为了建立可信度并与安全人员建立联系,攻击者建立了一个多个博客和Twitter,并发布有关漏洞利用相关技术信息。在与安全研究人员建立联系并获得安全研究人员信任后,攻击者会通过信任关系发送包含隐藏恶意代码的技术信息。恶意代码运行后会获取安全研究人员主机各种信息并将其发送到攻击者控制的C2。除了这种新颖的社会工程外,攻击者还会在控制的博客中嵌入恶意代码,安全研究人员访问后即受到攻击,主机上被安装恶意代码。此次攻击安全研究人员事件被公认为为是Lazarus Group 所为。
在2021年2月,安全公司ENKI发布报告称朝鲜黑客利用Internet Explorer 0day漏洞攻击该公司安全研究人员。本次报告即对ENKI捕获的样本进行详细分析。
2 攻击分析
攻击者将名为“Chrome_85_RCE_Full_Exploit_Code.mht”,内容为Chrome漏洞POC的HTML文档发送给安全研究人员。该文档要求使用者运行脚本或ActiveX控件,才能完全读取文本内容。这被认为是使用 Internet Explorer 浏览器的原因。
图 2-1 初始接入样本
如果允许脚本执行,则会从远程C2(codevexillium.org)下载有效载荷。“Chrome_85_RCE_Full_Exploit_Code.mht”样本将代码高度压缩混淆,经分析人员分析,发现主要恶意代码是将“https://codevexillium.org/board/view.asp?id=1”网页通过document.write函数嵌入到mht文件中,进而下载下一阶段载荷。
图 2-2 样本原始恶意代码
图 2-3 经过处理的恶意代码
第二阶段有效载荷为高度压缩与混淆的JS代码。经过分析人员处理,发现第二阶段载荷收集浏览器各种信息,并将该信息发送到远程C2,然后从远程C2下载第三阶段载荷。第二阶段载荷获取第三阶段载荷并进行解密。
图 2-4 第二阶段原始样本
图 2-5 收集浏览器信息
图 2-6 请求第三阶段载荷
图 2-7 解密第三阶段载荷
第三阶段载荷原始是base64编码。经过第二阶段载荷解码解密后获得第三阶段载荷。第三阶段载荷利用Internet Explorer 0day(CVE-2021-26411)漏洞执行第四阶段载荷。其中第四阶段载荷以进制数方式硬编码在第三阶段代码中。
图 2-8 第三阶段原始载荷
图 2-9 第四阶段载荷编码
第三阶段载荷利用Internet Explorer的Double Free漏洞,将两个不同类型的指针指向空内存,通过类型混淆实现指针泄露和指针解引用。再通过构造RPC_MESSAGE绕过windows操作系统控制流保护(CFG),调用rpcrt4实现任意代码执行,将shellcode注入到msi.dll,执行shellcode即可实现恶意行为。
图 2-10 Main函数和shellcode函数
图 2-11 漏洞触发
图 2-12 利用RRC机制绕过CFG
图 2-13 Shellcode注入
第四阶段载荷获取进程列表、屏幕截图和网络接口信息发送给C2,然后从C2下载下一阶段有效载荷。其中第四阶段载荷直接调用系统函数,而不是使用DLL中的函数,意在绕过安全检测产品。
3 写在最后
Lazarus Group是一个非常活跃且具有朝鲜政府背景的组织,至少从2007年就开始活跃。涉嫌网络犯罪、间谍活动和具有实质性破坏的攻击,此外还对全球的金融机构进行攻击,堪称全球金融机构的最大威胁。Lazarus组织具有多种平台的开发能力,不仅会复用已有的后门木马,也使用Objective-C开发适用于MacOS平台的后门木马。Lazarus组织使用的后门木马的加密流量特征,包括JA3 特征和Sectigo RSA Domain Validation Secure Server CA证书等。据Novetta报道,2014年11月该组织针对索尼影视娱乐有限公司的毁灭性磁盘擦除器攻击是Blockbuster行动的一部分。Lazarus Group使用的恶意软件与其他报道过的活动有关,包括Flame行动,1Mission行动,Troy行动,DarkSeoul和Ten Days of Rain。在2017年底,Lazarus Group使用磁盘擦除工具KillDisk攻击了中美洲一家在线赌场。 从此次事件分析,Lazarus Group具备很成熟的战前规划能力、作战能力以及0day利用能力。