本文基於 https://kypvas.github.io/red-team-map/ 撰寫而成,目標面向資安新手,以教育為目的介紹紅隊(Red Team)的概念與常見技術框架,幫助讀者建立防禦視角。
什麼是紅隊(Red Team)?
在資安領域,紅隊是一群模擬真實駭客行為的安全專家。他們受企業或組織委託,以真實攻擊者的思維和手法,測試目標的防禦能力——這個過程稱為「紅隊演練(Red Team Exercise)」或「對抗性模擬(Adversarial Simulation)」。
與一般弱點掃描不同,紅隊演練的目標是:
- 驗證防禦系統(EDR、SIEM、SOC)能否偵測真實攻擊
- 找出組織在人員、流程、技術三個層面的盲點
- 以真實攻擊鏈(Kill Chain)衡量組織的實際曝險程度
簡單說:紅隊是受控的「真實駭客」,目的是在壞人之前先找到漏洞。
一場紅隊演練長什麼樣子?
現代紅隊操作通常遵循一條「攻擊鏈」,從頭到尾可分為以下七個階段:
基礎建設 → 初始滲透 → 執行 → 規避防禦 → 橫向移動/持久化 → 情報蒐集 → 資料外洩
請注意每次紅隊演練,並不一定完全按照以上的階段,有可能會更換,甚至重複出現。
以下逐一介紹每個階段的核心概念。
第一階段:基礎建設(Infrastructure)
紅隊在開始攻擊前,必須先建立一套「看起來合法」的攻擊基礎設施,這是整個行動的 OPSEC(作業安全)核心。
C2 框架(Command & Control)
C2 框架是紅隊用來控制已植入目標系統的程式(稱為「植入程式」或「Beacon」)的指揮中心。常見的開源或商業框架包括:
| 框架 | 特性 |
|---|---|
| Cobalt Strike | 業界標準,功能豐富,但需授權 |
| Havoc | 開源,現代化設計,主動開發中 |
| Sliver | 開源,Go 語言,跨平台支援 |
| Mythic | 容器化架構,多代理支援,適合紫隊演練 |
💡 新手重點:C2 框架就像是駭客的「遠端管理中心」,一旦目標系統被植入 Beacon,攻擊者就能透過 C2 伺服器下達指令。
為什麼要用「重導向器(Redirector)」?
紅隊不會讓目標直接連回 C2 伺服器,而是在中間加一層或多層重導向器(通常是一台 VPS + nginx/Apache),目的是:
- 隱藏真實 C2 伺服器位置
- 即使重導向器被發現,C2 伺服器依然安全
- 讓流量看起來像合法的 CDN 或 HTTPS 請求
第二階段:初始滲透(Initial Access)
這是紅隊「踏入」目標環境的第一步,也是最常被問到的環節。
網路釣魚(Phishing)仍是王道
儘管防禦技術不斷進步,釣魚攻擊依然是最成功的初始滲透手法。現代釣魚攻擊已遠超過「點擊連結輸入密碼」的層次:
HTML 走私(HTML Smuggling)
– 將惡意程式藏在 HTML 檔案的 JavaScript 程式碼中
– 電子郵件閘道只看到一個 HTML 檔案,掃描不出惡意內容
– 使用者開啟後,JavaScript 解碼並自動下載真正的惡意程式
AitM 釣魚(Adversary-in-the-Middle)
– 工具如 EvilGinx 在受害者與真實登入頁面之間架設透明代理
– 不只能竊取帳號密碼,連 MFA(多因素驗證)的 Session Cookie 也一起偷走
– 攻擊者拿到 Cookie 後,就像直接坐在受害者的位置登入
💡 為什麼 MFA 不夠? 傳統 TOTP 或 Push 通知型的 MFA,面對 AitM 攻擊幾乎無效。目前真正能抵抗釣魚的只有 FIDO2/WebAuthn(硬體安全金鑰)。
裝置代碼釣魚(Device Code Phishing)
這是近年來興起的新型攻擊手法,甚至能繞過 FIDO2:
- 攻擊者產生一組微軟/Google 的「裝置驗證碼」
- 誘騙受害者前往合法的驗證頁面輸入這組代碼
- 受害者完成 MFA 驗證後,攻擊者取得完整的 Access Token 與 Refresh Token
- 這些 Token 就算受害者改了密碼,通常依然有效
第三階段:執行(Execution)
取得初始立足點後,紅隊需要讓惡意程式在目標系統上執行。
LOLBins:用系統自帶工具攻擊
LOLBins(Living Off the Land Binaries)指的是利用 Windows 系統內建的合法程式執行惡意程式碼。常見例子:
mshta.exe:執行 HTA 腳本rundll32.exe:載入並執行 DLLmsbuild.exe:編譯並執行內嵌的 C# 程式碼certutil.exe:下載檔案(原本用於憑證管理)
為什麼這很危險? 因為這些都是 Windows 自帶的合法程式,防毒軟體很難將其標記為惡意。
DLL 側載(DLL Sideloading)
這是目前最常見的執行手法之一:
- 找到一個有數位簽章的合法執行檔(如 OneDrive、Teams 更新程式)
- 該執行檔在啟動時會從同一資料夾載入某個 DLL
- 把惡意 DLL 放到該路徑,替換原本的 DLL
- 合法程式啟動 → 載入惡意 DLL → 執行惡意程式碼
防禦者的視角:EDR 看到的是一個有簽章的合法程式在運作,因此很難觸發警報。
第四階段:規避防禦(Evasion)
現代端點偵測與回應(EDR)產品非常強大,紅隊需要多種技術來繞過偵測。
EDR 的偵測層次
理解 EDR 怎麼運作,才能理解為什麼規避這麼困難:
靜態特徵掃描 → 掃描檔案的已知惡意碼特徵
使用者態掛鉤 → 在 API 呼叫中攔截監控(如 ntdll.dll hooks)
ETW 遙測 → Windows 事件追蹤,提供行為資料
核心回調 → 核心層的流程、執行緒、DLL 載入監控
記憶體掃描 → 定期掃描可疑的記憶體區段
行為/呼叫堆疊分析 → 分析 API 呼叫的來源與模式
常見規避技術概覽
AMSI 繞過(AMSI Bypass)
AMSI(Antimalware Scan Interface)是 Windows 的即時掃描介面,當 PowerShell 或 .NET 執行程式碼時,AMSI 會先掃描。繞過方式包括修補記憶體中的掃描函式,使其直接回傳「安全」結果。
直接系統呼叫(Direct Syscalls)
EDR 通常在使用者態的 ntdll.dll 上安裝「鉤子(Hook)」來監控 API 呼叫。直接系統呼叫跳過這層,直接向作業系統核心發送指令,繞過所有使用者態鉤子。
工具如 SysWhispers3、HellsGate、HalosGate 可自動生成對應的系統呼叫存根(Syscall Stub)。
睡眠混淆(Sleep Obfuscation)
植入程式大部分時間都在「睡眠」(等待下一次 C2 回呼)。這段期間記憶體掃描器可能找到植入程式的特徵。睡眠混淆技術會在睡眠期間對植入程式的記憶體進行加密,掃描時看不出任何特徵。
第五階段:橫向移動與持久化(Lateral Movement & Persistence)
取得一台機器的控制權只是開始。紅隊會利用這個據點,進一步滲透到更有價值的系統。
常見橫向移動手法
| 手法 | 說明 | 偵測難度 |
|---|---|---|
| Pass-the-Hash | 用 NT Hash 直接驗證,不需要明文密碼 | 中 |
| Pass-the-Ticket | 注入竊取的 Kerberos 票券 | 中 |
| SMB/PsExec | 透過 SMB 在遠端執行程式 | 高(很嘈雜) |
| WMI 遠端執行 | 用 WMI 在遠端執行指令 | 中 |
| DCOM 執行 | 透過 COM 元件遠端執行 | 低-中 |
持久化(Persistence):在重開機後繼續存活
紅隊會在目標系統建立持久化機制,確保就算系統重開機,植入程式依然能重新啟動。常見手法:
- Registry Run Keys:在登錄檔的自動執行項目加入惡意程式路徑
- 排程工作(Scheduled Tasks):建立定時執行的工作
- DLL 側載持久化:合法簽章程式 + 惡意 DLL,透過 Run Key 或排程工作自動啟動
- COM 物件劫持:替換合法 COM 物件的 DLL 路徑,觸發時機為合法軟體呼叫該 COM 物件
第六階段:情報蒐集(Collection)
確立立足點後,紅隊開始蒐集目標組織的敏感資訊。
常見目標
- 憑證:LSASS 記憶體中的明文密碼、NT Hash、Kerberos 票券
- DPAPI 保護的資料:瀏覽器儲存的密碼、Wi-Fi 金鑰、RDP 憑證
- 敏感檔案:設定檔中的連線字串、API 金鑰、私鑰
- 電子郵件:內部通訊、商業機密
- 瀏覽器 Cookie:可用於繞過 MFA,直接存取雲端服務
為什麼 LSASS 是重點目標?
LSASS(Local Security Authority Subsystem Service)是 Windows 管理認證的核心進程,記憶體中存放著已登入使用者的憑證。這也是為什麼 EDR 對任何存取 LSASS 的行為都高度警戒。
第七階段:資料外洩(Exfiltration)
最後,紅隊會將蒐集到的資料帶出目標環境,驗證資料竊取的可行性。
常見手法包括透過已建立的 C2 通道(HTTPS)傳輸,或利用 DNS 查詢編碼資料,或上傳至目標組織本身使用的雲端儲存(OneDrive、SharePoint),讓流量看起來像正常使用。
Active Directory:企業環境的核心戰場
大多數企業環境使用 Windows Active Directory(AD)進行身份驗證與授權管理。AD 也因此成為紅隊最重要的攻擊目標。
ADCS 攻擊(Active Directory 憑證服務)
ADCS 是企業內部的 PKI 憑證服務,設定不當時可能讓攻擊者:
- 以任意使用者身份申請憑證(ESC1)
- 將一般使用者憑證升級為網域管理員憑證
工具 Certipy 可自動化尋找並利用這類錯誤設定。
DCSync 攻擊
DCSync 允許具有足夠權限的帳號,模擬網域控制器向其他 DC 要求同步密碼資料。這等同於直接取得所有帳號的密碼雜湊值,而無需登入任何一台 DC。
社交工程:人是最難防禦的漏洞
技術防禦再完善,人依然是最薄弱的一環。現代紅隊的社交工程技術包括:
電話釣魚(Vishing)
- 使用 Asterisk 等工具偽造來電顯示號碼
- 結合 AI 語音克隆(如 ElevenLabs)模擬高層主管聲音
- 常見劇本:IT 支援電話、員工福利通知、身份驗證請求
ClickFix / Pastejacking
- 偽造 Cloudflare CAPTCHA 驗證頁面
- 當使用者點擊「我不是機器人」時,JavaScript 自動將惡意 PowerShell 指令複製到剪貼簿
- 再以「按 Win+R 並貼上以完成驗證」為由,誘導使用者自行執行惡意指令
雲端攻擊:新的戰場
隨著企業大量遷移至雲端,雲端環境也成為紅隊的重要目標。
Azure/Entra ID 常見攻擊面
- 密碼噴灑(Password Spraying):用一組常見密碼嘗試大量帳號,避免觸發單一帳號的鎖定政策
- Conditional Access Policy 繞過:尋找 CAP 設定中的例外或漏洞
- App Registration 持久化:在目標租戶建立應用程式,取得長期 API 存取權限,即使使用者改密碼也不受影響
- On-Prem 到雲端橫移:利用 SeamlessSSO 的 AZUREADSSOACC$ 帳號,偽造 Kerberos 票券換取 Azure 存取 Token
AI 在攻防兩端的應用
人工智慧正在改變資安攻防的面貌,這在紅隊演練中尤其明顯。
攻擊端的應用
- AI 輔助程式碼開發:使用 Claude、GPT 等 LLM 快速生成或除錯惡意程式框架
- AI 生成釣魚內容:多語言釣魚郵件、高度客製化的社交工程文案
- AI 驅動 C2:由 LLM 即時生成指令程式碼,每次執行的程式碼都不同,難以建立特徵值
- Deepfake 社交工程:即時語音克隆 + 臉部替換,用於視訊通話欺騙
防禦端的應用
- AI 輔助逆向工程:工具如 GhidraMCP 讓 AI 協助分析二進位程式
- 攻擊路徑分析:BloodHound-MCP 讓 AI 自動發現 AD 中的攻擊路徑
- LLM 紅隊測試框架:如 Microsoft 的 PyRIT、NVIDIA 的 Garak,用來測試 AI 系統本身的安全性
OPSEC:讓攻擊「隱形」的藝術
作業安全(Operational Security,OPSEC)決定了紅隊能否在不被發現的情況下完成任務。
各類行動的偵測風險
| 行動 | 風險等級 | 主要偵測來源 |
|---|---|---|
| 發送釣魚郵件 | 低 | 郵件閘道、使用者回報 |
| C2 Beacon 回呼 | 低-中 | 網路 IDS、TLS 指紋 |
| AMSI/ETW 修補 | 中 | EDR 記憶體完整性檢查 |
| 跨進程注入 | 高 | 核心回調、ETW、Sysmon |
| 存取 LSASS | 極高 | ObRegisterCallbacks、EDR |
| DCSync | 極高 | Event 4662、AD 複製監控 |
| 大量資料傳輸 | 高 | DLP、NetFlow 異常分析 |
常見 OPSEC 錯誤
新手紅隊操作者最常犯的錯誤:
- 使用預設 C2 設定:預設的 Cobalt Strike JARM 指紋已廣為人知
- 直接執行 Mimikatz:歷史上偵測率最高的工具之一
- 到處用 PsExec 橫向移動:每台主機都留下服務建立記錄
- 沒有睡眠混淆:Beacon 以 RWX 記憶體靜置,等著被掃描到
- 碰觸 LSASS 太多次:#1 EDR 警報觸發點
如何開始學習?
如果你對紅隊技術感興趣,以下是建議的學習路徑:
打好基礎
- 學習 Windows 與 Active Directory 的基本運作原理(這是一切的基礎)
- 理解 網路協定:TCP/IP、DNS、HTTP/HTTPS、SMB、Kerberos
- 熟悉 Linux 指令列操作
安全實驗室
- Hack The Box / TryHackMe:靶機平台,合法練習滲透技術
- GOAD(Game of Active Directory):本地 AD 攻防實驗室
- Ludus:自動化 AD 實驗室部署框架
必讀資源
- MITRE ATT&CK Framework:攻擊者戰術、技術、程序的知識庫
- LOLBAS Project:Windows 合法程式的濫用手法資料庫
- BloodHound / SharpHound 文件:理解 AD 攻擊路徑
取得認證
- CompTIA Security+:入門基礎認證
- eJPT(eLearnSecurity Junior Penetration Tester):實作導向的初階滲透測試認證
- OSCP(Offensive Security Certified Professional):業界認可的進階實作認證
小結:攻擊者思維的價值
理解攻擊者如何思考與行動,是建立有效防禦的關鍵。紅隊演練讓組織在真實威脅到來之前,就能識別並修補自身的弱點。
對資安從業人員來說,學習紅隊知識不是為了攻擊,而是為了:
- 設計出能有效偵測真實攻擊的防禦策略
- 理解告警背後的攻擊者意圖
- 優先修補最可能被利用的弱點
- 與紅隊進行有意義的紫隊(Purple Team)協作
記住:真正的安全,來自於對威脅的深刻理解。
