在我平常滲透測試時,一旦拿到了管理員許可權,往往我就不再往內網滲透了。因為如果那樣做很可能會碰到一堆防護軟體,然後不僅沒能深入,本身擁有的管理員許可權還有可能受影響。但在某一天,我的滲透之旅較為順利,很快就獲得了目標的高許可權,於是我想,是時候深入一下了。所以,我打開了大名鼎鼎的MimiKatz。但是,很明顯,操作系統的Windows Defender並不希望我使用這個軟體。

於是,我決定簡單測試一下如何才能繞過Windows Defender。我搭建了一個本地測試環境,操作系統是Windows 10,Windows Defender已更新到最新版。

我不希望微軟檢測到我的測試過程,所以我關閉了基於雲的保護自動樣本提交這兩項功能。

第一步,展示MimiKatz會被最新版本的Windows Defender所攔截。我從遠程伺服器下載MimiKatz腳本並執行。

嗯?反應似乎太過迅速。我檢查了存放MimiKatz腳本的伺服器,發現沒有收到外部連接嘗試。看來Defender檢查了命令中的敏感字元,直接攔截了下載動作。

我嘗試把上述命令中的所有的MimiKatz改為MimiKat,看看是否還會攔截。

似乎有效!...嗯...至少文件下載是沒問題了。讓我們用命令迅速將Mimikatz腳本的所有MimiKatz改為MimiKat

sed -i -e s/Mimikatz/Mimikat/g Invoke-Mimikat.ps1

如上圖所示再試一次,好的,還是不成功。在這裡我們可以試試將以前研究人員發現的MimiKatz腳本中的敏感字元進行替換,讓我們看看在2017年1月5日由@BHinfoSecurity發表的一篇文章blackhillsinfosec.com/b,裡面有很多MimiKatz腳本中敏感字元的替換手段。讓我們試試在替換後,命令行運行結果。

OK,正如我所料,過時了......我想Defender在過去一年左右的時間裡已經完全免疫了這種混淆方法......現在,我們還是要找出真正敏感的字元。我決定將文件切割,逐個測試,看能不能發現什麼。

split -l 50 Invoke-Mimikat.ps1 ./SPLIT/Mimi-

我選擇將文件切割為50個,當然,你可以選擇你想要的精細程度。現在,讓我們通過遠程傳輸的方式,逐一測試這些分割後的文件。

Get-MpThreatDetection | where {$_.InitialDetectionTime -gt 3/09/2019 1:48:00 PM} | measure | % { $_.Count }
Copy-Item "\172.16.56.105SPLIT" -Destination . -Recursive
Get-MpThreatDetection | where {$_.InitialDetectionTime -gt 3/09/2019 1:48:00 PM} | measure | % { $_.Count }

經過一番測試,Defender貌似標記了其中兩個文件。讓我們深入研究一下。

從上圖我們可以看出,Resources一欄顯示Mimi-aj和Mimi-cb是罪魁禍首。

接下來,我們可以把腳本中看似「恐怖」的變數進行替換,或者再把文件進行切割然後測試,直到我們把敏感字元精確到最小單位。對於第一個文件,我重命名了一些可怕的變數,成功繞過,於是乎,只剩下最後1/50個文件了。

然後重複我們之前的步驟,不斷縮小範圍,替換敏感字元。

最後,我們已經能夠成功繞過Windows Defender!此外,賽門鐵克也不在話下。我已經開發了一個簡單的腳本來實現整套流程,但更重要的是了解它的原理。在後續帖子中,我將更加深入地探討自動化混淆。

如果你知道更好的工具,請通過推特和我交流.

本文由白帽彙整理並翻譯,不代表白帽匯任何觀點和立場

來源:繞過Windows Defender的「繁瑣」方法

原文:cyberguider.com/bypassi

白帽匯從事信息安全,專註於安全大數據、企業威脅情報。

公司產品:FOFA-網路空間安全搜索引擎、FOEYE-網路空間檢索系統、NOSEC-安全訊息平台。

為您提供:網路空間測繪、企業資產收集、企業威脅情報、應急響應服務。


推薦閱讀:
相关文章