NixImports:一款功能強大的.NET代碼程序加載工具
關于NixImports
NixImports是一款功能強大的.NET代碼程序加載工具,該工具專為惡意軟件研究人員或安全分析專家設計,可以幫助我們對惡意軟件或系統安全進行研究和分析。值得一提的是,該工具使用了API哈希和動態調用技術來規避靜態分析檢測。
工具運行機制
NixImports使用了HInvoke項目來實現API-Hashing,并能夠在運行時動態解析大多數被調用的函數。為了解析函數,HInvoke需要兩個哈希,即typeHash和methodsHash。這倆哪個哥哈希代表了類型名稱和方法全名,并能夠在運行時讓HInvoke解析整個mscorlib以找到匹配的類型和方法。
NixImports另一個有趣的特性是,它會盡可能去避免調用已知的方法,通過使用內部方法,我們可以避開一些安全工具使用的基本鉤子和監控機制。
工具下載
由于該工具基于純C#開發,因此我們首先需要在本地設備上安裝并配置好最新版本的Visual Studio工具環境。
接下來,廣大研究人員可以使用下列命令將該項目源碼克隆至本地:
git clone https://github.com/dr4k0nia/NixImports.git
然后打開Visual Studio,將項目導入后進行代碼編譯后構建即可。
工具使用
當前版本的NixImports僅需要我們提供一個.NET源代碼的文件路徑,即可開始封裝和加載任務:
NixImports.exe <filepath>
此時,工具會在當前根目錄下自動生成一個名為Loader.exe的新的可執行程序,這個Loader.exe可執行文件包含了我們編碼后的Payload,以及運行它所需要的其他代碼。
許可證協議
本項目的開發與發布遵循MIT開源許可證協議。
項目地址
NixImports:【GitHub傳送門】
參考資料
https://dr4k0nia.github.io/posts/NixImports-a-NET-loader-using-HInvoke/
https://gist.github.com/dr4k0nia/813087cee2875f5f82e37c8a731b80b0
https://dr4k0nia.github.io/posts/NixImports-a-NET-loader-using-HInvoke/#tips-for-defenders
https://github.com/dr4k0nia/yara-rules/blob/main/dotnet/msil_mal_niximports_loader.yar
本文作者:Alpha_h4ck, 轉載請注明來自FreeBuf.COM