背景
据多家媒体报道,2019年3月18日,世界最大的综合性铝业集团之一的挪威海德鲁公司(Norsk Hydro)在美国和欧洲的多个工厂遭受勒索软件攻击[1],导致IT系统无法使用,造成多个工厂关闭和部分工厂切换为手动运营模式。该公司临时关闭多个工厂,并将挪威、卡塔尔和巴西等国家的工厂运营模式部分改为“可以使用的”手动模式,以缓解对生产的影响。该勒索病毒似乎还攻击了美国的化工企业Hexion和Momentive,以至于部分员工无法正常登陆系统。[3]
360威胁情报中心对该勒索病毒(LockerGoga)进行了进一步的详细分析,发现该勒索病毒极可能为定向攻击的破坏性勒索病毒,其在病毒父进程中遍历文件,然后通过在多个子进程中加密文件的方式来提高加密的速度和效率,充分利用了CPU的多核特性来加快破坏效率(子进程的数量会一直等于处理器数量)。
样本分析
360威胁情报中心对相关样本进行了详细分析,分析报告内容如下。
PE基本信息
MD5 | 7e3f8b6b7ac0565bfcbf0a1e3e6fcfbc |
SHA256 | 7bcd69b3085126f7e97406889f78ab74e87230c11812b79406d723a80c08dd26 |
文件大小 | 1.19 MB (1,249,144 字节) |
编译信息 | VS2015 |
数字签名 | ALISA LTD |
该样本有数字签名,基本属性如下图所示:
通过工具可以看出它是由VS2015编译的32位可执行程序:
执行流程简介
Lockergoga首次运行时会把自身移动到当%UserTemp%目录下,移动后的文件被重命名为zzbdrimpxxxx.exe(xxxx为4个随机数字),重命名后的程序随后将被启动并传入参数"-m"。该进程将遍历文件,并以"-iSM-zzbdrimp -s"为参数启动更多的子进程以加密用户文件。
程序运行起来后会获取命令行参数,根据不同的参数执行不同的流程:
与参数相关的字符串:
接着会检查参数,参数不合法时程序会直接退出:
最后根据不同的参数对功能函数进行动态调用,以执行对应的流程:
参数详细分析
以-m为参数的进程主要是起调度作用:首先会创建互斥体(MX-zzbdrimp),然后创建线程遍历磁盘文件,随后进入一个循环,在这个循环中会以"-iSM-zzbdrimp -s "为参数创建更多的子进程。父进程会检测子进程数量以及子进程状态,以保证子进程的数量规模与CPU核心数一致。
以"-iSM-zzbdrimp -s"为参数的子进程用于加密文件。待加密文件路径由父进程提供,之间的通信会用到互斥体(MX-zzbdrimp)来进行同步。父进程把待加密文件的路径进行Base64编码后传给子进程。子进程使用随机生成的AES密钥,利用AES_128算法来加密该文件。AES密钥通过内置的RSA公钥加密后,附加到被加密文件的末尾。
无命令参数
对应例程函数首先进行各种权限调整:
然后生成目标文件名,创建进程把自身移动到当前用户的Temp目录下:
接下来以-m为参数运行移动后的程序:
最后调用位于0x410D40地址处的函数,创建并写入用户说明文件,即桌面上的README_LOCKED.txt文件:
-m参数
首先创建互斥体(MX-zzbdrimp),用于同子进程进行同步:
接下来创建线程遍历磁盘文件:
随后开始循环创建子进程并传入参数"-iSM-zzbdrimp -s",代码会确保子进程的数量不超过处理器的核心数。
同时监控子进程的状态,若意外中止则重新创建:
-i SM-zzbdrimp -s参数
首先尝试打开命名互斥体(MX-zzbdrimp)获取该互斥体的句柄,若不存在则会导致该函数出错,程序就直接退出:
子进程获取从父进程传入的待加密文件路径,路径名需经Base64解码:
接下来加载Rstrtmgr.dll动态库,调用RmStartSession、RmRegisterResources以及RmGetList函数来解除对待加密文件的占用,防止因其它程序正在使用该文件导致加密失败:
加密时首先生成32字节的随机数,用于AES密钥生成:
接下来解码程序中硬编码的RSA公钥:
公钥对应内容为:
-----BEGIN PUBLIC KEY-----
MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQC9dR7jfOdn8AZTi0plXQRQKHWJAxLlykYr
9V4ZMXLJ9d9kmyHUoKturoTYNZZisiW5ncP6/2YtG5ezGSXnQXUQtZTAnVesTalNvLyd6tBe
t81p8mxflulX99T2WKubEnc2OR0Yj2a6EJppt2IVx6H/BiF7G3Z2z4qg/tsXBant4wIBEQ==
-----END PUBLIC KEY-----
加密后的文件名后缀为.locked:
LockerGoga使用CBC模式的AES算法加密文件,前16字节随机数作为初始向量iv,后16字节随机数作为密钥key:
AES密钥和初始向量(即生成的32字节的随机数)将被AES加密后追加到对应文件的末尾:
其它参数
使用Ollydbg的脚本来测试参数,发现只有3种参数有效:
-i SM-zzbdrimp -s
-m SM-zzbdrimp -s
-l SM-zzbdrimp -s
经过测试发现前两种参数并无区别,第三种参数会在C盘根目录下创建一个C:.log的文件用于记录还有多少文件尚未被加密,如下图所示:
加密文件类型
LockerGoga在加密文件时会对文件后缀进行比较,但我们在实际运行调试中发现所有类型的文件都被加密(包括exe以及dll等),另外有些文件还可能被加密多次。
总结
经过分析,LockerGoga会加密各种类型的文件,包括PE文件、系统目录以及启动目录下的文件,因此具有很强的破坏性。它通过在父进程中遍历文件,然后在多个子进程中加密文件以及充分利用CPU的多个核心的方式来提高加密的速度和效率(子进程的数量会一直等于处理器数量)。针对本次的病毒技术特点以及结合以往的病毒传播方式,我们给出以下安全建议:
不要运行来历不明软件
及时更新操作系统安全补丁,防止病毒利用漏洞传播
安装360天擎等终端杀毒软件并引入威胁情报,定期扫描电脑,及时升级更新病毒库保持杀毒软件的良好运行
提高安全意识,保持良好的上网习惯,重要数据做好备份
IOCs
SHA256:
14e8a8095426245633cd6c3440afc5b29d0c8cd4acefd10e16f82eb3295077ca
47f5a231f7cd0e36508ca6ff8c21c08a7248f0f2bd79c1e772b73443597b09b4
5b0b972713cd8611b04e4673676cdff70345ac7301b2c23173cdfeaff564225c
6e69548b1ae61d951452b65db15716a5ee2f9373be05011e897c61118c239a77
7852b47e7a9e3f792755395584c64dd81b68ab3cbcdf82f60e50dc5fa7385125
7bcd69b3085126f7e97406889f78ab74e87230c11812b79406d723a80c08dd26
8cfbd38855d2d6033847142fdfa74710b796daf465ab94216fbbbe85971aee29
9128e1c56463b3ce7d4578ef14ccdfdba15ccc2d73545cb541ea3e80344b173c
ba15c27f26265f4b063b65654e9d7c248d0d651919fafb68cb4765d1e057f93f
bdf36127817413f625d2625d3133760af724d6ad2410bea7297ddc116abc268f
c3d334cb7f6007c9ebee1a68c4f3f72eac9b3c102461d39f2a0a4b32a053843a
eda26a1cd80aac1c42cdbba9af813d9c4bc81f6052080bc33435d1e076e75aa0
f3c58f6de17d2ef3e894c09bc68c0afcce23254916c182e44056db3cad710192
参考链接
[1]. 挪威海德鲁铝业集团网络攻击事件的初步分析
[2]. https://www.recordedfuture.com/lockergoga-ransomware-insight/
[3]. https://motherboard.vice.com/en_us/article/8xyj7g/ransomware-forces-two-chemical-companies-to-order-hundreds-of-new-computers
[4]. https://www.bleepingcomputer.com/news/security/lockergoga-ransomware-sends-norsk-hydro-into-manual-mode/
[5]. https://www.bleepingcomputer.com/news/security/new-lockergoga-ransomware-allegedly-used-in-altran-attack/
[6]. https://go.recordedfuture.com/hubfs/reports/cta-2019-0320-yara-rules.yar
[7]. https://gist.github.com/Blevene/7b0221bd1d79bec57fb555fe3613e102#file-lockergoga-csv
声明:本文来自奇安信威胁情报中心,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。