- Year
- 2026
- Role
- 研究/議程設計/現場分享
- Team
- 個人議程
- Share
- 100%
專案總覽
這場議程以「壓縮、偽裝、釋放」為敘事主軸,從壓縮檔的結構與行為出發,說明攻擊者如何利用封裝、路徑與解壓縮邏輯製造安全風險。
問題與動機
使用者常把壓縮檔視為普通附件,但不同格式、軟體版本與解壓規則可能讓檔案名稱、路徑或實際內容和畫面認知不一致。
檔名、圖示、封裝結構與實際釋放內容可能造成判斷落差。
軟體如何處理路徑與檔案,決定惡意內容是否能越過預期位置。
方法與核心內容
議程透過格式拆解、歷史漏洞、WinRAR 版本與實作案例,建立從檔案結構到攻擊行為的理解路徑。
整理壓縮格式、解壓行為與歷史 CVE 的關係。
用可觀察的檔案與工具操作說明偽裝和釋放機制。
技術脈絡
議程內容依序把壓縮容器、解析器、檔案系統與使用者操作連成一條風險路徑。
壓縮檔作為交付媒介
議程將風險分為路徑穿越、檔案欺騙與執行陷阱三類。壓縮檔通常不是最後的惡意能力,而是把檔案送進主機、繞過使用者判斷或影響落地位置的第一階段載體。
CVE-2025-6218:驗證與正規化順序
受影響的 WinRAR 版本在路徑檢查時,先判斷是否存在 traversal,再移除路徑中的空白。攻擊者可利用帶空白的 .. 片段先通過檢查,空白移除後卻形成真正的 \..\,讓檔案寫入預期目錄以外的位置,例如 Startup。
validate(" \.. \") → remove spaces → "\..\" → path traversal
ZIP Concatenation 與解析器差異
GootLoader 在 2026 年初的案例中串接多個 ZIP 結構。Windows File Explorer、7-Zip 與 WinRAR 對同一檔案可能選擇不同的中央目錄或內容,因此使用者看到的檔案和另一個工具實際解出的檔案不同。
延伸效果
- 可重複串接大量 ZIP;簡報測試即使增加到 300 個結構仍可被工具解壓。
- 改變串接數量即可改變整體雜湊,形成 hashbusting,降低固定 hash IoC 的效果。
- ZIP 檔名存在於多個位置;修改不同位置可讓 Explorer 與 WinRAR 顯示不同名稱。
執行流程
從觀眾熟悉的壓縮工具開始,再逐步進入檔案格式與漏洞利用。
01 — 建立共同經驗
從常見壓縮與解壓操作切入,說明看似正常的使用情境。
02 — 拆解格式與漏洞
解釋檔名、路徑與解析差異如何產生安全問題。
03 — 示範攻擊與防禦
以案例呈現利用條件,並整理更新與檔案處理建議。
研究方法:動態結果回推靜態結構
先用不同解壓工具觀察顯示、解壓與落地位置,再回到十六進位與逆向工具比較檔案結構。動態分析用來確認真正發生的行為,靜態分析則用來定位 parser 如何選擇欄位與路徑。
防禦與分析重點
使用者應更新壓縮工具並把來源不明壓縮檔視為程式交付;分析人員不能只依檔名、單一工具預覽或固定雜湊,而應比較不同解析器、檢查正規化後路徑、監控解壓落地與後續執行。
我的貢獻
貢獻比例 100%。這是個人獨立完成的技術議程,從主題研究、實驗驗證與敘事規劃,到簡報製作及現場發表皆由我負責。
- 01技術研究整理壓縮格式、WinRAR 與相關漏洞案例。
- 02議程設計以魔術敘事串聯壓縮、偽裝與釋放三個階段。
- 03實驗與範例準備可視化的格式與攻擊示範。
- 04現場分享完成簡報製作、講述與問答準備。
成果與反思
議程於 2026 SITCON 發表,將偏底層的檔案格式與漏洞研究轉譯成可跟隨的攻擊故事。
完整簡報
延伸閱讀
這篇文章整理了議程中 Zip Slip 與 WinRAR 路徑穿越研究的背景,可搭配簡報進一步閱讀漏洞成因、利用方式與防禦觀點。