譯者:知道創宇404實驗室翻譯組
原文鏈接:https://blogs.jpcert.or.jp/en/2021/10/gh0sttimes.html

前言

自2018年以來,黑客組織BlackTech一直在頻繁攻擊日本組織。雖然它不像以前那么突出,日本計算機應急響應協調中心(JPCERT/CC)現在仍然可以看到它的一些案例。這篇文章介紹了惡意軟件Gh0stTimes的詳細信息。

Gh0stTimes概述

Gh0stTimes是基于Gh0st RAT定制的,自2020年以來已經在一些攻擊案例中使用。下圖顯示了Gh0stTimes和Gh0st RAT代碼的比較。

Gh0stTimes和Gh0st RAT (CFileManager)代碼的比較(左:Gh0stTimes /右:Gh0st RAT)

圖1(左:Gh0stTimes /右:Gh0st RAT)
這兩組代碼都是用于文件操作的函數,它們幾乎是相同的。Gh0stTimes對許多Gh0st RAT函數進行了升級,但代碼的某些部分仍保持原樣。下一節將展示Gh0stTimes的特性。

  • 通信協議
  • 命令
  • 偽代碼
  • C2服務器控制面板

通信協議

與Gh0st RAT一樣,Gh0stTimes與C2服務器通信時使用自定義協議,但包格式不同。下圖顯示了通信流程。

圖2
在與C2服務器通信的開始階段,Gh0stTimes發送一個身份驗證ID和數據(圖2中的“密鑰”),以生成用于后續通信的加密密鑰。C2服務器檢查身份驗證ID,只接受與特定身份ID的通信。圖3顯示了特定身份驗證id的示例。

圖3
身份驗證成功后,接下來的通信將使用通信開始時提供的密鑰進行加密。下一輪通信與受感染主機的信息有關,如主機名、用戶名和處理器名(圖4)。

圖4
發送受感染主機信息后,命令就交換了(數據交換的格式見附錄A)。在交換命令時,數據是RC4加密的,然后是zlib壓縮的。Gh0stTimes使用其自定義RC4算法,該算法對加密數據進行XOR 0xAC處理。

圖5
下面是用來解碼交換數據的Python代碼。

import zlib

# Load keydata for first packet
with open(args[1], "rb") as fb:
    keydata = fb.read()

# Load encoded packet data
with open(args[2], "rb") as fb:
    data = fb.read()

comp_data = custom_rc4(data[12:], keydata[5:21])
dec_data = zlib.decompress(comp_data)

def custom_rc4(data, keydata):
    key = []
    key_1 = [0x98, 0x19, 0x3C, 0x56, 0xD9, 0xBB, 0xC7, 0x86, 0xFF, 0x3E]
    key_2 = [0] * 16
    key_3 = [0xAC, 0xBB, 0x30, 0x5E, 0xCC, 0xDD, 0x19, 0x23, 0xFC, 0xBD] 
    keybox = [7, 0, 2, 3, 9, 10, 4, 13, 14, 8, 1, 11, 5, 6, 12, 15]

    i = 0
    for i in range(16):
        key_2[i] = keydata[keybox[i]]

    key = key_1 + key_2 + key_3
    x = 0
    box = list(range(256))
    for i in range(256):
        x = (x + box[i] + key[i % len(key)]) % 256
        box[i], box[x] = box[x], box[i]

    x = 0
    y = 0
    out = []
    for char in data:
        x = (x + 1) % 256
        y = (y + box[x]) % 256
        box[x], box[y] = box[y], box[x]
        out.append((char ^ box[(box[x] + box[y]) % 256] ^ 0xAC).to_bytes(1, byteorder='little'))

    return b''.join(out)

命令

Gh0stTimes配備了以下5種類型的命令:

  • FileManager(命令號0x1):文件操作
  • ShellManager(命令編號0x28):遠程shell執行
  • PortmapManager(命令號0x32): C2服務器重定向功能
  • UltraPortmapManager(命令號0x3F):代理功能
  • 無名稱(命令號0):結束通信

圖6
ShellManager和FileManager與Gh0st RAT的原始功能相同。FileManager具有多種功能,可以對感染病毒的主機上的文件進行操作。(詳見附錄B) PortmapManager和UltraPortmapManager是Gh0stTimes特有的兩個組件,說明其中繼功能相對Gh0st RAT進行了增強。

偽代碼

BlackTech使用的某些類型的惡意軟件包含偽代碼,這會加大分析難度。Gh0stTimes便有這樣的代碼(圖7),但是它對分析沒有太大的影響。

圖7

C2服務器控制面板

在分析過程中,我們發現了Gh0stTimes控制面板。圖8顯示了控制面板運行時的GUI。這個被命名為“Times v1.2”。

圖8
圖9顯示了可以在控制面板上執行的命令。

圖9

總結

BlackTech一直在進行攻擊行動,我們將繼續分析和監控。請確保您的任何設備都沒有與它們通信。 我們已經確定,感染Gh0stTimes的服務器也會受到其他類型的惡意軟件影響,如下載程序,后門,ELF Bifrose和下面列出的攻擊工具。請注意,這些工具可能被BlackTech使用。

  • https://github.com/Yang0615777/PocList
  • https://github.com/liuxu54898/CVE-2021-3019
  • https://github.com/knownsec/pocsuite3
  • Citrix exploit tool
  • MikroTik exploit tool
  • Exploit for CVE-2021-28482
  • Exploit for CVE-2021-1472/CVE-2021-1473
  • Exploit for CVE-2021-28149/CVE-2021-28152
  • Exploit for CVE-2021-21975/CVE-2021-21983
  • Exploit for CVE-2018-2628
  • Exploit for CVE-2021-2135

附錄

附錄A:交換數據

Table A-1: Format of data sent

Offset Length Contents
0x00 4 ID
0x04 4 Data length xor 0x3A4BFDCC
0x08 4 Data length after 0x0C before compression xor 0x7C2E56D2
0x0C - Encrypted data (zlib + RC4)

Table A-2: Format of data received

Offset Length Contents
0x00 4 ID
0x04 4 Data length xor 0xC3A2B5D2
0x08 4 Data length after 0x0C before compression xor 0x68FC2AD3
0x0C - Encrypted data (zlib + RC4)

附錄B: 命令

Table B: FileManager commands

Value Contents
2 SendFilesList
3 UploadToRemote
4 CreateLocalRecvFile
5 WriteLocalRecvFile
7 SendFileData
8 StopTransfer
9 DeleteFile
10 DeleteDirectory
11 GetFileData
12 CreateFolder
13 MoveFile
14 OpenFile(SW_SHOW)
15 OpenFile(SW_HIDE)

附錄C:IoCs

附錄D: Malware hash value

  • 01581f0b1818db4f2cdd9542fd8d663896dc043efb6a80a92aadfac59ddb7684
  • 18a696b09d0b7e41ad8ab6a05b84a3022f427382290ce58f079dec7b07e86165
  • 15b8dddbfa37317ccdfbc340764cd0f43b1fb8915b1817b5666c4816ccb98e7c
  • 849ec6055f0c18eff76170912d8500d3da7be1435a9117d67f2134138c7e70c3
  • f19ab3fcbc555a059d953196b6d1b04818a59e2dc5075cf1357cee84c9d6260b
  • 836b873ab9807fbdd8855d960250084c89af0c4a6ecb75991542a7deb60bd119
  • a69a2b2a6f5a68c466880f4c634bad137cb9ae39c2c3e30c0bc44c2f07a01e8a
  • bd02ca03355e0ee423ba0e31384d21b4afbd8973dc888480bd4376310fe6af71

Paper 本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/1737/