譯者:知道創宇404翻譯組
原文鏈接:https://blog.sonatype.com/bladabindi-njrat-rat-in-jdb.js-npm-malware

在感恩節周末,我們在npm注冊表中發現了新的惡意軟件:遠程訪問木馬(RAT)。

惡意軟件包為:

這兩個軟件包均由同一作者發布。

“jdb.js”試圖模仿合法的基于NodeJS的數據庫庫jdb。同樣,“db-json.js”的名稱與正版db-json庫的名稱相同。

但是,“jdb.js”實際上是與名為njRAT aka Bladabindi的遠程訪問木馬(RAT)捆綁在一起的惡意軟件包。

RAT是一種惡意軟件,可以使攻擊者控制受感染的系統、執行任意命令、運行鍵盤記錄程序、秘密地進行其他監視活動。

njRAT是一種信息竊取木馬,已部署在廣泛的攻擊中,這導致微軟在2014年關閉了400萬個站點

近年來,njRAT/Bladabindi的變體已通過YouTube上的比特幣騙局和Excel網絡釣魚電子郵件進行傳播。而且,鑒于njRAT的可定制性和在暗網上的易用性,這些惡意軟件也被攻擊者作為勒索軟件工具包的一部分。

剖析npm惡意軟件“jdb.js”

上周發布的“jdb.js”是一個npm軟件包(不是JavaScript文件),只有一個版本1.0.0,其中包含3個文件:

  • package.json,清單文件
  • module.js,一個模糊的腳本
  • patch.exe,包含njRAT有效負載的Windows可執行文件

安裝軟件包后,包含在軟件包中的package.json清單文件將啟動module.js。

module.js是一個高度混淆的腳本,其中包含多個無法輕易解密的base64編碼的塊。解碼這些字符串會發生亂碼,這意味著這些base64塊包含二進制或加密數據。

模糊的module.js文件

該腳本會進行多種惡意的活動,例如數據收集和偵察,并最終啟動patch.exe,這是一個用.NET編寫的njRAT dropper。

盡管patch.exe包含一個較舊的已知njRAT鏈,但在我們進行分析時,VirusTotal指示此特殊樣本是上周由Sonatype提交給引擎的,這意味著它至少包含一些新信息。

對可執行文件進行反編譯可以揭示這一關鍵信息。

其中一個叫做“OK”的類構造函數,用硬編碼的字符串顯示了命令和控制(C2)服務器的位置、惡意軟件要與之通信的端口、本地的Windows文件夾等等。

patch.exe示例中的硬編碼字符串,例如C2服務器IP地址,刪除的進程的名稱等。

一旦運行patch.exe,它將自身復制到系統上的本地“TEMP”文件夾中,并將其自身重命名為“dchps.exe”(截圖中顯示的值)。C2服務器和它建立連接的端口是46.185.116.2:5552ZoomEye搜索結果)。

但是,在與C2基礎設施進行通信之前,惡意可執行文件會編輯Windows防火墻規則,以確保與硬編碼IP進行通信時不會出現問題。為此,它將多次發出合法的“netsh”命令,從以下位置開始:

C:\Users\admin\AppData\Local\Temp\dchps.exedchps.exe

C2服務器操作者可以遠程執行的命令相當廣泛。

通過使用此惡意軟件感染主機,遠程攻擊者可以記錄擊鍵、修改注冊表值、隨意關閉系統或重新啟動、編輯Web瀏覽器(IE)起始頁、通過語音合成與用戶對話、終止或重新啟動關鍵系統進程(如任務管理器、系統恢復和PING)以及控制硬件設備(如CD驅動器、顯示器、鼠標、鍵盤等)。

njRAT C2服務器可以發送的部分命令列表,以便在受感染的主機上執行木馬

該惡意軟件還包含一個硬編碼鏈接https://dl.dropbox[.]com/s/p84aaz28t0hepul/Pass.exe,現已被Dropbox禁用,該鏈接也經常出現在其他njRAT示例中

值得注意的是,此示例與之通信的C2服務器IP 46.185.116.2(ZoomEye搜索結果)與在某些CursedGrabber二進制文件中觀察到的IOC相同,這表明CursedGrabber和npm惡意軟件“jdb.js”有關聯。

“db-json.js”將“jdb.js”隱藏在其中

盡管“jdb.js”表現出明顯的惡意跡象,但令人擔憂的是“db-json.js”,因為很難被立即發現。

首先,在分析時,“db-json.js”在npm上有一個適當的README頁面,稱其為JsonDb——一個易于使用的模塊,使數據庫基于json文件。

對于如何將這個庫合并到他們的應用程序中,這里為開發人員提供了詳細的說明。

npm自述頁面的npm包“db-json.js”

乍一看,“db-json.js”程序包看起來很干凈,因為它包含了一個真正的JSON DB創建程序包所需要的功能代碼。但是,它正在秘密地將惡意的“jdb.js”作為依賴項。

下面顯示的是版本1.0.3和1.0.4中的清單文件,其中包含“jdb.js”作為依賴項。

此外,在1.0.4版本中,“dbmanager.js”類進一步擴展了功能,在其功能代碼的末尾附加了多個空行,最后一行是:

Require('jdb.js');

包含“clean”代碼的db-json.js秘密地啟動了jdb.js

這意味著如果有人能夠在其應用程序中使用“db-json.js”來躲避“jdb.js”,他們不僅會感染njRAT惡意軟件,還會使其他開發人員面臨風險:安裝或使用“db-json.js”構建的應用程序。

在我們最新的軟件供應鏈狀況報告中,我們看到,OSS項目或下一代軟件供應鏈攻擊中惡意代碼注入增加了430%,這不是我們第一次看到包含假冒組件的攻擊。如果沒有足夠的保護措施,這可能會對軟件供應鏈造成損害。

URLs and IPs:

46.185.116.2:5552(ZoomEye搜索結果

https://dl.dropbox[.]com/s/p84aaz28t0hepul/Pass.exe

Hashes:

d6c04cc24598c63e1d561768663808ff43a73d3876aee17d90e2ea01ee9540ff
86c11e56a1a3fed321e9ddc191601a318148b4d3e40c96f1764bfa05c5dbf212


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