Drovorub 惡意軟體複合體感染 Linux 作業系統

國家安全局和美國聯邦調查局 發表報告,根據第85主特服中心 俄羅斯武裝部隊總參謀部 (85 GCSS GRU) 使用了名為「Drovorub」的惡意軟體複合體。 Drovorub 包括一個 Linux 核心模組形式的 rootkit、一個用於傳輸檔案和重定向網路連接埠的工具以及一個控制伺服器。 客戶端部分可以下載和上傳文件,以root使用者執行任意命令,並將網路連接埠重新導向到其他網路節點。

Drovorub 控制中心接收 JSON 格式的設定檔路徑作為命令列參數:

{
“資料庫主機”:“ 「,
“資料庫連接埠”:“ 「,
“db_db”:“ 「,
“資料庫使用者”:“ 「,
“資料庫密碼”:“ 「,

“l端口”:“ 「,
“主機”:“ 「,
“ping_sec”:“ 「,

「隱私密鑰檔案」:「 「,
“短語” : ” »
}

MySQL DBMS 用作後端。 WebSocket 協定用於連接客戶端。

用戶端具有內建配置,包括伺服器 URL、其 RSA 公鑰、使用者名稱和密碼。 安裝rootkit後,設定將儲存為JSON格式的文字文件,該文件透過Drovoruba核心模組對系統隱藏:

{
«id» : «cbcf6abc-466b-11e9-853b-000c29cb9f6f»,
“密鑰”:“Y2xpZW50a2V5”
}

這裡的「id」是伺服器發出的唯一標識符,其中最後48位對應伺服器網路介面的MAC位址。 預設的“key”參數是伺服器在初始握手期間使用的base64編碼字串“clientkey”。 此外,設定檔可能包含有關隱藏檔案、模組和網路連接埠的資訊:

{
«id» : «6fa41616-aff1-11ea-acd5-000c29283bbc»,
“密鑰”:“Y2xpZW50a2V5”,
“監視器” : {
「文件」 : [
{
“活躍”:“真實”
«id» : «d9dc492b-5a32-8e5f-0724-845aa13fff98»,
“掩碼”:“測試檔案1”
}
],
“模組” : [
{
“活躍”:“真實”
«id» : «48a5e9d0-74c7-cc17-2966-0ea17a1d997a»,
“掩碼”:“測試模組1”
}
],
「網」 : [
{
“活躍”:“真實”
«id» : «4f355d5d-9753-76c7-161e-7ef051654a2b»,
“端口”:“12345”,
“協議”:“TCP”
}
] }
}

Drovorub 的另一個元件是代理程式;它的設定檔包含用於連接到伺服器的資訊:

{
“client_login”:“用戶123”,
“client_pass”:“pass4567”,
“clientid”:“e391847c-bae7-11ea-b4bc-000c29130b71”,
«clientkey_base64» : «Y2xpZW50a2V5»,
"pub_key_file" :"公鑰",
“伺服器主機”:“192.168.57.100​​XNUMX”,
“伺服器連接埠”:“45122”,
“server_uri”:“/ws”
}

「clientid」和「clientkey_base64」欄位最初是缺少的;它們是在伺服器上初始註冊後新增的。

安裝完成後,進行以下操作:

  • 載入核心模組,為系統呼叫註冊鉤子;
  • 客戶端向內核模組註冊;
  • 核心模組隱藏正在運行的客戶端進程及其在磁碟上的可執行檔。

偽設備(例如 /dev/zero)用於在客戶端和核心模組之間進行通訊。 核心模組解析寫入設備的所有數據,並且為了以相反方向傳輸,它向客戶端發送 SIGUSR1 訊號,然後從相同設備讀取數據。

要偵測Lumberjack,您可以使用NIDS 進行網路流量分析(無法偵測受感染系統本身的惡意網路活動,因為核心模組隱藏了它使用的網路套接字、netfilter 規則以及可能被原始套接字攔截的封包) 。 在安裝了 Drovorub 的系統上,您可以透過向核心模組發送隱藏檔案的命令來偵測核心模組:

觸摸測試文件
迴聲“ASDFZXCV:hf:測試檔”> / dev /零
ls

建立的“testfile”檔案變得不可見。

其他檢測方法包括記憶體和磁碟內容分析。 為了防止感染,建議對核心和模組使用強制簽名驗證,從 Linux 核心版本 3.7 開始可用。

本報告包含用於偵測 Drovorub 網路活動的 Snort 規則和用於偵測其元件的 Yara 規則。

讓我們回想一下,第 85 GTSSS GRU(軍事單位 26165)與該組織有關聯 APT28(花式熊),對許多網路攻擊負有責任。

來源: opennet.ru