Evilnum惡意組織使用新的基于Python的木馬攻擊金融公司
在過去的幾個月中,Cybereason Nocturnus團隊一直在調查了Evilnum惡意組織發起的攻擊活動。該組織最初成立于2018年,針對英國和歐盟范圍內的公司的幾次攻擊活動都與這個組織有關。目前,Evilnum開發的惡意工具采用了許多新的技術,根據最近的研究分析,這些惡意軟件攻擊活動涉及使用JavaScript和C#編寫的后門程序,以及通過從惡意軟件服務提供商Golden Chickens購買的工具。
與常見的網絡釣魚操作不同,該組織的業務目標似乎很高,主要針對金融科技市場,濫用“了解你的客戶規則”(KYC),即客戶在開展業務時提供的信息文件。自首次發現以來,該組織主要針對英國和歐盟各地的不同公司。
最近幾周,Nocturnus團隊觀察到Evilnum惡意組織有了新的活動,包括一些與之前觀察到的攻擊有明顯改進的技術。這些變化包括感染鏈和持久性的改變,隨著時間的推移正在擴展的新基礎設施,以及使用新的Python腳本遠程訪問木馬(RAT)來監控其受感染的目標。
PyVil RAT具有不同的功能,攻擊者能夠竊取數據、執行鍵盤記錄和截取屏幕截圖,以及部署更多的工具(如LaZagne)以竊取憑證。在本文中,我們將深入探討Evilnum組織的最新活動,并探索其新的感染鏈和工具。目前可以確定,攻擊者將攻擊目標重點對準的是金融部門。經過追蹤分析,Evilnum最新開發的工具中具備了許多新的攻擊技巧,其中包括:
1.嘗試使用合法可執行文件的修改版本,以使安全工具無法檢測到;
2.感染鏈從具有后門功能的JavaScript木馬轉移到有效載荷的多進程傳遞過程;
3.新發現的Python腳本RAT稱為PyVil RAT,它是使用py2exe編譯的,該py2exe能夠下載新模塊以擴展功能;
據報道,Evilnum組織主要針對英國和其他歐盟國家的金融技術公司。該組織的主要目標是監控被感染的目標并竊取諸如密碼、文檔、瀏覽器cookie、電子郵件憑據等信息。
正如過去所報道的那樣,除了該組織自己的專有工具外,還觀察到Evilnum在某些情況下會部署Golden Chickens工具。 Golden Chickens是一種惡意軟件即服務(MaaS)提供商,已被FIN6和Cobalt Group等組織使用。 Evilnum組使用的工具包括More_eggs,TerraPreter,TerraStealer和TerraTV。
Evilnum組織的攻擊活動于2018年首次被發現,當時他們使用了臭名昭著的JavaScript Trojan的第一版。該腳本通過查詢為此目的創建的特定頁面,從GitHub,DigitalPoint和Reddit等站點提取C2地址。這種技術使攻擊者能夠輕松地更改已部署代理的C2地址,同時在向合法的已知站點發出請求時保持通信屏蔽。
從2018年首次被發現到現在,該組織在不同的攻擊中被多次提及,每次都使用新功能升級其工具集,并向該組織的武器庫中添加新工具。
Evilnum的初始感染媒介通常以魚叉式網絡釣魚電子郵件開頭,目標是提供包含LNK文件的ZIP壓縮文件,這些LNK文件偽裝成不同文件的照片,例如駕駛執照,信用卡和水電費。不過這些文件很可能被盜,屬于真實個人。
一旦LNK文件被打開,它就會部署JavaScript木馬,它會用一個真實的圖像文件代替LNK文件,從而使整個操作對用戶不可見。
到目前為止,如本文所述,已經觀察到JavaScript木馬的六種不同迭代版本,每一種都有一些小的變化,但不會改變核心功能。JavaScript代理具有上傳和下載文件、竊取cookie、收集防病毒信息、執行命令等功能。
如上所述,除JavaScript組件外,還觀察到該組織正在部署C#木馬,該木馬具有與以前的JavaScript組件類似的功能。
以前的感染鏈
新的感染鏈
過去,Evilnum的感染鏈始于魚叉式網絡釣魚電子郵件,提供包含偽裝成圖像的LNK文件的zip壓縮文件,這些LNK文件將刪除具有上述后門功能的JavaScript木馬。
近幾周來,我們觀察到了這種感染程序的變化:首先,沒有將四個不同的LNK文件提供到zip壓縮文件中,而該zip壓縮文件又將由JPG文件替換,僅壓縮文件了一個文件。該LNK文件偽裝為PDF,其內容包括幾個文檔,例如水電費賬單,信用卡照片和駕駛執照照片:
ZIP中的LNK文件
與以前的版本一樣,執行LNK文件時,會將JavaScript文件寫入磁盤并執行,將LNK文件替換為PDF:
PDF中的示例KYC文檔
與擁有一系列功能的先前版本不同,此版本的JavaScript主要充當一個下載程序,并且缺少任何C2通信功能。該JavaScript是此新感染鏈中的第一階段,并最終傳播有效載荷,該載荷是用py2exe編譯的Python編寫的RAT,Nocturnus研究人員將其稱為PyVil RAT:

初始感染過程樹
在Cybereason中,我們能夠查看進程樹以及從LNK文件中提取JavaScript:

Cybereason中的初始感染過程樹
通過將包含字符串“END2”(在腳本中注釋)的所有行輸出到temp文件夾中名為“0.js”的文件中,并將LNK復制為temp文件夾作為“1.lnk”來提取JavaScript:

提取嵌入式JS腳本
JavaScript文件使用與以前版本相似的路徑刪除二進制文件(“%localappdata%\\ Microsoft \\ Credentials \\ MediaPlayer \\”):

JS文件中的片段
在腳本將LNK文件替換為真實的PDF之后,JS文件將復制到“%localappdata%\ Microsoft \ Credentials \ MediaPlayer \ VideoManager \ media.js”,然后再次執行。
在此腳本的第二次執行中,將提取嵌入在LNK文件內部的名為“ddpp.exe”的可執行文件,并將其保存到“%localappdata%\ Microsoft \ Credentials \ MediaPlayer \ ddpp.exe”。
與以前版本的惡意軟件使用“運行”注冊表項保持持久性不同,在此新版本中,將為ddpp.exe創建一個名為 “Dolby Selector Task”的計劃任務:

ddpp.exe計劃任務
有了這個計劃的任務,檢索有效載荷的第二階段就可以開始了:

下載程序進程樹
在Cybereason中,我們看到有效載荷嘗試進行的憑證轉儲:

Cybereason中的下載程序處理樹
DDPP.EXE: TOJANZED程序
ddpp.exe可執行文件似乎是經過修改以執行惡意代碼的“Java(™)Web Start Launcher”版本:
ddpp.exe圖標
將惡意軟件可執行文件與原始Oracle可執行文件進行比較時,我們可以看到文件之間的相似元數據。乍一看,主要區別在于原始Oracle可執行文件已簽名,而惡意軟件未簽名:
ddpp.exe的文件屬性
原始javaws.exe文件屬性
根據Intezer引擎,在惡意軟件可執行文件和合法的Oracle公司文件之間存在大量共享代碼:

ddpp.exe代碼在Intezer中的重用示例
DDPP.EXE功能
ddpp.exe可執行文件充當感染下一階段的下載程序。
它由計劃任務使用三個參數執行:
1.受感染設備的編碼UUID;
2.已安裝的防病毒產品的編碼列表;
3.數字0;

ddpp.exe計劃任務參數
執行ddpp.exe時,它將解壓縮shellcode:

ddpp.exe將執行命令傳遞給shellcode
Shellocode使用GET請求連接到C2,并在URI中發送接收到的上述三個參數。反過來,惡意軟件又接收另一個加密的可執行文件,該文件以“fplayer.exe”的形式保存在磁盤上,并使用新的計劃任務執行:

通過HTTP的ddpp.exe C2通信
FPLAYER.EXE
fplayer.exe充當另一個下載程序,然后,已下載的有效載荷由fplayer.exe加載到內存中,并用作無文件RAT。該文件保存在“%localappdata%\ microsoft \ media Player \ player \ fplayer.exe”中,并與名為“Adobe Update Task” 的調度任務一起執行:

fplayer.exe計劃任務
Fplayer.exe也通過幾個參數執行:
1.受感染設備的編碼UUID;
2.PyVil RAT稍后將使用三個參數:
“ -m”:計劃任務的名稱
“ -f”:告訴PyVil RAT解析其余參數
“ -t”:更新計劃任務

fplayer.exe計劃的任務參數
與ddpp.exe相似,fplayer.exe似乎是“Stereoscopic 3D driver Installer”的修改版本:
fplayer.exe圖標
同樣在這里,我們可以看到文件之間的相似元數據,不同之處在于原始Nvidia可執行文件已簽名,而惡意軟件未簽名:
fplayer.exe的文件屬性
原始nvStinst.exe文件屬性
同樣,根據Intezer引擎,這一次與Nvidia Corporation的代碼相似度很高:

Intezer中的fplayer.exe代碼重用
當執行fplayer.exe時,它還會解壓縮shellcode:

fplayer.exe將執行傳遞給shellcode
Shellcode使用GET請求連接到C2,這一次僅在URI中發送已編碼的UUID。觀察到fplayer.exe接收到另一個加密的可執行文件,該文件另存為“%localappdata%\ Microsoft \ Media Player \ Player \ devAHJE.tmp”:

fplayer.exe C2通信
進程解密接收到的可執行文件,并將其映射到內存,然后將其傳遞給執行程序。
解密后的文件是已編譯的py2exe可執行文件,py2exe是一個Python擴展,它將Python腳本轉換為Microsoft Windows可執行文件。
PYVIL:新的PYTHON RAT
為了防止使用現有工具反編譯有效載荷,py2exe內的Python代碼會增加額外的層。使用內存轉儲,我們能夠提取Python代碼的第一層。第一部分代碼對第二層Python代碼進行解碼和解壓縮:

去混淆代碼的第一層
Python代碼的第二層對主要RAT和導入的庫進行解碼并將其加載到內存中:

第二層代碼段:提取Python庫
PyVil RAT具有以下功能:
1.鍵盤記錄器;
2.運行cmd命令;
3.截屏;
4.下載更多Python腳本以獲得其他功能
5.刪除和上傳可執行文件
6.打開SSH shell;
7.收集信息,例如:
7.1已安裝防病毒產品
7.2已連接USB設備
7.3Chrome版本
PyVil RAT的Global變量可以清楚地了解惡意軟件的功能:

顯示PyVil RAT功能的全局變量
PyVil RAT具有一個配置模塊,其中包含與C2通信時使用的惡意軟件版本、C2域和用戶代理:
配置模塊
PyVil RAT的C2通信是通過POST HTTP請求完成的,并使用以base64編碼的硬編碼密鑰對RC4進行了加密:

RC4秘鑰

數據從受感染設備被發送到C2
此加密數據包含從設備和配置收集的不同數據的Json:

發送到C2的一個解密JSON

C2通信中使用的字段
在對PyVil RAT進行分析的過程中,惡意軟件多次從C2接收到要執行的新Python模塊。這個Python模塊是Evilnum組過去使用的LaZagne Project的自定義版本。該腳本將嘗試轉儲密碼并收集cookie信息以發送到C2:

解密發送到C2的LaZagne輸出
基礎設施功能的擴展
在該組織的先前活動中,Evilnum的工具避免使用域與C2進行通信,而僅使用IP地址。最近幾周,隨著Evilnum不斷改進的基礎架構,研究者又發現了一個有趣的攻擊趨勢。
通過跟蹤Evilnum在過去幾周中建立的新基礎架構,可以看到擴展的趨勢。盡管C2 IP地址每隔幾周更改一次,但與此IP地址關聯的域列表卻在不斷增長。幾周前,與惡意軟件關聯的三個域被解析為相同的IP地址:

此后不久,所有三個域的C2 IP地址都更改了。此外,三個新域使用相同的IP地址注冊,并被惡意軟件使用:

幾周后,這種變化再次發生。所有域的解析地址在幾天之內發生了變化,并增加了三個新域:

Evilnum的基礎架構
總結
在本文中,我們檢查到了Evilnum組織的新感染鏈已經投入到實際工作中,從2018年開始,加入了一種新的基于Python的遠程訪問特洛伊木馬(RAT),該木馬可以竊取密碼、文檔、瀏覽器cookie、電子郵件憑據和其他敏感信息,且以金融科技行業為目標。
除了使用帶有假冒的魚叉式網絡釣魚電子郵件(KYC)來誘騙金融業員工觸發惡意軟件外,攻擊還從使用具有后門功能的基于JavaScript的特洛伊木馬轉移到了能夠提供隱藏在合法可執行文件的修改版本中的惡意有效載荷,旨在逃避檢測。
最近幾周,研究人員發現該組織的感染程序發生了重大變化,不再使用JavaScript后門功能,而是將其用作下載新攻擊工具的一種手段。多進程傳遞過程(“ ddpp.exe”)在執行時,解壓縮shellcode以便與攻擊者控制的服務器建立通信,并接收第二個加密的可執行文件(“ fplayer.exe”),該文件用作下一階段的下載程序以進行提取Python RAT。在該小組的先前活動中,Evilnum的工具避免使用域與C2進行通信,而僅使用IP地址。雖然C2 IP地址每隔幾周更改一次,但與此IP地址關聯的域列表卻在不斷增長。
該組織部署了一種新型的Python RAT,Nocturnus的研究人員將其稱為PyVil RAT,它具有收集信息、獲取屏幕截圖、鍵盤記錄數據,打開SSH Shell和部署新工具的能力。這些工具可以是Python模塊(例如LaZagne)或可執行文件,因此可以根據需要添加更多功能來進行攻擊,這種策略和工具上的創新使該組織得以瘋狂發起攻擊。
MITRE ATT&CK BREAKDOWN

本文翻譯自:https://www.cybereason.com/blog/no-rest-for-the-wicked-evilnum-unleashes-pyvil-rat如若轉載,請注明原文地址。