KeyFrame內部研究專用

Black Hat USA 2003 - Covering Your Tracks

YouTube Creator·10月8日週二·59 min英文

三句話摘要

駭客 Simple Nomad 介紹兩個開源工具與反取證策略,展示如何透過隱蔽網路通訊和安全檔案刪除,保護敏感資訊免於政府或不信任方的監視與恢復。 Simple Nomad 的工具與理論為自由通訊與資訊自主提供了務實的技術基礎,但防禦層級應與威脅程度相匹配——完美防禦不存在,只有相對的安全性考量。 Encovert 的隱蔽通訊原理:工具利用 TCP 握手時的初始序列號(ISN)欄位隱藏數據,透過偽造 IP 位址發送封包至公開伺服器,該伺服器的 SYN-ACK 回應會自動路由至偽造的源地址(目標機器)。接收端無需開放監聽連接埠,只需進入嗅探模式捕捉包含隱蔽資訊的封包。此設計實質上是將通訊隱藏在看似失敗的 TCP 握手中,完全匿名且能繞過大多數防火牆規則。

重點整理

重點
  • 1

    Encovert 的隱蔽通訊原理:工具利用 TCP 握手時的初始序列號(ISN)欄位隱藏數據,透過偽造 IP 位址發送封包至公開伺服器,該伺服器的 SYN-ACK 回應會自動路由至偽造的源地址(目標機器)。接收端無需開放監聽連接埠,只需進入嗅探模式捕捉包含隱蔽資訊的封包。此設計實質上是將通訊隱藏在看似失敗的 TCP 握手中,完全匿名且能繞過大多數防火牆規則。

  • 2

    檔案刪除的雙重標準:加密後必須安全刪除原始明文檔案,否則取證人員可輕易恢復。古特曼法則針對 1996 年磁碟設計,涉及 35 遍複雜操作,講者認為 2-3 遍已足;NSA DOD 5220.22-M 標準則為三遍操作(一遍字元、一遍補數、一遍隨機驗證),是政府批准的分類資料刪除標準。選擇取決於威脅程度評估:無法確知未來政府的恢復能力,故應用最佳可用技術。

  • 3

    密鑰與記憶體的謹慎管理:密碼輸入後立即轉換為 SHA-1 雜湊並清除明文,採用自訂 memset 函式防止編譯器最佳化跳過記憶體清除。若以 root 執行,記憶體進一步鎖定(mlock)防止交換分區洩漏。這些措施雖非完美,但反映駭客社群對側通道攻擊的認識。

  • 4

    流量掩蓋策略與實踐限制:Encovert 可偽裝為連接埠掃描、郵件伺服器錯誤或 HTTP 流量,使入侵偵測系統誤判。然實踐中遭遇多重障礙:有狀態防火牆丟棄 SYN-ACK、出站封包檢查阻止偽造 IP、日誌檔案系統自動保存資料備份。講者誠實承認絕對防禦不存在,防禦層級應與威脅程度相匹配。

實用技巧與重點

乾貨
  • Encovert 工具規格
  • 版本:1.0(會議 CD)、1.1(最新)
  • 核心技術:TCP ISN(初始序列號)欄位資料編碼
  • 工作模式:客戶端(編碼+發送)→ 公開伺服器(反彈)→ 接收端(嗅探模式)
  • 優勢:完全匿名發送、偽匿名接收(僅需 Class C 範圍)、繞過防火牆
  • 劣勢:速度如 UDP、明文傳輸、異常流量特徵明顯
  • 連接埠策略:利用連接埠 80 出站權限通道,於其他連接埠回應
  • Encrypt 工具規格
  • 版本:0.6.4(會議 CD)
  • 加密演算法:Rijndael/AES(預設)、Serpent、Twofish(均 256 位元;Twofish 預設 128 位元)
  • 密鑰衍生:SHA-1 雜湊密碼
  • 隨機數生成:Isaac 演算法
  • 刪除方式:
  • 古特曼法則:4 遍隨機 + 27 遍位元模式 + 4 遍隨機 = 35 遍(1996 年標準,現代磁碟用 2-3 遍足夠)
  • NSA DOD 5220.22-M-8-306:1 遍字元 + 1 遍補數 + 1 遍隨機驗證 = 3 遍(分類資料標準)
  • 檔案快取清除:Unix 版本支援 file slack 刪除
  • 記憶體保護:自訂 memset、立即清除明文密碼與雜湊、Root 用戶 mlock 鎖定
  • 命令行參數
  • -G/-M 模式:指定加密演算法(Rindahl/AES、Serpent、TwoFish)
  • -Z 選項:加密時刪除原始檔案
  • 不支援萬用字元(降低代碼複雜度)
  • 目標用戶與應用場景
  • ISP 殼層帳戶用戶:防止管理員監視個人檔案
  • 人權工作者:防禦獨裁政權逮捕與搜查
  • 滲透測試人員:加密滲透中竊取的數據
  • 隱私倡導者:終身隱私信仰者
  • 黑帽駭客:隱藏非法所得(講者坦誠但不贊同)
  • 實踐限制與風險
  • 有狀態防火牆:自動丟棄無序 SYN-ACK(需預先墊充狀態表)
  • 出站封包檢查(Egress Filtering):禁止偽造 IP 出站
  • 日誌檔案系統與 RAID:自動備份資料,使刪除工作無效
  • 非 Root 用戶:無法防止交換分區洩漏;其他 Root 用戶可繞過 mlock
  • 協議異常:重複發送 SYN 到單一伺服器特徵明顯

結論

結論

Simple Nomad 的工具與理論為自由通訊與資訊自主提供了務實的技術基礎,但防禦層級應與威脅程度相匹配——完美防禦不存在,只有相對的安全性考量。

完整解析

詳細

Simple Nomad 在此演講中介紹了兩個設計用來防禦監視與取證的工具——Encovert 與 Encrypt——反映 1990 年代末駭客社群對隱私與自由通訊的深度思考。講者明確設定主題不是教導犯罪,而是提供防禦能力。他坦言用戶可能包括「黑帽駭客」,但強調這是一個普遍的技術議題:在威權監視加劇的時代,任何人都可能面臨不合理的監視威脅。

Encovert 的創新在於對 TCP 協議本身的巧妙利用。在標準 TCP 握手中,初始序列號(ISN)是一個看似隨機的 32 位元值。Simple Nomad 的洞察是:將敏感資訊編碼入這個 ISN 欄位,然後利用 IP 偽造技術將包含隱蔽資訊的 SYN 封包發送到一個公開伺服器(如 Yahoo 或 Google)。其工作原理是這樣的:客戶端偽造源 IP 為目標機器的地址,將包含編碼資訊的 ISN 發送到伺服器。伺服器接收 SYN 並生成 SYN-ACK 回應,但由於源 IP 已被偽造,該回應會自動路由到實際的目標機器。目標機器接收到這個 SYN-ACK 後,操作系統會自動發送 RST(重置)封包關閉「連線」,但在此之前,接收端已從 ISN 中提取了隱蔽資訊。最妙的是接收端無需開放任何監聽連接埠——只需進入被動嗅探模式監聽網路流量。這使得 Encovert 具有多項優勢:通訊完全匿名(伺服器記錄的源 IP 是偽造的),接收端通常也難以追蹤(若在共享網路如有線電視社區中嗅探,也可實現偽匿名接收),且能繞過大多數防火牆——因為攻擊者可控制 IP 與連接埠,往往能利用允許出站的連接埠(如 80)進行通訊。

然而,第一代實現存在明顯缺陷。流量看起來異常——重複發送 SYN 到同一伺服器,這會引起警惕。速度等同 UDP(不可靠且緩慢),因為 ISN 欄位容量有限。資訊以明文傳輸。Simple Nomad 提出了多種改進思路。一是分散目標伺服器:不是反覆攻擊同一伺服器,而是使用多個不同伺服器,並在每個 SYN 封包中加入加密簽名或多重觸發條件(如組合 IP ID、標誌位、校驗和),使接收端能識別並重組來自不同伺服器的碎片化資訊。二是流量掩蓋(Traffic Pattern Masking):將隱蔽通訊偽裝成合法流量。例如,連接埠掃描看起來很常見,入侵偵測系統會記錄但多數組織會忽略(因為假正例太多);如果能將隱蔽通訊隱藏在連接埠掃描流量中,檢測系統將其誤認為掃描活動,從而忽視真實通訊。另一例是偽裝為郵件伺服器錯誤——模擬 SMTP 握手過程中的異常(如發送端故障),導致不完整的連線記錄,在許多伺服器日誌中不會被記錄。

Encrypt 工具則聚焦於一個被廣泛忽視的安全漏洞:加密後的原始明文檔案。大多數用戶加密檔案後仍保留明文副本,甚至不自知。即使執行刪除操作,作業系統也只是移除檔案系統指標,實際數據仍留在磁碟上,可被任何檔案恢復工具重新建構。Simple Nomad 的解決方案是整合安全刪除功能。他采用了兩套刪除標準。第一是古特曼法則,出自 Peter Gutman 1996 年的學術論文《安全刪除磁性和固態記憶體中的數據》,原意是抵禦政府級恢復能力。其方法極其複雜:四遍隨機數據,接著 27 遍特定的位元模式寫入(以多層覆蓋磁性痕跡),再四遍隨機,共 35 遍。Gutman 本人後來指出這對 1996 年磁碟可能必要(因為磁碟可以在位元層恢復),但對現代磁碟技術可能過度,兩三遍已足。Simple Nomad 的立場務實:我們無法確知未來政府的恢復能力——政府的計算資源與技術遠超常人想像——因此應盡用最佳技術。但他也承認現實障礙:35 遍刪除極其耗時(會中演示即使幾百位元組也需明顯延遲),大多人因此放棄使用。第二套標準是 NSA 的 DOD 5220.22-M-8-306(國家工業安全計畫運作手冊),這是美國政府批准的分類資料刪除標準。其方法簡潔:一遍覆蓋字元、一遍覆蓋字元補數(位元翻轉),最後一遍隨機數據驗證,共三遍。Simple Nomad 指出有行銷宣傳聲稱「政府標準七遍刪除」,但這完全是虛構——他查遍所有文獻都找不到七遍標準出處,就連 FBI 官員也只能指回這份三遍標準。這反映了一個深層真相:即使政府官方標準也受限於實用性考量。Enrypt 還處理了檔案快取(file slack)問題——磁碟以固定大小的塊為單位儲存,若檔案大小不是塊的整數倍,最後一個塊的剩餘空間仍可能含有舊檔案的洩露資訊。

密鑰與記憶體管理展現了駭客社群對側通道攻擊的深入理解。當用戶輸入密碼時,Simple Nomad 的設計立即將其轉換為 SHA-1 雜湊,同時從記憶體清除明文密碼。他發現標準 C 的 memset 函式在編譯器最佳化下有時會被跳過(編譯器認為變數不會再被使用),因此自訂了記憶體清除例程。一旦生成加密金鑰,SHA-1 雜湊也被立即清除。若以 root 權限執行,程式進一步使用 mlock 系統呼叫鎖定記憶體,防止任何部分被作業系統交換至磁碟。雖然這些措施不完美(非 root 用戶無此保護;擁有 root 權限的攻擊者仍可讀取核心記憶體),但展現了對威脅模型的深度思考。

實踐中的困難同樣重要。有狀態防火牆會追蹤連線狀態,無序到達的 SYN-ACK 會被丟棄,除非接收端事先與伺服器建立偽連線「墊充」狀態表。出站封包檢查(egress filtering)會阻止偽造 IP 的封包離開本地網路。日誌檔案系統(如 ext3、NTFS)與 RAID 陣列會自動維護資料備份與日誌,使所有刪除工作無效——一個檔案即使被安全刪除,其副本仍可能存在於日誌或 RAID 恢復數據中。Simple Nomad 誠實地指出他無法在日誌檔案系統上完整測試刪除效果,因為他沒有電子顯微鏡觀察磁碟表面位元——這幽默地闡明了一個根本真理:完全的取證防禦是幻想,防禦能力取決於攻擊者願意投入的資源與技術。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web2 安全」的內容

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car
7 min
Web2 安全英文PODCAST8月25日

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car

SANS Stormcast

  • PNG 容器攻擊的簡易性設計:Double Cup 不依賴複雜的 Exif 或隱寫技術,只用 PNG 副檔名和檔頭來偽裝,核心是利用 findstr 指令的常見可用性讓執行變得無需額外工具。
  • Web Audio API 的隱密指紋識別:音訊於增益零的無聲狀態下播放,使用者完全無感,但錄製波形足以建立裝置特徵,在瀏覽器原生功能層面難以區分是反詐欺還是過度追蹤。
  • 域名過期引發的串聯漏洞:DMARC 報告端點使用過期域名是常見疏漏,允許攻擊者透過簡單的域名註冊取得他人的 SPF/DKIM 錯誤報告,進而收集目標系統配置情報。
Risky Bulletin: Expired credit cards can be used for malicious transactions
5 min
Web2 安全英文PODCAST8月24日

Risky Bulletin: Expired credit cards can be used for malicious transactions

Risky Business

  • 支付安全的非對稱風險:Visa卡利用未加密的卡片資料與NFC通訊,攻擊者可藉由中間人技術竄改過期日期進行交易,但MasterCard、美運卡與Discover的防護更完善,顯示不同發卡機構的安全架構存在明顯差異。
  • 國家級駭客活動的連鎖延伸:北韓Lazarus集團在2月單一事件已累積100名受害者,涵蓋大學、警察部門、媒體與醫療機構,伊朗駭客則針對基礎建設如電力系統發動破壞性攻擊,反映地緣政治在網路戰爭中的升溫。
  • AI加速漏洞生態的雙面刃:AI工具催生近2萬份漏洞概念驗證代碼發布,但同時也導致大量失效漏洞代碼氾濫,增加資安團隊甄別真實威脅的難度;Mayer Protocol遭攻擊事件中,駭客用AI鏈接六個無關的小漏洞完成盜竊170萬美元的攻擊。
SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware
5 min
Web2 安全英文PODCAST8月24日

SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware

SANS Stormcast

  • Microsoft EntraID 的遠端代碼執行漏洞已由微軟修補,初期報告顯示已遭利用但後來更正為未遭利用。這反映 Microsoft 在雲端軟體安全上的透明度提升,對漏洞採用與內部軟體相同的 CVE 編號和公告流程。
  • PowerShell 指令碼可用於驗證 MFA 部署完整性,特別是找出未啟用 MFA 的遺漏帳號。同時可以分析 EntraID 登入日誌中的異常行為,如風險係數評估和地理位置檢測,幫助組織快速識別可疑登入。
  • GitLab 的 GraphQL 代碼注入漏洞允許未認證攻擊者刪除或修改儲存庫,潛在導致供應鏈攻擊。已有公開概念驗證 (PoC) 存在,使用內部部署 GitLab 的組織必須立即修補。