發表文章

目前顯示的是 七月, 2019的文章

對 Windows 10 UAC 保護實作細節逆向工程 (Windows 10 Enterprise 17763)

圖片
- 前言 啊啊,真的蠻久沒更新的,部落格荒廢一陣子。🥴 身為一個碩一升碩二,畢業即失業的我最近開始想動手玩一些有趣的東西(不然畢業後投履歷沒東西寫可能真的要餓死街頭了怕爆 QQ)
年初看了這一篇挺有趣的文章由 David Wells 所發表的部落格文  UAC Bypass by Mocking Trusted Directories 裡面提及了在 Windows 10 Build 17134 版本中出現的 Path Normalization 在 WinNT 跟實際 DOS Path 絕對路徑產生的歧異所引發安全上的缺陷允許繞過 UAC 設計。


不過這一篇文章只講到了其中一個利用點、經過完整逆向後發現一些有趣的資訊有其他打法可以利用,身為只會刷水稿的我,運氣不錯今年刷刷水稿有丟上 HITCON (。・ω・。)ノ 喔拜託,如果有打算到現場的不要噓我 QQ 怕爆.jpg
而 整體 UAC(User Account Control)保護設計在網路上也未被多加著墨(至少當前沒有太多逆向工程細節 XD)所以興致來了寫了一篇廢文解釋一下整體逆向工程完畢後對 Windows 10 當前最新企業版設計做出一些解釋。

// 附註 整體 UAC(User Account Control)實作其實相當精細,其中包含了本地端 RPC 消息傳遞、微軟官方未公布的一堆MACRO標記與結構體、Windows特權令牌分發細節 等。礙於本人逆向功力不足、與網路上可爬到的未公布資料實在太少,底下許多提到的數字細節都是我根據當下程式碼結構上臆測的結果而無法考證微軟內部程式碼,若有錯誤麻煩再回覆告知。
此外,本文所描述的逆向分析結果都在於認證機制層面上、但許多程式碼跳轉部分其實 RPC 消息傳遞影響的成分相當重、但本文為了簡化整體架構方便釐清、那些特殊影響邏輯跳轉的 RPC 消息邏輯暫且不提。
- Environment 截至今日  2019/07/27 目前分析環境為 Windows 10, 17763 企業版,更新補丁上到最新版本。 - SVCHOST UAC 保護設計在 Windows 中是以系統服務形式被安裝在作業系統之上,在這邊可以看到 UAC 服務名稱對應是 AppInfo,這也代表著系統開機後會有一個 Process 施作 UAC 細節。
在 WinInit 服務叫起的 Services…