當前位置:
首頁 > 最新 > 如何使用Tokenvator和Windows Tokens實現提權

如何使用Tokenvator和Windows Tokens實現提權

今天給大家介紹的是一款名叫Tokenvator的工具,該工具採用.NET開發,可用於在Windows系統中提權。

工具下載

下載地址:https://github.com/0xbadjuju/Tokenvator

基本使用

Tokenvator可以直接在互動式終端中運行,具體的執行命令能夠以命令行參數的形式提供。在交互模式下,可以用tab鍵補全命令,或雙擊tab鍵獲取幫助信息。

下面大部分截圖顯示的是在交互模式下的命令運行情況:

Steal_Token

從最基本的功能來說,Tokenvator可以用來訪問並修改Windows認證令牌,為了獲取到特定進程的令牌,我們需要結合目標進程的PID來運行Steal_Token命令。

或者我們也可以添加額外的命令選項來使用新的訪問令牌。

GetSystem

一般來說,我們經常需要竊取的就是NT AUTHORITYSYSTEM賬號,而GetSystem命令可以幫助我們自動搜索並訪問SYSTEM令牌。它的使用語句跟Steal_Token的類似:

在某些情況下,如果沒有提升到SYSTEM許可權的話,我們可能無法直接訪問到特定進程的令牌,比如說NT SERVICE賬號(本地SQL服務進程)。

GetTrustedInstaller

還有一種常見情況,就是SYSTEM32目錄或部分註冊表內容屬於TRUSTEDINSTALLER組,為了修改這些位置的數據,我們要麼拿到數據的擁有權,要麼拿到TRUSTEDINSTALLER組成員的訪問令牌。跟GetSystem類似,GetTrustedInstaller也是一個Steal_Token的封裝其,它可以開啟TrustedInstaller服務並獲取到相應的令牌。

List_Privileges和Set_Privilege

有的時候,我們的進程不一定擁有所要完成任務必備的許可權。比如說,為了訪問一個當前用戶無法訪問的進程,我們就需要SeDebugPrivilege 的幫助了。下面顯示的是在一個高度完整的進程中對令牌的切分(UAC Elevated – TokenElevationTypeFull)。

接下來,我們嘗試以管理員身份來運行notepad.exe,並查看其訪問令牌:

測試完notepad.exe的令牌之後,我們可以嘗試增加SeLoadDriverPrivilege來看看會發生什麼。注意:許可權名稱是大小寫敏感的。

很明顯,notepad.exe可以載入一個驅動器了,而且能做的還有更多,我們之後還會增加許可權移除的功能,敬請期待。

UAC繞過

實現UAC繞過的方法有很多種,但最有趣的一種就是修改令牌了。FuzzySecurity在利用Windows令牌實現UAC繞過方面做過很多研究,感興趣的同學可以查看其GitHub代碼庫【傳送門】,Tokenvator也包含了FuzzySecurity所實現的技術。在下面的測試中,我們位提權的令牌可以用來訪問當前用戶擁有的特權進程,並生成特權Shell。

這種方法以後很可能也不會被修復,因為這更像是一種功能。

查找用戶進程

首先,我們需要查看系統註冊的會話信息:

下面是List_Processes命令所實現的東西,即獲取用戶進程的概覽:

List_Processes利用的是主機的原生API,在列舉進程和用戶方面速度非常快。由於在某些情況下如果沒有實現提權的話,某些功能還是無法正常運行的,因此List_Processes_WMI便應運而生。很明顯,它的功能是通過WMI實現的,所以它的速度肯定沒有List_Processes快,但是它可以在非提權場景下正常運行。

我們還可以直接列舉出特定用戶場景下所有運行的進程信息:

跟List_Processes機制類似,它也能夠在非特權場景下通過WMI完成相同的工作:

總結

這款工具是我跟NetSPI團隊共同開發的,希望能給大家提供幫助,如果大家在使用過程中發現了問題的話,可以在GitHub上留言。

* 參考來源:netspi,FB小編Alpha_h4ck編譯,轉載請註明來自FreeBuf.COM


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

你來偷,他來搶,幣圈是否真的無寧日?

TAG:FreeBuf |