20145325張梓靖 《網絡對抗技術》 免殺原理與實踐
實驗内容
- 使用msf編碼器,veil-evasion,以及利用shellcode程式設計等免殺工具,來驗證各種免殺方式的免殺強度
- 通過組合各種技術實作惡意代碼免殺,并運作在另一部機子上進行測試
基礎問題回答
-
殺軟是如何檢測出惡意代碼的?
通過特征碼:對已存在的流行代碼特征的提取與比對
通過行為:是否有更改系統資料庫行為、是否有設定自啟動、是否有修改權限等等
-
免殺是做什麼?
植入惡意代碼,防止被防毒軟體檢測出來,并能成功控制被植入機
-
免殺的基本方法有哪些?
對惡意代碼進行加殼、用其他語言或編譯器進行再編譯,利用shellcode進行編碼,減少對系統的修改,多在記憶體裡進行操作,多使用反彈式的連接配接
實驗總結與體會
在本次實驗中,主要是對惡意代碼進行免殺操作。可以看出,對于現在的防毒軟體來說,着重的是惡意代碼的特征值與行為,一旦我們給出的惡意代碼避免了被清除的特征值、減少了對系統的一些行為,那麼防毒軟體将無法判斷此代碼是病毒;更别說一些惡意代碼捆綁到了有用的應用軟體上,更甚是自己創造的一個新病毒。是以,對于防毒軟體的應用上,我們不能盲目的絕對相信,也還是需要自己去多積累些防毒殺毒的知識與方法,盡量做到有毒可知,有毒可删。
離實戰還缺的技術或步驟
雖說在實驗中我們做出的很多惡意代碼都能避免被防毒軟體的清除,但是防毒軟體也在不斷更新、擴充病毒庫,是以如果想真正的進行實戰的話,最好的方法就是自己去研究各個軟體的源代碼,尋找到漏洞,并且能夠寫出攻擊該漏洞的惡意代碼,同時還需要了解計算機是如何運作的、防毒軟體是如何清除的方面的,來進一步的避免自己生成的惡意代碼在半道上被“截獲”。
實踐過程記錄
直接使用Msfvenom來生成惡意代碼,并使用shikata_ga_nai對其再進行編碼
- 靶機:win7 防毒軟體:電腦管家 殺毒範圍:所有盤
有一個風險,但它和我們剛生成的惡意代碼無關
- 靶機:win7 防毒軟體:電腦管家 殺毒範圍:存儲剛生成的惡意代碼的F盤
存在10個風險,且我們生成的惡意代碼被查出
為什麼殺毒範圍大了,很多病毒就查不出來了?說明這款防毒軟體可能有它的局限性,大範圍的查找可能精确度、效率不高,是以以後還是多多一個盤一個盤的單獨殺毒吧
- 靶機:win7 防毒軟體:2345安全衛士 殺毒範圍:存儲剛生成的惡意代碼的F盤
查出惡意代碼
同樣繼續使用Msfvenom,但使用shikata_ga_nai對其再進行10次的編碼
- 靶機:win7 防毒軟體:電腦管家
當把生成的可執行檔案一傳到win7,電腦管家就自動對其進行檢測并删除掉了
使用Veil-Evasion生成免殺的可執行代碼
- 這裡選擇的是用ruby進行編譯的meterpreter的rev_tcp
同樣的,一傳送到win7上,就被電腦管家檢測出并删除了
使用Msfvenom直接生成shellcode代碼,并在靶機上,利用此shellcode進行程式設計,生成可執行代碼
- 靶機:win7 防毒軟體:電腦管家 殺毒範圍:存儲剛生成的可執行檔案的E盤
未檢測出惡意代碼
- 靶機:win7 防毒軟體:2345安全衛士 殺毒範圍:存儲剛生成的可執行檔案的E盤
未檢測出惡意代碼
- 嘗試運作該可執行檔案,檢視是否能在msfconsole中進行連接配接,并控制靶機
成功控制靶機
- 在Virscan檢測該可執行軟體的免殺強度
有12%的防毒軟體檢測到該可執行檔案為病毒,說明使用程式設計方式的病毒免殺強度還是挺高的
使用Msfvenom生成被shikata_ga_nai編譯過的shellcode代碼,并在靶機上,利用此shellcode進行程式設計,生成可執行代碼
- 靶機:win7 防毒軟體:電腦管家、2345安全衛士 殺毒範圍:存儲剛生成的可執行檔案的E盤
未檢測出惡意代碼
- 在Virscan檢測該可執行軟體的免殺強度
這次隻有5%的防毒軟體檢測出來了,說明對shellcode進行初次的再編譯對于免殺來說還是很有必要的
使用Msfvenom生成被shikata_ga_nai編譯過10次的shellcode代碼,并在靶機上,利用此shellcode進行程式設計,生成可執行代碼
- 靶機:win7 防毒軟體:電腦管家、2345安全衛士 殺毒範圍:存儲剛生成的可執行檔案的E盤
未檢測出惡意代碼
- 在Virscan檢測該可執行軟體的免殺強度
同隻用shikata_ga_nai編譯一次的免殺效果是一樣,那就可能可以說,無論我們用同一個編譯器對shellcodea編譯了多少次,隻要防毒軟體認定該編譯器生成的檔案就是有問題,那麼最終都會被清除出來
轉載于:https://www.cnblogs.com/zzjzzjzzj/p/6591128.html