[資安入門] 014 紅隊攻防入門:從攻擊技術建立防禦視角

本文基於 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:

  1. 攻擊者產生一組微軟/Google 的「裝置驗證碼」
  2. 誘騙受害者前往合法的驗證頁面輸入這組代碼
  3. 受害者完成 MFA 驗證後,攻擊者取得完整的 Access Token 與 Refresh Token
  4. 這些 Token 就算受害者改了密碼,通常依然有效

第三階段:執行(Execution)

取得初始立足點後,紅隊需要讓惡意程式在目標系統上執行。

LOLBins:用系統自帶工具攻擊

LOLBins(Living Off the Land Binaries)指的是利用 Windows 系統內建的合法程式執行惡意程式碼。常見例子:

  • mshta.exe:執行 HTA 腳本
  • rundll32.exe:載入並執行 DLL
  • msbuild.exe:編譯並執行內嵌的 C# 程式碼
  • certutil.exe:下載檔案(原本用於憑證管理)

為什麼這很危險? 因為這些都是 Windows 自帶的合法程式,防毒軟體很難將其標記為惡意。

DLL 側載(DLL Sideloading)

這是目前最常見的執行手法之一:

  1. 找到一個有數位簽章的合法執行檔(如 OneDrive、Teams 更新程式)
  2. 該執行檔在啟動時會從同一資料夾載入某個 DLL
  3. 把惡意 DLL 放到該路徑,替換原本的 DLL
  4. 合法程式啟動 → 載入惡意 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 錯誤

新手紅隊操作者最常犯的錯誤:

  1. 使用預設 C2 設定:預設的 Cobalt Strike JARM 指紋已廣為人知
  2. 直接執行 Mimikatz:歷史上偵測率最高的工具之一
  3. 到處用 PsExec 橫向移動:每台主機都留下服務建立記錄
  4. 沒有睡眠混淆:Beacon 以 RWX 記憶體靜置,等著被掃描到
  5. 碰觸 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)協作

記住:真正的安全,來自於對威脅的深刻理解。

飛飛
飛飛

講師學歷:臺科資工所、逢甲資工系畢業。
技術專長:OSINT、滲透測試、網站開發、專業易懂教育訓練。
證照書籍:OSCP、OSCE³、著《資安這條路:領航新手的 Web Security 指南》。
教學經驗:60+ 企業教學經驗、指導過上百位學員。
教學特色:新手友善、耐心指導、擅長圖解(流程圖、心智圖)引導學習。
社群經驗:目前經營全臺資安社群 CURA,曾任臺科資安社社長、逢甲黑客社社長。
社群交流:LINE 社群《飛飛的資安大圈圈》,即時分享經驗、鼓勵交流。
社群分享:FB 粉專《資安這條路,飛飛來領路》,分享文章與圖卡整理。
個人網站:feifei.tw 分享資安技術文章;pbtw.tw 分享 AI 相關應用;ssdlc.feifei.tw 分享軟體安全開發流程文章。

飛飛
電話:02-23120400
Email:[email protected]
地址:臺北市中山區復興北路48號7樓