記一次PowerShell免殺實戰

2021-10-13 10:26:45 字數 2193 閱讀 6073

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

unix 系統一直有著功能強大的殼程式(shell),windows powershell的誕生就是要提供功能相當於unix系統的命令列殼程式(例如: sh、bash或csh),同時也內建指令碼語言以及輔助指令碼程式的工具,使命令列使用者和指令碼編寫者可以利用.net framework的強大功能。

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

cs,上號!

首先生成乙個自帶的 powershell 指令碼

看一下自帶的,是把shellcode載入到記憶體中的**放到字串中然後字串然後iex執行**:

查殺效果:

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

既然是把字串進行載入,不如整個編乙個base64?然後在解碼後載入,開始嘗試:

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

然後扔進去在載入之前 base64 還原

解密後變數=[system.text.encoding]::utf8.getstring([system.convert]::frombase64string(加密後變數))
把編碼後的**解碼後載入,順便搞乙個 utf-8

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

檢視 cs 是否上線:

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

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

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

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

嘗試把base64編碼後的字串拆開看看:

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

檢視 cs 是否上線:

檢視免殺效果:

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

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

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

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

發現他們一點反應都沒有

檢視 cs 是否上線:

成功上線

沒想到這麼順利

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

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

改證書參考:

cobalt strike繞過流量審計

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

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

記一次除錯

這是我最近幾個月來遇到的最棘手的乙個問題 昨天花了4個小時找出第一層次的原因 這個糾結啊,本來和老婆說好準時下班回家吃飯的,結果被這個問題拖了老久。這是乙個gradle的plugin,用來resolve公司內部的dependency的,弄完了跑測試專案的,拋乙個npe,而且npe還不在自己的 裡面。...

記一次 EqualsAndHashCode的疑惑

lombok的使用真的是讓開發人員欲罷不能,乙個 data不管有多少屬性全部搞定,以後加字段也不用從新生成get和set方法。不過這裡還是有乙個小坑需要注意一下,舉個例子 public class equalsandhashcodetest data noargsconstructor access...

記一次除錯

這是我最近幾個月來遇到的最棘手的乙個問題 昨天花了4個小時找出第一層次的原因 這個糾結啊,本來和老婆說好準時下班回家吃飯的,結果被這個問題拖了老久。這是乙個gradle的plugin,用來resolve公司內部的dependency的,弄完了跑測試專案的,拋乙個npe,而且npe還不在自己的 裡面。...