《Insecure Boot》不安全開機技術 快速閱讀精華
核心概念: 利用 TPM UEFI 規格版本設定漏洞(切換至 TCG 1.2 模式),讓 PCR 銀行保持空置狀態,再重放真實開機鏈記錄關鍵效果: Secure Boot 保持真正開啟,BitLocker 正常運作,TPM 認證通過,Vanguard、EAC、FACEIT、ACE 等反作弊系統皆視為合法開機技術門檻: 需修改 UEFI/BIOS 設定(部分主機板需重新燒錄 BIOS 解鎖隱藏選項),並進行一次性 MOK(Machine Owner Key)金鑰註冊
本文章目錄
Insecure Boot 技術原理與風險說明
這項技術的核心在於利用大多數 UEFI 主機板都具備的一項設定選項:TPM UEFI 規格版本切換 。當你將設定從預設的 TCG 2.0 改為 TCG 1.2 時,主機板韌體會停止執行 TPM 2.0 的測量開機(Measured Boot),但 TPM 2.0 晶片本身仍然透過 Command Response Buffer 介面正常運作,且 SHA-256 PCR 銀行會保持在零值重設狀態。
這就是整個攻擊的關鍵:PCR 銀行是空的 。任何在作業系統啟動前執行的程式碼,都可以將預先記錄的真實開機鏈(在 Step 1 中記錄的 tcglog.ib)「重放」進這些空的 PCR 銀行,並發布一個與之匹配的事件日誌。這不是偽造日誌——這是一個真實的日誌,只是被重放到一個從未被給予其他資料的 TPM 中。
👉 GM後台版 遊戲 推薦 ⬇️⬇️⬇️ 快速玩各種二次元動漫手遊app
為什麼需要 Shim 和 MOK?
載入器本身是不帶簽章的程式碼,但必須在 Secure Boot 真正開啟的狀態下執行。我們不會關閉 Secure Boot,也不會用 Hook 來偽造 SecureBoot 變數——因為 Hook 正是反作弊系統會尋找的跡象。因此,載入器需要是 Secure Boot 本身願意執行的東西。
這就是 Red Hat Shim 的用途。它經過 Microsoft 簽章,因此韌體會直接從 db 載入它,而它的全部目的就是將 Secure Boot 的信任鏈延伸到機器擁有者控制的密鑰:Machine Owner Key(MOK)。我們用你自己的 MOK 簽署載入器,然後 Shim 將其作為經過正確驗證的第二階段執行。Secure Boot 永遠不會關閉,也永遠不會被欺騙。
重要提醒: 這項操作涉及修改 UEFI/BIOS 底層設定,部分主機板需要重新燒錄 BIOS 韌體以解鎖隱藏選項。操作不當可能導致系統無法開機或觸發 BitLocker 回復模式。強烈建議在操作前備份重要資料,並確保你有能力回復原始 BIOS 設定。
前置準備與系統需求
在開始操作前,請確認你的系統符合以下條件:
作業系統:Windows 10/11(已啟用 Secure Boot 與 TPM 2.0) 主機板:支援 TPM UEFI Spec Version 切換選項(部分廠商可能隱藏此選項) 權限:需要管理員權限執行命令提示字元 備份:建議暫時關閉 BitLocker 或備份回復金鑰(雖然理論上 BitLocker 不會觸發,但以防萬一) 工具:下載 insecure-boot 工具包(內含 ib-tcg-dump.exe、ib-install.exe 等必要檔案)
Step 1:記錄真實開機鏈
這一步必須在變更任何 BIOS 設定前完成,因為我們需要記錄 TCG 2.0 模式下的真實開機測量值。
將 insecure-boot.zip 解壓縮到任意資料夾(例如 C:\insecure-boot)。 以管理員身分開啟命令提示字元(cmd.exe),並切換到解壓縮後的資料夾。 執行指令:ib-tcg-dump.exe 執行後,會在同一資料夾產生名為 tcglog.ib 的檔案。這就是你這臺機器的真實開機事件日誌,後續步驟會用它來「重放」到空的 PCR 銀行中。
如果執行後沒有產生 tcglog.ib 檔案,通常是因為 Secure Boot 未啟用,或是 Windows 無法存取 TPM。請先確認這兩項設定正確,因為整個流程都依賴這個真實的開機鏈記錄。
Step 2:設定 TPM UEFI 規格版本
這是整個流程的關鍵步驟。我們需要將 TPM UEFI Spec Version 從預設的 TCG 2.0 改為 TCG 1.2,這會讓韌體停止執行 TPM 2.0 的測量開機,但 TPM 2.0 晶片本身仍然正常運作。
根據主機板廠商不同,有三種執行方式:
方式 A:BIOS 設定中直接可見(推薦)
部分主機板(如 MSI)在 BIOS 設定中直接提供此選項:
進入 BIOS 設定(開機時按 Del 或 F2)。 搜尋 "UEFI Spec Version" 或 "TPM 2.0 UEFI Spec Version" 。 將設定從 TCG2 改為 TCG1_2 。 儲存並離開(F10)。
方式 B:透過 Windows 直接設定變數(部分主機板適用)
如果 BIOS 中找不到該選項,但主機板支援 Runtime Variables 設定:
進入 BIOS,搜尋 "Password Protection of Runtime Variables" 並將其關閉。 儲存並開機進入 Windows。 下載並執行專用變數設定工具(ib-uefi-var.exe ,內含於工具包),將 TPM UEFI Spec Version 變數設為 TCG1_2。
方式 C:使用 UEFI-Editor 解鎖隱藏選項(適用於 ASUS 等廠商)
部分廠商(如 ASUS)雖然支援此設定,但將選項隱藏。這需要重新燒錄 BIOS 韌體來解鎖(注意:這不會觸發 AMD PSB 或 Intel Boot Guard,因為只修改設定選項顯示,不修改韌體程式碼)。
從主機板廠商官網下載最新 BIOS 映像檔。 參考 UEFI-Editor GitHub 說明,提取四個必要檔案。 前往 UEFI-Editor 線上工具 ,上傳四個檔案。 點選左下角 Search 按鈕,搜尋 "UEFI Spec Version" 。 點選出現的表單名稱(底線標示)。 在左欄找到 "TPM 2.0 UEFI Spec Version" 這一行,取消勾選 "Suppress If" 欄位的核取方塊:
點選 "download UEFI files" ,並按照 UEFI-Editor 指南重新編譯 BIOS 映像檔。 使用 UEFI 內建的 Flash 工具,或 BIOS Flashback(ASUS 通常用這個)燒錄新 BIOS。 燒錄完成後,回到 方式 A 的步驟,在 BIOS 中設定 TCG1_2。
Step 3:安裝 Insecure Boot 與 MOK 金鑰註冊
完成前兩步後,現在我們要安裝 insecure-boot 載入器。安裝程式會執行以下操作:
生成你的 MOK 金鑰對(儲存為 mok.key 和 mok.der,後續執行會重複使用) 使用 MOK 簽署載入器 備份真正的 bootmgfw.efi 將 Shim 啟動鏈放入其位置 將開機記錄檔(tcglog.ib)和你的 payload 部署到 EFI 分割區 如果任何步驟失敗,自動回滾所有變更,確保失敗的安裝不會導致系統無法開機
安裝步驟
將你想要載入的 UEFI 應用程式(.efi 檔案)放入 insecure-boot 資料夾。 以管理員身分開啟命令提示字元,切換到該資料夾。 執行指令:ib-install.exe your_file.efi (將 your_file.efi 替換為你的實際檔案名稱)。 執行完成後,重新開機。
一次性 MOK 金鑰註冊流程
重新開機後,你會看到 Shim 的 MOK 管理介面,這是為了讓你將自己的金鑰註冊到系統中(這只會發生一次,之後使用相同金鑰簽署的載入器都會自動通過):
你會先看見這個畫面,請在 10 秒內按 Enter:
接著,使用方向鍵導航到 "Enroll MOK" 並按 Enter:
然後選擇 "Continue" :
系統會詢問是否要註冊金鑰,選擇 "Yes" :
接著輸入密碼,預設是 1234 ,輸入後按 Enter:
最後選擇 "Reboot" 。
機器重新啟動後,Shim 會執行載入器,載入器會將你記錄的真實開機鏈重放到空的 PCR 銀行中,安裝提供真實事件日誌的 TCG2 協定,執行你的 UEFI 應用程式,還原真正的 Windows 開機管理員,清除所有暫存檔案,然後啟動 Windows。這樣就完成了——你進入了 Windows,你的應用程式已載入,且認證記錄完美無瑕。
實務注意事項:
金鑰註冊只會發生一次。你的金鑰現在已經在機器的 MOK 列表中,所以如果你之後再次執行 ib-install.exe 載入不同的 payload,不會再出現提示,會直接暫存並開機。 這是單次執行設計。執行一次後,bootmgfw.efi 會恢復為原始檔案,EFI 分割區也會清理乾淨。如果開機出問題,原始開機管理員的備份會以 ib-bootmgfw.efi 的名稱存放在 ESP 根目錄。
常見問題Q&A
Q:什麼是 MOK(Machine Owner Key)?為什麼我需要註冊它?
A:MOK 是機器擁有者金鑰,屬於你個人的安全金鑰對。由於 insecure-boot 的載入器本身是不帶簽章的程式碼,但必須在 Secure Boot 真正開啟的狀態下執行,我們不能關閉 Secure Boot 或使用 Hook 偽造(因為反作弊會偵測 Hook)。因此我們使用 Microsoft 簽署的 Red Hat Shim,它會將信任鏈延伸到你的 MOK。你用 MOK 簽署載入器,Shim 就會將其視為合法的第二階段執行,Secure Boot 永遠不會被關閉或欺騙。
Q:這樣做會不會觸發 BitLocker 回復模式?
A:不會。這正是此技術的精妙之處。由於我們重放的是真實的開機鏈記錄,PCR7 最終會包含與正常開機完全相同的值,因此 BitLocker 的金鑰密封(key sealing)不會被觸發,一切正常運作。
Q:反作弊系統(如 Vanguard、EAC)會不會偵測到這個?
A:根據測試,包括 Vanguard、EAC、FACEIT 和 ACE 在內的所有主流反作弊系統都會將此開機視為完全合法。因為 Secure Boot 確實是開啟的,PCR 銀行的值看起來與真實開機完全一樣,事件日誌也是真實的(只是被重放了),沒有任何 Hook 或變數偽造,因此沒有明顯的偵測特徵。
Q:如果我的 BIOS 沒有「TPM 2.0 UEFI Spec Version」選項怎麼辦?
A:部分廠商(如 ASUS)會隱藏此選項。你可以嘗試以下方法:
1. 檢查是否有「Password Protection of Runtime Variables」選項,關閉它後使用 Windows 下的變數設定工具直接修改。
2. 使用 UEFI-Editor 工具解鎖隱藏選項,這需要下載你的 BIOS 映像檔,修改後重新燒錄。這不會觸發 Intel Boot Guard 或 AMD PSB,因為你只修改了選項顯示,沒有修改韌體程式碼。
Q:這個工具可以載入什麼樣的 UEFI 應用程式?
A:任何 .efi 格式的 UEFI 應用程式,例如自定義的開機管理員、硬體診斷工具、或是其他需要在 Windows 啟動前執行的程式。需要注意的是,雖然此方法可以繞過反作弊的開機檢測,但你載入的應用程式本身如果具有作弊功能,仍可能被遊戲內的反作弊掃描偵測到。
所有站內附件皆會附上安全掃描報告 請會員查看純淨度百分比後判斷使用 相關檔案須知: 取得檔案前,請先詳細閱讀文章內容 避免不必要錯誤與誤會發生。 也可多參考文章討論樓層內容 了解附件檔案相關討論資訊。