诸如臭名昭著的Lazarus等黑客组织正在窃取新冠疫苗敏感信息,以加快本国疫苗开发的速度。

网络安全公司卡巴斯基(Kaspersky)详细描述了去年9月和10月发生在一家制药公司和一个政府部门的两起事件,这两起事件使用了不同的工具和技术,但在后利用过程中表现出了相似之处,这使得研究人员将这两起攻击与与朝鲜政府有关的黑客联系起来。

这两起事件表明Lazarus组织对与新冠有关的情报非常感兴趣。尽管该组织以其金融活动而闻名,但本次事件也提醒研究人员该组织的其他战略用途。

卡巴斯基没有透露具体的目标对象,但具体攻击时间分别是2020年9月25日和2020年10月27日。

值得注意的是,该制药公司涉及开发新冠疫苗,Lazarus组织部署了“BookCodes”恶意软件,该恶意软件最近在韩国软件公司WIZVERA的供应链攻击中用于安装目标系统上的远程管理工具(RAT)。

攻击中使用的初始访问向量仍然未知,但是据称研究人员确定了一个恶意软件加载器来加载加密的BookCode RAT,该RAT具有收集系统信息,接收远程命令并将执行结果传输到位于韩国的命令和控制(C2)服务器。

在另一个针对卫生部的攻击中,黑客侵入了两台Windows服务器,安装了一种名为“wAgent”的恶意软件,然后用它从攻击者控制的服务器上获取其他恶意载荷。

不过研究人员表示他们无法定位攻击中使用的启动模块,但怀疑它在运行带有特定参数的恶意软件时扮演了“微不足道的角色”,随后wAgent将一个包含后门功能的Windows DLL直接加载到内存中。通过这个内存后门,恶意软件操作人员执行了大量的shell命令来收集受害者信息。

卡巴斯基表示,无论攻击中使用了两个恶意程序模块,10月份使用的wAgent恶意软件都具有与Lazarus组织先前用于加密货币业务攻击的恶意软件相同的感染流程,这是因为恶意软件命名方案和调试消息存在重叠,以及使用安全支持提供程序作为持久性机制。

这是利用冠状病毒大流行进行的一系列攻击中的最新进展,朝鲜黑客的目标是印度、法国、加拿大的制药公司,以及总部位于英国的阿斯利康(AstraZeneca)。

随着新冠疫情的加剧,黑客正在试图以任何可用的方式来加速疫苗的开发。证据表明,诸如Lazarus组织之类的组织正在通过攻击获取与新冠疫苗相关的信息。

疫苗情报窃取过程

Lazarus最近发起的两种攻击之间的关系

这两种攻击都利用了不同的恶意软件模块,这些恶意软件模块并没有太多重叠。

wAgent恶意软件模块

恶意软件模块具有复杂的感染方案:

wAgent恶意软件模块的感染方案

不幸的是,研究人员无法获得此攻击中使用的启动模块。该模块似乎起着微不足道的作用:使用特定参数执行wAgent。研究人员收集的一个wAgent样本具有伪造的元数据,以使其看起来像合法的压缩实用程序XZ Utils。该恶意软件通过调用thumb导出函数参数直接从命令行shell在受害者设备上执行:


 
  1. c:\windows\system32\rundll32.exe C:\Programdata\Oracle\javac.dat, Thumbs 8IZ-VU7-109-S2MY 

16字节的字符串参数用作AES密钥,用于解密嵌入式有效载荷–Windows DLL。当嵌入式有效载荷加载到内存中时,它将使用给定的解密密钥解密配置信息。该配置包含各种信息,包括C2服务器地址以及以后使用的文件路径。尽管该配置指定了两个C2服务器,但它包含了两次相同的C2服务器。有趣的是,该配置有几个URL路径用“@”符号分隔。恶意软件试图随机连接到每个URL路径。

配置中的C2地址

当恶意软件第一次执行时,它会生成标识符,使用随机值的哈希值来区分每个受害者。它还生成一个16字节的随机值,并反转其顺序。接下来,恶意软件使用“@”作为分隔符将这个随机的16字节值和哈希值连接起来。即:82UKx3vnjQ791PL2 @ 29312663988969后置参数名称(如下所示)在运行时解密,并在每个C2连接上随机选择。研究人员之前已经看到并向研究人员的威胁情报报告客户报告了一个非常类似的技术,当Lazarus组织使用不断发展的下载恶意软件攻击加密货币业务时,使用了一种非常相似的技术。值得注意的是,Tistory是一个韩国博客发布服务,这意味着恶意软件开发者熟悉韩国的互联网环境。

该恶意软件将生成的标识符编码为base64,并将其发布到C2。最后,代理从C2服务器获取下一个有效载荷,并将其直接加载到内存中。不幸的是,研究人员无法获得它的副本,但是根据分析,所获取的有效载荷是包含后门功能的Windows DLL。使用此内存后门,恶意软件操作员执行了许多shell命令以收集受害者信息:


 
  1. cmd.exe /c ping -n 1 -a 192.[redacted] 
  2. cmd.exe /c ping -n 1 -a 192.[redacted] 
  3. cmd.exe /c dir \\192.[redacted]\c$ 
  4. cmd.exe /c query user 
  5. cmd.exe /c net user [redacted] /domain 
  6. cmd.exe /c whoami 

wAgent后门的使用

使用wAgent后门,攻击者安装了具有持久性机制的附加wAgent有效载荷。提取此DLL之后,使用以下命令行参数执行了名为SagePlug的导出:


 
  1. rundll32.exe c:\programdata\oracle\javac.io, SagePlug 4GO-R19-0TQ-HL2A c:\programdata\oracle\~TMP739.TMP 

4GO-R19-0TQ-HL2A用作一个项,文件路径指示调试消息的保存位置。该wAgent安装程序的工作方式与上述wAgent加载程序恶意软件相似。它负责在命令行中使用16字节密钥解密嵌入的有效载荷后,再进行加载。在解密的有效载荷中,恶意软件会生成文件路径以继续进行感染:


 
  1. C:\Windows\system32\[random 2 characters]svc.drv 

该文件伪装成名为SageThumbs Shell Extension的合法工具,该工具直接在Windows资源管理器中显示图像文件。但是,它内部包含一个附加的恶意例程。

创建此文件时,安装程序模块将使用随机数据填充该文件以增加其大小。恶意软件还会将cmd.exe的创建时间复制到新文件中,以使其不那么容易被发现。

出于日志记录和调试的目的,恶意软件将信息存储在作为第二个参数提供的文件中(在本例中是c:\programdata\oracle\~TMP739.TMP)。此日志文件包含有关感染过程的时间戳和信息,研究人员注意到恶意软件操作人员正在使用Windows命令手动检查该文件。这些调试消息的结构与先前用于攻击涉及Lazarus组织的加密货币业务的恶意软件相同。

之后,恶意软件会解密其嵌入式配置。该配置数据具有与上述wAgent恶意软件相似的结构。它还包含具有相同格式的C2地址:


 
  1. hxxps://iski.silogica[.]net/events/serial.jsp@WFRForms.jsp@import.jsp@view.jsp@cookie.jsp 
  2.  
  3. hxxp://sistema.celllab[.]com.br/webrun/Navbar/auth.jsp@cache.jsp@legacy.jsp@chooseIcon.jsp@customZoom.jsp 
  4.  
  5. hxxp://www.bytecortex.com[.]br/eletronicos/digital.jsp@exit.jsp@helpform.jsp@masks.jsp@Functions.jsp 
  6.  
  7. hxxps://sac.najatelecom.com[.]br/sac/Dados/ntlm.jsp@loading.jsp@access.jsp@local.jsp@default.jsp 

该恶意软件会加密配置数据,并将其存储为带有其文件名的预定义注册表项:


 
  1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\Emulate      – [random 2 characters]svc 

通过将创建的文件路径注册到现有注册表值的末尾,它还利用了Custom Security Support Provider。多亏了此注册表项,该DLL将在下一次启动时由lsass.exe加载。


 
  1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa – Security Packages : kerberos msv1_0 schannel wdigest tspkg pku2u [random 2 characters]svc.drv 

最后,启动程序模块在远程进程中启动 [random 2 characters]svc.drv 文件。它搜索第一个svchost.exe进程并执行DLL注入。注入的 [random 2 characters]svc.drv 恶意软件包含用于解密和加载其嵌入式有效载荷的恶意例程。最终的有效载荷是wAgent,它负责从C2(可能是功能齐全的后门)中获取其他有效载荷,并将其加载到内存中。

Bookcode恶意软件模块

被Lazarus组织的Bookcode恶意软件盯上的制药公司正在开发新冠疫苗,并被授权生产和销售这些新冠疫苗。研究人员之前曾看到Lazarus使用Bookcode恶意软件攻击了韩国的一家软件公司,可能是针对该公司的源代码或供应链。研究人员还目睹Lazarus组织过去曾进行鱼叉式网络钓鱼或战略性网站攻击,以传播Bookcode恶意软件。但是,研究人员无法确定此事件的确切初始感染媒介。整个感染过程与ESET关于该主题的最新报告中描述的过程非常相似。

Bookcode感染过程

尽管研究人员没有发现负责部署加载程序及其加密的Bookcode有效载荷的恶意软件,但研究人员能够识别出加载程序样本。该文件负责加载位于系统文件夹中的名为gmslogmgr.dat的加密有效载荷。解密有效载荷后,加载程序会找到带有winmgmt,ProfSvc或Appinfo参数的服务主机进程(svchost.exe),并将有效载荷注入其中。不幸的是,研究人员无法获取加密的有效载荷文件,但是研究人员能够在受害设备上重建恶意软件操作,并将其识别为研究人员向威胁情报报告客户报告的Bookcode恶意软件。

在执行时,Bookcode恶意软件会读取一个配置文件。虽然以前的Bookcode示例使用文件perf91nc.inf作为配置文件,但此版本从名为C_28705.NLS的文件读取其配置。该Bookcode示例具有与韩国互联网安全局(KISA)最近发布的综合报告中所述的恶意软件几乎相同的功能。如该报告第57页所述,一旦恶意软件启动,它将向受害者的基础结构发送有关受害者的信息。与C2服务器通信后,该恶意软件提供了标准的后门功能。

开发后(Post-exploitation)阶段

Lazarus组织使用Bookcode模块的活动具有自己独特的TTP,并且在此攻击示例中使用了相同的操作手法。

1.从注册表sam转储中提取受感染的主机信息,包括密码哈希值。

2.使用Windows命令来检查网络连接。

3.使用WakeMeOnLan工具扫描同一网络中的主机。

在2020年9月25日安装Bookcode之后,恶意软件操作员开始从受害者那里收集系统和网络信息。该恶意软件运营商还收集了一个包含密码哈希值的注册表sam转储:


 
  1. exe /c “reg.exe save hklm\sam      %temp%\~reg_sam.save > “%temp%\BD54EA8118AF46.TMP~” 2>&1″ 
  2. exe /c “reg.exe save hklm\system      %temp%\~reg_system.save > “%temp%\405A758FA9C3DD.TMP~” 2>&1″ 

在横向移动阶段,恶意软件操作员使用了众所周知的方法。获取帐户信息后,他们使用“net”命令连接到另一台主机,并使用“wmic”命令执行了复制的有效载荷。


 
  1. exe /c “netstat -aon | find “ESTA” >      %temp%\~431F.tmp 
  2. exe /c “net use \\172.[redacted] “[redacted]”      /u:[redacted] > %temp%\~D94.tmp” 2>&1″ 
  3. wmic /node:172.[redacted] /user:[redacted]      /password:”[redacted]” process call create “%temp%\engtask.exe” >      %temp%\~9DC9.tmp” 2>&1″ 

此外,Lazarus使用ADfind以便从Active Directory收集其他信息。攻击者使用此实用程序提取了受害者的用户和计算机列表。

Bookcode基础结构

与受害者密切合作以帮助纠正此攻击的结果是,研究人员发现了另一个配置文件。它包含四台C2服务器,所有这些服务器都是位于韩国的被攻击过的Web服务器。


 
  1. hxxps://www.kne.co[.]kr/upload/Customer/BBS.asp 
  2. hxxp://www.k-kiosk[.]com/bbs/notice_write.asp 
  3. hxxps://www.gongim[.]com/board/ajax_Write.asp 
  4. hxxp://www.cometnet[.]biz/framework/common/common.asp 

其中一个C2服务器启用了目录列表功能,因此研究人员能够了解攻击者如何管理C2服务器:

受到攻击的网站上列出的攻击者文件

研究人员从受感染的服务器(一个“第一阶段” C2服务器)中发现了几个日志文件和一个脚本。它从后门接收连接,但仅充当操作员实际存储订单的“第二阶段”服务器的代理。

Customer_Session.asp是第一阶段C2脚本,负责从第二阶段C2服务器传递命令并从植入中执行命令。为了向每个受害者传递适当的命令,将来自植入程序的bbs_code参数用作标识符。该脚本使用此标识符将命令分配给正确的受害者,这是为特定受害者发送命令的过程的工作方式:

1.该恶意软件操作员设置特定植入的对应标志([id]_208),并将命令保存到变量([id]_210)。

2.植入检查相应的标志([id]_208),如果设置了变量([id]_210),则从变量([id]_210)检索命令。

3.执行命令后,植入将结果发送给C2服务器并设置相应的标志。

4.恶意软件操作员检查该标志,并在设置了标志的情况下检索结果。

C2脚本的逻辑

除了植入程序控制功能外,C2脚本还具有其他功能,例如更新下一阶段的C2服务器地址,将植入程序的标识符发送到下一阶段服务器或删除日志文件。

综合来看,目前可以确定该攻击背后的组织是组织Lazarus。