記一次 PowerShell 免殺實戰


記一次 PowerShell 免殺實戰

最近在玩免殺,發現了一些免殺思路,今天來給大家做個分享,希望可以幫到大家。

0x01 powershell 加載 shellcode 介紹

UNIX 系統一直有着功能強大的殼程序(shell),Windows PowerShell 的誕生就是要提供功能相當於 UNIX 系統的命令行殼程序(例如:sh、bash 或 csh),同時也內置腳本語言以及輔助腳本程序的工具,使命令行用戶和腳本編寫者可以利用 .NET Framework 的強大功能。

powershell 具有在硬盤中易繞過,內存中難查殺的特點。一般在后滲透中,攻擊者可以在計算機上執行代碼時,會下載 powershell 腳本來執行,ps1 腳本文件無需寫入到硬盤中,直接可以在內存中執行

0x02 前戲

常見的 powershell 攻擊工具有 powersploit、nishang、empire、powercat,試了試這些免殺腳本,發現都不太理想,大部分都被檢測到了,想着要不自己嘗試嘗試?

cs,上號!

首先生成一個自帶的 powershell 腳本

看一下自帶的,是把 shellcode 加載到內存中的代碼放到字符串中然后字符串然后 IEX 執行代碼:

查殺效果:

並不是很理想,畢竟大家都在用,很多殺軟都有了特征和指紋

0x03 開始嘗試混淆

既然是把字符串進行加載不如整個編一個 base64?然后在解碼后加載,想着想着就開始嘗試了:

首先把字符串全部給 base64,我這里先用 burp base64

然后扔進去在加載之前 base64 還原

 
           

把編碼后的代碼解碼后加載,順便搞一個 UTF-8

執行執行一下看看是否可以上線:

Powershell -ExecutionPolicy Bypass -File .\payload.ps1

查看 cs 是否上線:

發現 cs 成功上線,去查看一下免殺效果:

https://www.virustotal.com

...這就把殺軟干懵逼了 ?

嘗試修改變量的名稱來繞過

發現沒什么太大的用處,還剩兩個

嘗試把 base64 編碼后的字符串拆開看看

把上面的 base64 的字符串猜開來在 base64 的時候組合一下

查看 cs 是否上線:

查看免殺效果:

這就完事了,不過只是靜態免殺

0x04 實戰

這一次測試一下,某絨,某 60,(這兩個殺軟一裝,我虛擬機都有點扛不住)

全部更新到最新,先靜態掃描試試

激動人心的時候到了,試試運行

發現他們一點反應都沒有

查看 cs 是否上線:

成功上線

沒想到這么順利

0x05 結語

在測試過程中的一些發現:

如果是沒有改證書的話貌似會被某絨給檢測到

改證書參考:

Cobalt Strike 繞過流量審計

https://paper.seebug.org/1349/

根據 base64 加密的方法還可以推斷出使用其他加密比如 ascii 碼加密也有同樣的效果

大家可以根據我的方法變形,比如可以拆成很多段,在配合其他的加密和解密手段進行免殺,制作屬於自己的免殺


免責聲明!

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



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