[問題諮詢] 009 紅隊 Evasion 技術指南:AV/EDR Bypass 實戰與考證準備

本篇文章「知識內容與細節」與「行動指南」兩大面向,整理紅隊攻防中「Evasion(AV/EDR Bypass)」技術的相關資訊、學習資源,以及如何有效運用時間去準備考試或深化技能。

許多非台灣用語會稱呼 Evasion 為「免殺」。

一、前言與學習路線建議

  • Evasion該技術在紅隊演練中是重要一環,包括繞過防毒(AV)或端點偵測/回應(EDR)等安全機制。
  • 常見手法包含程式碼混淆、AMSIBypass、Syscall直接呼叫、權杖攜帶等技術。
  • 若以「考證」為首要目標(如 OSCP、OSEP、CRTO、CRTE、CRTM 等),建議先明確規劃準備時間,聚焦通過考試所需要的知識體系;若時間充裕,可再深入研究 Evasion 技術。
  • 建議順序:先打好基礎(Windows 安全機制、AV/EDR 運作原理),再學習各種 Evasion 技巧與常見 C2 Framework 的部署與客製化。

二、知識內容與細節

以下整理常見關鍵字、技術主題,以及可參考的方向:

1. AMSI 繞過技術 (AMSI Bypass)

  • AMSI(Anti-Malware Scan Interface)是微軟提供給防毒軟體用以掃描 PowerShell、VBA 巨集等程式碼的介面。
  • 主要做法:
    • 修改記憶體中的 AMSI 相關函式:Patch AMSI DLL 中的函式(如 AmsiScanBuffer)。
    • 動態修改 PowerShell 腳本:在執行時修改或加密部分字串,以避開靜態偵測。
    • 混淆技術:使用工具如 Invoke-Obfuscation 或自寫字串加密解密函式。

2. ETW (Event Tracing for Windows) 繞過 (ETW Bypass)

  • ETW為 Windows 的事件追蹤機制,可用於行為偵測與記錄。
  • 主要做法:
    • Patch ETW 函式(如 EtwEventWrite)或改寫函式指標,阻斷向Windows事件系統寫入。
    • Syscall/Direct Call:不透過高階API,而是直接呼叫底層系統呼叫,減少被攔截機會。

3. PowerShell Runspace 技術 (In-Memory PowerShell)

  • Runspace 可讓開發者在記憶體中執行 PowerShell 腳本,降低在硬碟上留下明顯腳本的風險。
  • 與 AMSI bypass 搭配時,能有效在記憶體中執行混淆過的程式碼。

4. 反射式 Assembly 載入 (Reflective Assembly Loading)

  • Reflective Loading可以在不落地的情況下,將 .NET Assembly、C# DLL、C++ DLL注入記憶體並執行。
  • 工具範例:
    • SharpSploit
    • Cobalt StrikeSliver 中的Reflective Loader
    • Donut (可將 .NET、VBA、Ruby等載入)

5. Syscall 直接呼叫 (Direct System Call)

  • 目前很多EDR會Hook常見的Win32 API呼叫。
  • Direct Syscall手法能避開Hook的層級,直接使用 syscall 編號來執行系統函式。
  • 需搭配對應的系統版本號或NTOS offsets,實務上具備一定難度,需要較深的Windows Internals知識。

6. 程式碼混淆與字串加密 (Obfuscation & String Encryption)

  • 靜態偵測常透過特徵碼或字串指紋比對。
  • 避開方式:
    • 自訂加密/解密流程:自訂RC4, AES, Base64, XOR… 加強難度。
    • 動態還原/還原後再重新加密
    • 程式碼壓縮/混淆:如 ConfuserExObfuscar(針對 .NET 程式)。

7. LoLBins (Living-off-the-Land Binaries)

  • 指利用系統內建或預裝的合法程式(如 regsvr32.exe, MsBuild.exe, Rundll32.exe, InstallUtil.exe 等)來執行惡意程式碼。
  • 由於LoLBins本身是系統信任的二進位檔,透過參數/腳本注入達成 Evasion 與隱匿目標。

三、額外關鍵名詞與參考資料

  • Evasion techniques, EDR bypass, CRTO (Certified Red Team Operator), CRTE, CRTM, OSEP
    這些關鍵字都可用來搜尋 GitHub 專案或部落格文章,常見技術討論區:

    • Medium 搜尋 "EDR Bypass" + "AMSI Bypass" + "CRTO"
    • Reddit r/redteamsecr/AskNetsec
    • GitHubEvasionBypass 為關鍵詞。
  • 名詞延伸方向
    1. Shellcode Injection手法(使用 VirtualAlloc, WriteProcessMemory, CreateRemoteThread 等)
    2. Syscall Stub 生成工具(SysWhispers, InlineWhispers, Hell's Gate
    3. Windows Internals(幫助理解API Hook與Kernel-Mode可疑行為過濾)

四、常見工具/框架(部分舉例)

工具/框架 功能與特色 來源/說明
Cobalt Strike 商業化 C2 Framework,內建多種繞偵測技術與Beacon混淆策略 付費,常見於實務紅隊演練
Sliver 開源C2框架,支援多種載荷(Go-based),具備多種Evasion功能 GitHub – BishopFox/sliver
Metasploit 雖然相對老牌,但透過客製化Payload、Mettle等模組也能進行 Evasion 嘗試 Metasploit官方
Donut 將 .NET Assembly / EXE / DLL 轉成shellcode,不落地執行 GitHub – TheWover/donut
Inceptor 目標為在 .NET/C++ payload 基礎上輕鬆套用各種Obfuscation與Bypass技術 GitHub – Inceptor
Sharpshooter 由 MDSec 開發,用於產生針對 Office 巨集/HTA 的繞偵測Loader GitHub – Sharpshooter

五、學習資源與參考文章

  1. TryHackMe (THM)
    • 針對逆向、惡意程式分析、Windows安全等,都有關卡(Room)。雖然 Evasion 相關比較零散,但可以練習基本C2、AV繞過觀念。
    • 建議關鍵字:Evasion, Red Team, Windows Internals
  2. Hack The Box (HTB)
    • 有些機器或挑戰需要使用特殊技巧(C# 反射式載入、PoweShell AMSI bypass…),可藉此堆積經驗。
    • 可依難度或題目標籤尋找與 C2/Evasion 技術有關的機器。
  3. 部落格/網站
  4. 書籍/官方文件
    • Windows Internals 系列書籍或微軟官方文檔:對於深入了解底層API Hook、ETW等非常有幫助。
    • OSEP官方課程大綱:可了解 Offensive Security 規劃的繞過技術概念。
  5. 線上影片課程
    • TCM Security的付費課程(有針對 AV/EDR 繞過教學)。
    • YouTube 頻道如 IppSec (多是HTB解題),或 John Hammond (包含惡意程式分析/CTF/Evasion 技巧)。

六、行動指南

  1. 明確目標:
    • 若今年重點是 OSCP,先專注在基礎駭客手法、漏洞利用、Windows/Linux混合滲透等。OSCP 並沒有深度針對「Evasion」考點,但有些時候仍需對簡易 AV bypass 有概念。
    • 若拿下 OSCP 後,打算往更進階的紅隊/Evasion 領域發展,可再準備 OSEP、CRTO 等有「Evasion / AV Bypass」核心的課程與證照。
  2. 分階段學習:
    • 階段1 – 基礎補強:
      • Windows帳號權限機制、Token、Windows API、PE檔案結構、PowerShell腳本基礎等等。
    • 階段2 – 常見繞過實務:
      • 試著手動或使用現成工具(Donut, Inceptor)來生成 Evasion Payload,學會如何Patch AmsiScanBuffer、ETW函式等。
    • 階段3 – 進階整合:
      • 將技術整合到一個 C2 工具 (例如Cobalt Strike / Sliver / Covenant),調整Loader或Stager的混淆手段,與防毒/EDR進行對抗測試。
    • 階段4 – 測試與迭代:
      • 在實驗環境安裝不同品牌的防毒/EDR進行測試,把偵測到的特徵再回頭做修正或混淆。
  3. 時間管理:
    • 以考證為優先的話:建議在確保考試必備技術(漏洞利用、基礎滲透手法、基礎 Evasion )都熟練後,再花時間深入「Evasion」專題。
    • 時間無壓力、學習目標是精進技術,可同時進行CTF/HTB/THM並做 Evasion 實驗,保有學習樂趣。
  4. 做筆記與案例分析:
    • 每完成一次 Evasion 測試就紀錄操作步驟、失敗原因、偵測日誌樣本與修正方式。
    • 參考真實入侵事件的調查報告(如 Mandiant/FireEye 出版的APT報告)瞭解實際駭客如何迭代繞過企業EDR。

七、總結

  • Evasion (AV/EDR Bypass) 涵蓋技術廣且深,從Windows底層API、記憶體注入、程式碼混淆到 C2 框架客製化都要顧及。
  • 若時間與目標有限,建議先聚焦在主考內容或必備基礎,再逐步延伸學習各種 Evasion 技術。
  • 參考關鍵字如 Evasion techniques, AV bypass, EDR bypass, AMSI Bypass, ETW Bypass 等,都能在 TryHackMeHack The BoxGitHub部落格YouTube 發現相當多實作案例。

行動建議:
1. 規劃今年的學習主線(OSCP -> 休息 -> OSEP/CRTO)。
2. 挑選一至兩個C2框架(如 Sliver、Cobalt Strike),熟悉客製化Payload流程。
3. 實驗在 Windows 10/11 + 不同AV/EDR環境中測試繞過策略。
4. 定期蒐集最新的駭客技術報告(APT報告、研究部落格),追蹤繞過手法更新。

只要不斷「實作 – 測試 – 迭代」,加上系統性研究,就能穩定累積經驗,逐步勝任紅隊 Evasion 與進階滲透相關工作。

飛飛
飛飛