譯者:知道創宇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塊包含二進制或加密數據。
該腳本會進行多種惡意的活動,例如數據收集和偵察,并最終啟動patch.exe,這是一個用.NET編寫的njRAT dropper。
盡管patch.exe包含一個較舊的已知njRAT鏈,但在我們進行分析時,VirusTotal指示此特殊樣本是上周由Sonatype提交給引擎的,這意味著它至少包含一些新信息。
對可執行文件進行反編譯可以揭示這一關鍵信息。
其中一個叫做“OK”的類構造函數,用硬編碼的字符串顯示了命令和控制(C2)服務器的位置、惡意軟件要與之通信的端口、本地的Windows文件夾等等。
一旦運行patch.exe,它將自身復制到系統上的本地“TEMP”文件夾中,并將其自身重命名為“dchps.exe”(截圖中顯示的值)。C2服務器和它建立連接的端口是46.185.116.2:5552(ZoomEye搜索結果)。
但是,在與C2基礎設施進行通信之前,惡意可執行文件會編輯Windows防火墻規則,以確保與硬編碼IP進行通信時不會出現問題。為此,它將多次發出合法的“netsh”命令,從以下位置開始:
C:\Users\admin\AppData\Local\Temp\dchps.exe、dchps.exe

C2服務器操作者可以遠程執行的命令相當廣泛。
通過使用此惡意軟件感染主機,遠程攻擊者可以記錄擊鍵、修改注冊表值、隨意關閉系統或重新啟動、編輯Web瀏覽器(IE)起始頁、通過語音合成與用戶對話、終止或重新啟動關鍵系統進程(如任務管理器、系統恢復和PING)以及控制硬件設備(如CD驅動器、顯示器、鼠標、鍵盤等)。
該惡意軟件還包含一個硬編碼鏈接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文件。
對于如何將這個庫合并到他們的應用程序中,這里為開發人員提供了詳細的說明。
乍一看,“db-json.js”程序包看起來很干凈,因為它包含了一個真正的JSON DB創建程序包所需要的功能代碼。但是,它正在秘密地將惡意的“jdb.js”作為依賴項。
下面顯示的是版本1.0.3和1.0.4中的清單文件,其中包含“jdb.js”作為依賴項。

此外,在1.0.4版本中,“dbmanager.js”類進一步擴展了功能,在其功能代碼的末尾附加了多個空行,最后一行是:
Require('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
本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/1421/
暫無評論