Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    86397712

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

Janicab_malware_law_SL-featured-1200x600.png

Janicab於2013年作為能夠在macOS和Windows操作系統上運行的惡意軟件首次出現。 Windows版本將基於VBscript的植入作為最後階段,而不是之前在Powersing示例中觀察到的C#/PowerShell組合。到目前為止,我們確定的基於VBS的植入程序樣本具有一家族版本號,這意味著它仍在開發中。總的來說,Janicob顯示了與其對應的惡意軟件家族相同的功能,但不像EVILNUM和Powersing攻擊那樣在攻擊生命週期的後期下載多個工具,分析的樣本將大部分工具嵌入並混淆在滴管中。

有趣的是,攻擊者繼續使用YouTube、Google+和WordPress web服務作為DDR。然而,觀察到的一些YouTube鏈接未列出,可以追溯到2015年,這表明可能會重複使用基礎設施。

初始攻擊點在ZIP文件中使用基於LNK的滴管的初始感染方法與以前使用EVILNUM、Powersing和PowerPepper的活動類似,但每個活動似乎都側重於不同的釣魚主題,好像每個惡意軟件家族都由不同的團隊操作或針對不同類型的受害者。在Janicab的一個例子中,誘餌是一個工業企業概況,與先前PowerPepper攻擊中使用的誘餌主題相匹配。根據我們的分析,傳送機制仍然是魚叉式網絡釣魚。

1.png

LNK文件中的誘餌文件

LNK滴管的元數據類似於我們報導或公開分析的許多Powersing和Janicab植入程序。也就是說,SID、字體家族、字體大小、屏幕緩衝區和窗口大小、運行窗口和MAC地址是相似的。

儘管Janicab和Powersing在執行流程以及VBE和VBS的使用方面非常相似,但它們的LNK結構有些不同。此外,較新的Janicab變體在結構上與2015年的舊Janicab Windows變體相比發生了顯著變化。新的Janica變體還嵌入了一個CAB文件,其中包含一些Python文件和其他在攻擊生命週期後期使用的工件。以下是Powersing與新舊Janicab車型之間的高級比較。

2.png

LNK文件結構比較

執行流程一旦受害者被誘騙打開惡意LNK文件,鏈接中的惡意軟件文件就會被釋放。 LNK文件有一個嵌入的“命令行參數”字段,用於提取和執行編碼的VBScript加載器(1.VBE)。後者將釋放並執行另一個嵌入和編碼的VBScript(2.VBE),該VBScript將提取包含額外資源和Python庫/工具的CAB文件(CAB.CAB),並通過提取最後一個階段(基於VBScript的植入程序,稱為Janicab)來結束感染。最後階段將通過在Startup目錄中部署一個新的LNK文件來啟動持久性,並開始與DDR web服務通信,以收集實際的C2 IP地址。

3.png

Janicab是一種基於VBS的惡意軟件植入程序,其功能與對應的惡意軟件家族Powersing和EVILNUM基本相似。所有這些都具有基本功能,如命令執行、導入註冊表文件,以及下載其他工具的能力,同時保持高反VM和防禦規避的持久性。

由於這三個惡意軟件家族都有很強的相似性,所以在本節中我們只討論Janicab版本之間的有趣差異。

Janicab可以被認為是一種模塊化的、解釋語言的惡意軟件。這意味著攻擊者能夠添加/刪除功能或嵌入文件;解釋語言惡意軟件以相當低的工作量提供了這種靈活性。例如,在舊版本中,SnapIT.exe(一種已知的用於捕捉屏幕截圖的工具)每隔一段時間就會嵌入、刪除和執行。該工具在後來的版本中被其他定制的工具所取代,這些工具可以完成相同的工作。我們還在較老的版本中看到了音頻錄製功能,但在後來的版本中沒有。

在較新的變體中,我們開始看到攻擊者嵌入了一個基於DLL的鍵盤記錄器或屏幕捕獲實用程序,該實用程序使用“run_DLL_or_py”函數調用。有趣的是,根據卡巴斯基威脅歸因引擎(KTAE)分析,該鍵盤記錄器與我們之前報告的Powersing攻擊中使用的另一個鍵盤記錄器非常相似,其名稱為“AdobeUpdater.dll”。在Powersing攻擊中,DLL在攻擊週期的後期從輔助C2服務器獲取。然而,在Janicab攻擊中,它大多被嵌入為HEX字節數組,或作為額外資源嵌入CAB文件中。我們知道有八個不同的Janicab版本:1.0.8、1.1.2、1.1.4、1.2.5、1.2.7、1.2.8、1.2.9a、1.3.2。

Janicab惡意軟件演變對不同Janicab版本的進一步比較表明,在整個惡意軟件開發週期中添加了附加功能,同時保留了特定功能。下表顯示了一些有趣的新功能,這些功能是根據參與者的要求或為了逃避安全控製而在幾個變體的開發過程中引入的:

函數名稱簡介1.函數checkRunningProcess()——檢查指示惡意軟件分析或進程調試的進程列表;

2.函數delFFcookies(),函數delGCcookies(),函數delIEcookies()——指向相應的瀏覽器位置並刪除其cookie;

3.函數downFile(args)——用於從C2下載文件並將其保存到磁盤;

4.函數GetKl(kl)——獲取鍵盤記錄器數據,base64對其進行編碼,然後將其發送到C2;

5.函數runCmd(cmd,cmdType)——使用cmd .exe或PowerShell.exe執行命令的函數;

6.函數run_dll_or_py(arg1,arg2)——用於在使用兩個參數時執行Python或dll文件;arg1是DLL路徑,arg2是DLL導出的函數名(MyDllEntryPoint);

7.函數add_to_startup_manager(server, installedAV),函數add_to_startup_reg_import(startupFile,starterFile),函數add_to_startup_shortcut(startupFile,starterFile)——用於在C2上首次註冊受害者;執行持久化操作並在系統啟動文件夾和註冊表HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon中安裝Microsoft Sync Services.lnk;

8.函數isMalwb()——用於檢查是否安裝了MalwareBytes。在檢查其他AV產品的其他變體中也看到了類似的函數;

9.函數HandleCCleaner()——通過檢查系統註冊表檢查是否安裝了CCleaner,並相應地刪除註冊表項;

10.函數RunIeScript()——使用CScript.exe運行ie.vbe腳本,以確保C2通信使用IE隱藏瀏覽器後不存在剩餘的Internet Explorer實例;

11.函數getAV()——獲取已安裝的AV產品列表;

從1.0.8版本開始,Janicab VBS植入程序以字節數組的形式嵌入了幾個文件。這些文件通常是註冊表、VBE、PE EXE或DLL文件。在最近的示例中,雖然我們仍然可以看到此類資源的嵌入式字節數組,但大部分額外資源都放在CAB文件文件中,該文件在第一階段的進程中被釋放。

以下是值得注意的釋放文件及其說明:

K.dll——以其創建的目錄命名為Stormwind,這是一個基於dll的鍵盤記錄器,它枚舉系統區域設置、時區信息,並設置全局掛鉤以捕獲擊鍵。它將帶有時間戳的擊鍵寫入\AppData\Roaming\Stormwind目錄下名為log.log的日誌文件中。它監視鍵盤記錄器kill switch命令的\AppData\Local\Temp\ReplaceData\下的killKL.txt。

PythonProxy.py——一個支持IPv4/IPv6的基於Python的代理,能夠在本地目標系統和遠程C2服務器之間中繼web流量。支持HTTP方法CONNECT、OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE。

Ftp.py——本地Ftp基於Python的服務器,服務於具有creds test:test端口2121。使用Junction.exe(一個sysinternals工具)創建除軟盤驅動器之外的所有現有驅動器的目錄別名。添加regkey以接受EULA,因為它是一個系統內部工具,如果是首次運行,則需要EULA。然後將“連接”的本地目錄提供給FTP服務器。

Runner.py——一個Python腳本,使用四個參數:遠程SSH服務器、遠程SSH端口、遠程綁定端口和“ftp”或“代理”作為應用程序選項。

根據為應用程序選項接收的參數,它將運行ftp.py(如果參數為ftp)或pythonproxy.py(如果參數為proxy)。

在這兩個選項中,腳本將啟動一個SSH反向隧道,連接到由攻擊者控制的遠程服務器,並將該隧道用作socks代理,或作為一種方法來瀏覽先前使用本地FTP服務器初始化的本地驅動器。

如果在%temp%\ReplaceData\中找到killrunner.txt文件,runner.py將退出。

Junction.exe——是一個sysinternals工具,它創建NTFS連接點(別名);創建“\\Drives”目錄,並將其映射到使用FTP.py創建的本地FTP服務器並提供其內容。

Plink.exe——已知的基於Windows的CLI SSH客戶端,用於透視和隧道,由Runner.py引用以進行反向隧道/文件複製。

基礎設施Deathstalker的一個顯著特點是它使用DDR/web服務來託管一個編碼字符串,該字符串隨後被惡意軟件植入程序解密。我們一直認為YouTube被用作DDR,儘管惡意軟件設置中存在其他網絡服務鏈接,但未被使用,例如2019年4月停用的Google+鏈接。

我們最近注意到的一個有趣的方面是使用了2021攻擊中使用的未列出的舊YouTube鏈接。從歷史上看,分析師可以使用搜索引擎和YouTube搜索功能來查找各自web服務中使用的模式。然而,由於攻擊者使用未列出的YouTube舊鏈接,在YouTube上找到相關鏈接的可能性幾乎為零。這也有效地允許攻擊者重用C2基礎設施。

有趣的是,舊的和新的Janicab變體仍然使用相同的web服務功能聲明——YouTubeLinks,並在將十進制數轉換為後端C2 IP地址的過程中繼續使用常數除法。最近使用的除法是1337和5362。

至於實際的C2 IP地址,我們發現兩個IP地址(87.120.254[.]100、87.120.37[.]68)與PowerPepper攻擊中使用的C2(例如PowerPepper C2 87.120.37[.]192)位於同一ASN中。 C2通信使用的協議是帶有GET/POST方法的HTTP,後端C2軟件是PHP。

4.png

Janicab 2021DDR清單

5.png

Janicab 2015DDR列表

6.png

最近攻擊中使用的未列出YouTube DDR示例

在評估其中一個C2服務器時,我們發現攻擊者正在託管並調用來自受害設備的ICMPshell可執行文件。名為icmpxa.exe的ICMP shell工具基於一個舊的Github項目。攻擊者編譯了icmpsh-s.c (MD5 5F1A9913AEC43A61F0B3AD7B529B397E),同時更改了其中的一些內容。這個可執行文件(哈希和文件名)的獨特性,使我們能夠透視和收集攻擊者使用的其他以前未知的C2服務器。有趣的是,我們還發現以前在PowerPepper攻擊中使用了相同的ICMPshell可執行文件,這表明兩個惡意軟件家族之間存在潛在的基礎設施重疊。

由於Janicab是一個基於VBS的惡意軟件,C2命令可以很容易地從嵌入的函數中派生出來。該惡意軟件利用VBS函數通過HTTPGET/POST請求連接到C2服務器,並連接到特定的PHP頁面。每個PHP頁面都提供某些功能。自從Janicab的早期版本以來,PHP頁面的文件名基本保持不變,並表示後端/預期功能。然而,從1.1.x版本開始,攻擊者開始縮短PHP頁面的文件名,而不改變預期的功能。下表總結了PHP頁面、它們的舊命名及其潛在用途:

PHP頁面及其原有名稱的介紹Status2.php(原名Status.php)——檢查服務器狀態;

a.php(Alive.php)——從受害者接收信標數據;

/gid.php?action=add(GenerateID.php?action=add)——如果這是一個新的受害者,則生成一個用戶ID並在C2後端註冊系統配置文件信息;將受害者添加到數據庫;

rit.php(ReportIT.php)——在評估設備是否有任何反分析檢查後,記錄用戶設備是否與IT人員相關。在舊的Janicab版本中,消息也以(“it guy”)的形式發送。

受影響的對象屬於傳統的Deathstalker目標範圍;主要是法律和金融投資管理(FSI)機構。然而,我們還記錄了一個潛在的新受影響行業——旅行社。中東地區和歐洲也是Deathstalker的重災區。

歸因本報告中討論的攻擊與Deathstalker攻擊組織有關。歸因基於新Janicab變體的使用、獨特的TTP、受害者學和攻擊者運營商使用的基礎設施。 Janicab和Powersing的比較攻擊分析突出了幾個階段的相似之處。

1.與之前的Deathstalker攻擊中使用的LNK滴管相同的SID和元數據;

2.Janicob和Powersing之間使用啟動文件夾中的LNK的類似持久機制;

3.Janicab具有類似的感染執行流程,並使用解釋語言工具集,如VBS、VBE和Python;

4.Janicab macOS和Windows版本的Python文件命名類似於EVILNUM惡意軟件(例如runner.py、serial.txt等);

7.png

EVILNUM runner.py用於文件傳輸

8.png

Janicab 2021 runner.py文件傳輸片段

9.png

MacOS runner.py的舊Janicab,用於啟動具有文件傳輸功能的後台服務

基於Python的工具集和庫的使用在使用Janicab、Powersing、EVILNUM和PowerPepper的所有Deathstalker攻擊中是常見的;

YouTube以及其他網絡服務/DDR的使用在Janicob和Powersing攻擊中很常見;在Janicab、Powersing和EVILNUM中,調用和解析YouTube和其他DDR的C2 IP地址的方法幾乎相同;

已識別的C2 IP屬於以前使用PowerPepper攻擊的ASN;

以法律和金融機構為重點的多樣化受害者研究,可能被其他黑客組織所針對;

基於我們的KTAE相似性引擎,所使用的dll(Stormwind)鍵盤記錄器與之前Powersing攻擊中看到的舊版本有90%以上的相似性;

新舊Janicob和Powersing中的相同代碼塊:

通過進程和虛擬MAC地址檢測虛擬機,MAC地址的列表順序在兩個惡意軟件家族之間是相同的,甚至在2015年和2021 Janicab版本之間也是相同的;

幾乎相同的反分析過程11.png

Janicab 2021虛擬MAC地址列表

12.png

啟用虛擬MAC地址列表

總結Janicab是Deathstalker使用的最古老的惡意軟件家族,可以追溯到2013年,儘管沒有太多公開信息可用,但攻擊者一直在開發和更新惡意軟件代碼,更新LNK滴管的結構,並切換工具集,以在很長一段時間內保持隱蔽性。

攻擊者仍然將重點放在中東和歐洲,並對攻擊法律和金融機構表現出極大的興趣。

由於攻擊者運營商在其歷史和最近的攻擊中繼續使用基於解釋語言的惡意軟件,如Python、VBE和VBS,並且主要是在其惡意軟件家族中,這可以用於防御者的優勢,因為應用程序白名單和操作系統強化是阻止攻擊者攻擊嘗試的有效技術。防御者還應尋找在沒有GUI的情況下運行的Internet Explorer進程,因為Janicab正在以隱藏模式使用IE與C2進行通信。在網絡上,攻擊者使用C2 IP地址而不是域名仍然是繞過基於DNS的安全控制的主要方法。相反,攻擊者仍然使用DDR作為解決C2 IP地址的方法;這是一種DNS解析的替代技術,通過使用可信的、大多數允許的公共web服務,允許C2通信與合法流量混合。這意味著網絡維護者可以尋找對使用的DDR的頻繁訪問,然後是指向IP地址而不是域名的HTTP會話。