新Njrat木馬(Bladabindi)的新功能原始碼分析
*本文原創作者si1ence,本文屬於FreeBuf原創獎勵計劃,未經許可禁止轉載
0×0 背景
Njrat,又稱Bladabindi,該木馬家族使用.NET框架編寫,是一個典型的RAT類程式,通過控制端可以操作受控端的檔案、程序、服務、登錄檔內容,也可以盜取受控端的瀏覽器的儲存的密碼資訊等內容。
新版的Njrat新增了更加流行的一些功能點,如勒索壓力測試,BTC錢包採集、對抗安全工具等使用新功能。
客戶端(Client)生成介面與後臺控制端(Server)如圖:
0×1 原始碼分析
總體程式碼結構比上一個版本會顯得更加豐富了一些,這裡重點看一下新增部分的內容。
0×2 勒索加密與解密
最開始是先獲取了二個路徑Applicationdata和Startup二個特殊路徑,然後從Mypath一個輸入型變數的路徑開始與最開始的二個路徑進行比較後,呼叫Crypt方法進行加密。
主要加密的檔案目錄如下:
加密演算法主要使用了AES對稱加密體制同時採用了電碼本模式ECB(Electronic Codebook Book),過程中定義了32個Byte的金鑰分組,分組金鑰長度為256位。
對稱加密,解密演算法與之基本一致。
0×3 壓力測試(DDOS)
木馬主要內建了Slowloris作為流量攻擊的主體,這個玩意評價很高可以用很少的頻寬實現攻擊效果。
核心的呼叫方法如下:
0×4 U盤感染
首先獲取到系統的裝置資訊然後找到已經連線好型別為Removable型別的磁碟,獲取到U盤的檔案路徑與木馬母體的路徑,並更改隱藏屬性。
將真實存在的檔案全部設定為隱藏檔案,並新建Link型別的快捷方式。使用者在點選link執行快捷方式的同時,將會自動觸發病毒母體的執行。
0×5 排除異己
木馬執行時將會檢查系統當中是否存在一些安全查殺工具與虛擬機器檢測,發現後講幹掉這些異己。(彷彿明白了為什麼PChunter每次的程序名都是隨機字串的原因)
例舉幾個被監控的安全工具:
Process Hacker
Process Explorer
dnSpy
Sandboxie Control
wireshark
SpyTheSpy
Reflector
0×6 總結
1. 現在木馬增加了很多對抗安全工具的方式,日常應急響應過程中需要格外仔細檢查
2. 有更多基本功能的分析比如一些通訊協議、獲取鍵盤資訊、遠端控制等操作可移步菠菜大佬安全分析過的文章:【傳送門】。
*本文原創作者si1ence,本文屬於FreeBuf原創獎勵計劃,未經許可禁止轉載