DriverJack是一個工具,旨在透過濫用鮮為人知的 NTFS 技術來載入易受攻擊的驅動程式。這些方法透過劫持現有服務來繞過系統上驅動程式服務的註冊,並且還欺騙驅動程式載入事件中顯示的映像路徑。為了進一步偽裝存在易受攻擊的驅動程序,該攻擊還濫用模擬檔案系統只讀旁路,在載入 ISO 之前交換已安裝 ISO 上的驅動程式檔案的內容。
DriverJack 濫用將模擬檔案系統上安裝的檔案重新對應到 RW 頁面以覆蓋其內容的可能性。此 RO 繞過是在IoCdfsLib中實現的。
安裝 ISO 後,攻擊將透過選擇可啟動或停止的服務驅動程式或可觸發的服務驅動程式來進行,除非配置錯誤,否則需要管理權限。
ISO 安裝和驅動程式選擇
劫持驅動程式路徑
此技術利用安裝程式直接存取C:WindowsSystem32drivers
目錄的能力,從而允許在此處放置惡意符號連結。符號連結由作業系統優先處理,導致服務重新啟動時載入惡意驅動程式。
關鍵步驟:
NtLoadDriver
函數標準化符號連結的 NT 路徑。該方法是與 Secret Club 駭客集體的 jonasLyk 合作開發的,涉及重定向DeviceBootDevice
NT 符號鏈接,該連結是加載驅動程式二進位檔案的路徑的一部分。這允許在系統中隱藏 Rootkit。
步驟:
BootDevice
符號連結目標。BootDevice
符號連結以指向已安裝的 ISO。BootDevice
符號連結目標。此方法的靈感來自於 unDefender 專案中用於停用 Windows Defender 服務和驅動程式的技術。載入驅動程式事件仍將顯示正在載入的驅動程式的真實路徑,指向 ISO 掛載點。
儘管該技術廣為人知,但由於可能導致系統不穩定,因此很少使用。它涉及臨時更改分配給BootPartition
磁碟機號,欺騙驅動程式載入過程來存取不同的磁碟機。當與前面解釋的 NT Symlink Abuse 結合使用時,該技術可以完全偽裝正在載入的驅動程式的路徑,繞過 SysMon 和其他監控工具的偵測。
DriverJack演示了另一種非常規的方法來載入易受攻擊的驅動程序,該方法利用 CDFS 模擬檔案系統和鮮為人知的 NTFS 符號連結屬性。
該項目根據 MIT 許可證獲得許可 - 有關詳細信息,請參閱許可證文件。