这个博客是Hossein Jazi写的

Lazarus APT是最复杂的朝鲜威胁演员之一,自从至少2009年以来一直活跃。该演员众所周知,该演员旨在瞄准美国,韩国,日本和其他几个国家。在他们最近的一个最新的运动之一Lazarus使用了一个复杂的目标网络钓鱼攻击安全研究人员

众所周知,拉西鲁斯采用新技术和自定义工具,以提高其攻击的有效性。4月13日,我们确定了一个文档这个演员使用来定位韩国。在这个广告系列中,拉撒路采用了嵌入了恶意HTA对象的BMP文件的有趣技术来删除其装载机。

过程图

这种攻击可能开始发表与恶意文件武器的网络钓鱼电子邮件开始。下图显示了这次攻击的整体过程。在下一节中,我们提供了对此过程的详细分析。

图1:过程图

文件分析

打开文档会显示一个蓝色的韩语主题,要求用户启用宏来查看文档。

图2:蓝色主题

启用宏后,将弹出一个消息框,点击后将加载最终诱饵。

图3:诱饵形式

文件的名字是韩语"참가신청서양식.doc.这是在韩国某城市参加博览会的申请表。文档创建时间为2021年3月31日,说明攻击大约发生在同一时间。

文件已经被一个打开就会执行的宏武器化了。

图4:宏

宏通过呼叫开始MsgBoxCancel.函数。这个功能会向用户弹出一个消息框,其中有一条消息声称是旧版本的Microsoft Office。显示消息框后,执行以下步骤:

图5:Document_Open
  • 定义所需的变量,如WMI对象MSHTA.base64格式的文件扩展名,然后调用解码函数到Base64解码它们。
  • 获取活动文档名称并将名称与扩展名分开
  • 使用HTML格式创建活动文档的副本ActiveDocument。SaveAsWDFormathtml.作为参数。将文档保存为HTML会将所有的图像存储在这个文档中filename_files.目录中。
图6:SaveAs HTML
  • 调用展示功能要使文档受到保护。通过制作文档保护,确保用户无法对文档进行任何更改。
图7:保护文档
  • 获取包含嵌入式zlib对象的图像文件。(image003.png)
  • 通过调用将PNG格式的图像转换为BMP格式WIA_ConvertImage.由于BMP文件格式是未压缩的图形文件格式,将PNG文件格式转换为BMP文件格式会自动将嵌入的恶意zlib对象从PNG解压为BMP。这是参与者使用的一种聪明的方法,可以绕过可以检测图像内嵌入对象的安全机制。原因是该文档包含一个PNG图像,它有一个压缩的zlib恶意对象,因为它被压缩了,所以静态检测无法检测到它。然后威胁行动者只是使用了一种简单的转换机制来解压缩恶意内容。
图8:PNG和BMP文件中的嵌入对象
图9:BMP中的嵌入式HTA文件
  • 获取WMI对象以调用MSHTA以执行BMP文件。解压缩后的BMP文件包含一个HTA文件,它执行Java脚本以删除有效载荷。
  • 删除目录中的所有图像,然后删除SaveAs函数生成的目录。

BMP文件分析(image003.zip)

在图像转换过程中,宏将扩展zip添加到BMP文件,以假装它是一个zip文件。此BMP文件具有嵌入式HTA文件。此HTA包含一个JavaScript,它在“C:\ Users \ public \ libraries \ appstore.exe”目录中创建“appstore.exe”,然后填充其内容。

一开始,它定义了一个数组,其中包含脚本所需的函数和形参列表:OpenTextFile, CreateTextFile, Close, Write, FromCharCode, " C:/Users/Public/Libraries/AppStore.exe "还有一些垃圾价值。当脚本想要执行一个操作时,它调用第二个带有十六进制值的函数,该函数负责构建索引,从第一个数组中检索所需的值。

例如,在第一步,它调用了第二个功能0 x1dd价值。这个函数减去0 x1dc0 x1dd来获取第一个数组的下标,也就是1。然后它使用这个索引来检索第一个数组的第一个元素“c:/users/public/libraries/appstore.exe”.在相同的过程之后,它呼叫createTextfile.创造AppStore.exe然后写道MZ.进去。然后它通过调用fromCharCode函数将十进制格式的数据转换为字符串,并使用将数据写入的相同过程AppStore.exe.最后它呼唤wscript.run.来执行丢弃的有效载荷。

图10:嵌入式HTA对象

有效载荷分析(appstore.exe)

AppStore.exe加载已添加到本身末尾的Base64加密有效载荷。在有效载荷之前有一个字符串是解密密钥(by7mJSoKVDaWg *乌兰巴托)。

图11:嵌入式有效载荷

要解密第二阶段有效载荷,首先它将自己写入由VirtualAlloc创建的缓冲区,然后查找加密的有效负载并将其复制到另一个缓冲区中。

图12:分配内存

在下一步中,它已经实现了自己的Base64解码器来解码分配的缓冲区并将其写入另一个使用Memset和Memmove的缓冲区。最后,使用硬编码解密密钥通过XOR解密此编码的有效载荷以生成第二阶段有效载荷。

图13:XOR解密

在解密过程完成后,它跳转到第二个有效负载的起始地址来执行它。

第二阶段有效载荷分析

此有效载荷将加载到内存中AppStore.exe并且尚未写入磁盘。它首先执行初始化进程,其中包括以下步骤:

图14:初始化过程
  • 创建互斥锁:检查机器上是否存在名为“Microsoft32”的互斥锁,如果存在,则退出。否则,意味着机器没有被此RAT病毒感染,并开始其恶意活动。
  • 解析API调用:所有重要的API调用都是Base64编码和RC4加密,在运行时将被解码和解码。RC4解密的关键是“MicrosoftCorporationValidation @#$%^&*()!我们”
图15:API解析器
  • 向命令和控制服务器发出HTTP请求:服务器地址已经使用base64编码并使用自定义加密算法加密。你可以找到解码器/解密器在这里.此自定义加密算法类似于Bistromath大鼠与Lazarus相关的Bistromath RAT使用的加密算法美国证书
图16:自定义解密算法

http://mail.namusoft.kr/jsp/user/eam/board.jsp.
http://www.jinjinpig.co.kr/aneboard/skin/board.php.

初始化过程完成后,它会检查与C&C服务器的通信是否成功,如果它们成功,则会进入其从服务器接收命令并基于命令执行不同操作的下一步。

从C&C接收到的命令是使用其自定义加密算法进行base64编码和加密的(图16)。去混淆后,它会根据命令代码执行以下命令。与服务器的通信是通过send和recv套接字函数完成的。

  • 8888:尝试以两种不同方式执行它已在命令代码后收到的命令。首先,它尝试通过创建新线程来执行命令(图17)。此线程在命令代码后获取命令并使用它使用用于cmd . exe.这个过程是通过使用CreatePipe和CreateProcessA完成的。然后使用ReadFile读取cmd.exe的输出。
图17:创建线程

cmd.exe的输出已被编码和加密,并将其发送到服务器test.gif使用HTTP POST请求(图18)。

图18:将cmd.exe的输出发送为test.gif

如果是CreateThread进程不成功,它通过调用来执行命令WinExec然后发出“8888成功!”使用其自定义加密加密它后,然后使用Base64对服务器进行编码test.gif

图19:Winexec
  • 1234:它调用CreateThread来执行从服务器接收到的缓冲区(第三阶段有效负载)。最后,它将“1234成功!”然后发送给服务器test.gif
  • 2099:它创建批处理文件并执行它然后退出。此批处理文件删除了AppStore.exe从受害者的机器里。
图20:创建批处理文件
  • 8877:它将从服务器接收到的缓冲区存储在一个文件中。
  • 1111:它调用shutdown函数来禁用套接字上的发送或接收。

该第二阶段有效载荷使用自定义编码用户代理进行通信。所有这些用户代理都是使用相同的自定义加密算法编码和加密,用于加密服务器地址。以下是此RAT使用的不同用户代理的列表。

Mozilla /%d.0(兼容; msie%d.0; windows nt%d。%d; wow64; trident /%d.0; Infopath。%d)mozilla / 18463680.0(兼容; msie -641.0; windows nt 1617946400.-858993460; WOW64; Trident/-858993460.0; Infopath.-858993460) Mozilla/18463680.0 (compatible; MSIE -641.0; Windows NT 1617946400.-858993460; Trident/-858993460.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Infopath.-858993460) Mozilla/%d.0 (Windows NT %d.%d%s) AppleWebKit/537.%d (KHTML, like Gecko) Chrome/%d.0.%d.%d Safari/%d.%d Infopath.%d

归因

这次袭击和过去的拉撒路行动有一些相似之处我们认为这些有力的证据表明这次袭击是拉撒路的威胁所为。

  • 第二阶段有效载荷使用了与此关联的Bistromath大鼠使用的类似自定义加密算法。
  • 第二阶段有效载荷使用了base64和RC4的组合来进行数据混淆,这是APT使用的一种常见技术。
  • 在此次攻击中使用的第二阶段有效载荷与一些已知的拉撒库恶意软件系列具有一些代码相似度,包括亡航机。
  • 在过去的Lazarus操作中已经观察到将数据和消息作为GIF发送到服务器,包括AppleJeus供应链的攻击反对韩国和梦job.操作。
  • 这个网络钓鱼攻击已经有针对性的是韩国,这是这个演员的主要目标之一。
  • 已知该组使用Mshta.exe运行恶意脚本和下载程序,类似于此攻击中已使用的程序。

结论

Lazarus威胁演员是在过去几年中针对包括韩国,美国和日本在内的几个国家的最活跃和精致的朝鲜威胁演员之一。已知该组织开发自定义恶意软件系列并在其运营中使用新技术。在本博客中,我们记录了由此针对韩国的APT组运营的矛网络钓鱼攻击。

Actor使用了巧妙的方法来绕过安全机制,其中它已将其恶意HTA文件嵌入为PNG文件中的压缩ZLIB文件,然后通过将自身转换为BMP格式在运行时被解压缩。丢弃的有效载荷是加载程序,该加载器解码并解密第二阶段有效载荷进入内存。第二阶段有效载荷具有接收和执行命令/ shellcode的能力以及对命令和控制服务器执行exfiltration和通信。

妥协指标

文档

F1ED93E555A0A33C7FEF74084A6F8D06A92079E9F57114F523353D877226D72

删除可执行文件

ED5FBEFD61A72EC9F8A5EBD7FA7BCD632EC55F04BDD4A4E24686EDCCB0268E05

命令和控制服务器

jinjinpig [。] co [。] kr
邮件(。)namusoft。kr