淺談免殺技術(shù)

完美的免殺方法
到目前為止,要實現(xiàn)惡意軟件的“FUD”,加密惡意代碼被認為是個不錯的選擇,不過有幾點要注意:
1.惡意程序在解密時,應當也進行代碼混淆
2.當惡意文件在內(nèi)存中運行解密代碼時,我們必須要保證在不重定位絕對地址的情況下進行
3.惡意軟件是否在沙箱環(huán)境中運行,如果是,則立馬停止惡意文件的解密
4.應當只對 PE 文件中的 shellcode 或 只有二進制文件的.text部分進行加密,而不是對整個 PE 文件進行,以便把信息熵和降到最低
以下是惡意軟件流程圖。

4.png

我們的“殺軟檢測”功能將檢測惡意軟件是否正在沙箱中被動態(tài)分析,如果功能檢測到AV掃描器的任何跡象,則它將再次調(diào)用主函數(shù)或者僅當 “AV Detect” 函數(shù)來用。如果沒有發(fā)現(xiàn)AV掃描器的任何跡象,它會調(diào)用 “解密Shellcode” 的功能。
以下就是 meterpreter 反匯編 shellcode 的原始格式。
5.png

為了讓信息熵保持適當?shù)拇笮?,我們需要將shellcode注入方法改為使用多字節(jié)鍵的xor加密,xor加密標準不同于RC4或blowfish。因為惡意軟件根本就用不到像RC4或blowfish這樣的強加密,所以殺軟產(chǎn)品也不會企圖去解密信息熵中的shellcode,因此我們在編寫惡意軟件時,只需保證shellcode具備不可讀和不可檢測的靜態(tài)字符串就足夠了,如果使用xor,那解密過程更快,加密庫中的代碼量也會少很多。
同一個 meterpreter 代碼使用 XOR 加密的前后對比
6.png

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容