2025 HITCON CTF Final|學生交流賽出題
Driver Killer
以 Windows Kernel Driver、CVE 與 TOCTOU 為核心設計的 HITCON CTF Final 交流題。
- Year
- 2025
- Role
- 出題組長/Driver 開發/環境整合
- Team
- 3 人團隊
- Share
- 50%
專案總覽
2025 HITCON CTF Final 以學生交流為核心,由決賽隊伍互相設計題目。我擔任較入門難度題目的出題組長,負責 Driver Killer 的整體框架與核心驅動程式。
題目希望把近期研究內容轉化成可實際動手的 Windows Kernel 安全挑戰。
問題與動機
Windows Driver 題目容易因環境、除錯門檻與核心概念過重而失去引導性。設計時需要兼顧可解性、漏洞脈絡與環境穩定度。
核心層除錯門檻
參賽者需要理解 Driver 行為,又不能被部署與環境問題阻塞。
題目難度控制
同時涵蓋提權、CVE 與 TOCTOU,但仍維持交流題的循序提示。
方法與核心內容
題目以兩個具有漏洞的 Windows Driver 為核心,搭配使用者層程式、提權路徑與完整挑戰環境,讓參賽者從觀察介面一路定位漏洞。
漏洞 Driver
實作兩個具可分析弱點的驅動程式,支撐主要解題路徑。
題目框架
設計啟動、互動、權限與驗證流程,確保題目可重現。
技術脈絡
題目將使用者層入口、核心 Driver、競態條件與提權成果串成完整攻擊路徑。
ENTRY使用者層程式
IOCTLDriver 介面
RACETOCTOU 漏洞
PRIV提權目標
執行流程
參賽者需要先逆向 Driver 介面,再找出競態與可利用條件。
01 — 盤點 Driver 行為
分析 IOCTL、輸入資料與核心物件的處理方式。
02 — 定位漏洞條件
從程式狀態與時間差找出 TOCTOU 可利用點。
03 — 完成利用鏈
結合題目提供的環境與提權路徑取得最終成果。
我的貢獻
貢獻比例 50%,擔任出題組長,負責創意整合、Driver 開發與環境整合。
- 01出題組長統整隊員研究方向,決定題目故事、難度與解題節奏。
- 02Driver 開發負責兩個漏洞 Driver 的核心實作。
- 03題目框架設計使用者層互動與整體挑戰結構。
- 04環境整合整合部署、測試與決賽現場需要的執行環境。
成果與反思
題目完成並於 HITCON CTF Final 交流賽提供其他隊伍挑戰,也讓我第一次完整走過 Windows Driver 的開發、逆向與漏洞題目設計流程。
從『會分析 Driver』到『能設計出可被別人理解與利用的 Driver』是很不同的挑戰,也讓我對核心層邏輯與題目引導有更深的理解。
08 / Presentation