NixImports:一款功能強(qiáng)大的.NET代碼程序加載工具
關(guān)于NixImports
NixImports是一款功能強(qiáng)大的.NET代碼程序加載工具,該工具專為惡意軟件研究人員或安全分析專家設(shè)計(jì),可以幫助我們對惡意軟件或系統(tǒng)安全進(jìn)行研究和分析。值得一提的是,該工具使用了API哈希和動態(tài)調(diào)用技術(shù)來規(guī)避靜態(tài)分析檢測。
工具運(yùn)行機(jī)制
NixImports使用了HInvoke項(xiàng)目來實(shí)現(xiàn)API-Hashing,并能夠在運(yùn)行時(shí)動態(tài)解析大多數(shù)被調(diào)用的函數(shù)。為了解析函數(shù),HInvoke需要兩個(gè)哈希,即typeHash和methodsHash。這倆哪個(gè)哥哈希代表了類型名稱和方法全名,并能夠在運(yùn)行時(shí)讓HInvoke解析整個(gè)mscorlib以找到匹配的類型和方法。
NixImports另一個(gè)有趣的特性是,它會盡可能去避免調(diào)用已知的方法,通過使用內(nèi)部方法,我們可以避開一些安全工具使用的基本鉤子和監(jiān)控機(jī)制。
工具下載
由于該工具基于純C#開發(fā),因此我們首先需要在本地設(shè)備上安裝并配置好最新版本的Visual Studio工具環(huán)境。
接下來,廣大研究人員可以使用下列命令將該項(xiàng)目源碼克隆至本地:
git clone https://github.com/dr4k0nia/NixImports.git
然后打開Visual Studio,將項(xiàng)目導(dǎo)入后進(jìn)行代碼編譯后構(gòu)建即可。
工具使用
當(dāng)前版本的NixImports僅需要我們提供一個(gè).NET源代碼的文件路徑,即可開始封裝和加載任務(wù):
NixImports.exe <filepath>
此時(shí),工具會在當(dāng)前根目錄下自動生成一個(gè)名為Loader.exe的新的可執(zhí)行程序,這個(gè)Loader.exe可執(zhí)行文件包含了我們編碼后的Payload,以及運(yùn)行它所需要的其他代碼。
許可證協(xié)議
本項(xiàng)目的開發(fā)與發(fā)布遵循MIT開源許可證協(xié)議。
項(xiàng)目地址
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, 轉(zhuǎn)載請注明來自FreeBuf.COM