成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何恢復網絡令牌,你學會了嗎?

安全 應用安全
在這篇文章中,我將介紹我在逆轉Office的身份驗證機制時發現的兩個問題,并提供一些不需要刪除內存的POC工具來幫助恢復存儲的令牌。

在這篇文章中,我將介紹我在逆轉Office的身份驗證機制時發現的兩個問題,并提供一些不需要刪除內存的POC工具來幫助恢復存儲的令牌。

微軟賬戶服務

我必須承認,當我第一次開始研究這個問題時,刪除我正在運行的Word進程的內存并沒有發現文檔簽名eyJ0eX。這是當前工具用來識別活動令牌的主要方法,我在Windows登錄時使用Microsoft 365帳戶。

事實證明,Microsoft Account (MSA)的身份驗證令牌處理方式與通常的Azure AD SSO帳戶不同。

讓我們從查看經過MSA驗證的Office會話開始,啟動Microsoft Office并查看加載的DLL。其中最突出的是MicrosoftAccountWAMExtension.dll。將這個DLL加載到Ghidra中,我們可以開始尋找為MSA帳戶生成身份驗證令牌的原因。

如果我們在這個DLL中尋找RPC調用,就可以看到一堆被定向到名為wlidsvc的服務:

如何恢復網絡令牌

不幸的是,微軟并沒有為RPC調用此服務提供IDL(或者根本沒有提供很多信息),所以我們將不得不做一些逆向工程來解決這個問題。

讓我們將WinDBG附加到wlidsc并監視正在進行的RPC調用。在任何Office進程中進行身份驗證之后,我們看到第一個調用是RPC方法WLIDCCreateContext以創建上下文,然后是WLIDCAcquireTokensWithNGC,最后是一系列其他調用,我們將暫時忽略這些調用。

如果我們在后一種方法中添加一個斷點,那登錄到Office中的MSA帳戶會導致命中:

如何恢復網絡令牌

步進式(Stepping )直到我們點擊ret并檢查填充的參數,在參數12的內存區域中會顯示一些有趣的東西。

如何恢復網絡令牌

對我來說,這確實是一個象征!如果我們打開像Fiddler這樣的代理,我們會看到它與Office訪問web服務時使用的身份驗證令牌格式相匹配:

如何恢復網絡令牌

那么,我們如何從我們自己的工具中調用它呢?讓我們使用James Forshaw的NtObjectManager生成一個可以使用的存根。

如何恢復網絡令牌

生成的RPC存根根據Windows版本的不同而不同,這是毫無價值的,例如,在Windows 10中,我們發現字段計數在輸入結構上發生了變化,因此,如果你收到可怕的(0x800706F7) - The stub received bad data. 錯誤,請多家留意。

使用RPC客戶端存根創建一個快速的C#應用程序,我們將重播我們之前觀察到的入站RPC調用,并添加參數,這將給我們提供如下內容:

如何恢復網絡令牌

如果我們稱之為:

如何恢復網絡令牌

由于這是MSA身份驗證請求,我們將不得不使用Substrate等服務來訪問Microsoft 365服務。旋轉一個代理并在Office中導航是確定調用什么以及這些web服務采用什么參數的最佳方式。但你可以看到,passport令牌返回后,我們可以很好地進行身份驗證和交互:

如何恢復網絡令牌

令牌緩存

現在我們已經了解了如何恢復MSA,那么Azure AD呢?通過Lee Christensen的帖子知道,我們可以很容易地按需請求新令牌,但是我們在Office進程中看到的緩存令牌被轉儲了,它們是如何在啟動時加載的呢?

讓我們提供一個新的主機并將我們的用戶帳戶與AzureAD相關聯,然后登錄到Office,再嘗試找出令牌存儲的位置。

如何恢復網絡令牌

為了確保我們在正確的軌道上,讓我們從內存中轉儲一些字符串,并確保eyJ0eX簽名存在。

如何恢復網絡令牌

我們再次深入搜索dll,但這次我們將重點關注Windows.Security.Authentication.Web.Core.dll。

這是一個WinRT庫,因此我們需要深入Ghidra了解正在發生的事情。

AddWebTokenResponseToCache方法如下:

如何恢復網絡令牌

如果我們進一步研究,會發現此方法實際上負責將憑據緩存到序列化文件,這些文件可以在%LOCALAPPDATA%\Microsoft\TokenBroker\Cache中找到。

如何恢復網絡令牌

好的,讓我們看看這些TBRES文件:

如何恢復網絡令牌

如果我們使用ProcMon,我們會看到這些文件確實在進程啟動時被Office訪問:

如何恢復網絡令牌

可以看到,這就是我們的身份驗證信息存儲的地方!查看JSON會發現一個IsProtected字段。在WinDBG中,我們將附加到Office,在CryptUnprotectData上添加斷點并重新啟動。果然,我們發現base64解密數據的內容被解密了。

如何恢復網絡令牌

JSON文件中我們特別感興趣的字段是ResponseBytes,我添加了一個帶有快速工具的repo,該工具可以解密這些文件,可以在這里找到。

在使用ProtectedData.Unprotect解密此數據后,我們看到了明文JWT。果然,解密它們會得到我們之前從內存中看到的相同信息:

如何恢復網絡令牌

來自不同提供者和應用程序的其他令牌也存儲在這些文件中,包括MSA令牌,這也是毫無價值的。

現在我們知道了,Windows和Office用于Live和Azure的認證和緩存會話的幾種不同方法。

POC可以在https://github.com/xpn/WAMBam上找到。

本文翻譯自:https://blog.xpnsec.com/wam-bam/如若轉載,請注明原文地址

責任編輯:武曉燕 來源: 嘶吼網
相關推薦

2024-01-19 08:25:38

死鎖Java通信

2024-02-04 00:00:00

Effect數據組件

2023-07-26 13:11:21

ChatGPT平臺工具

2023-01-10 08:43:15

定義DDD架構

2022-09-22 12:03:14

網絡安全事件

2022-08-29 08:05:44

Go類型JSON

2023-03-17 16:44:44

Channel進程模型

2024-01-05 07:46:15

JS克隆對象JSON

2022-11-23 14:57:04

2024-11-29 08:53:46

2023-01-28 10:40:56

Java虛擬機代碼

2024-09-30 09:05:46

Linux網絡延遲

2023-08-01 12:51:18

WebGPT機器學習模型

2024-01-02 12:05:26

Java并發編程

2023-10-10 11:04:11

Rust難點內存

2024-05-06 00:00:00

InnoDBView隔離

2023-01-30 09:01:54

圖表指南圖形化

2024-07-31 08:39:45

Git命令暫存區

2023-12-12 08:02:10

2022-07-08 09:27:48

CSSIFC模型
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品免费在线 | 免费国产精品久久久久久 | 一区二区精品在线 | 国产精品日韩一区二区 | 狠狠爱视频| 性国产xxxx乳高跟 | 日韩欧美在线观看视频网站 | 中文在线一区二区 | 国产高清一区二区三区 | 97精品国产一区二区三区 | 天天爽夜夜爽精品视频婷婷 | 欧美电影免费观看 | 香蕉久久a毛片 | 国产欧美一区二区三区在线看 | 国产精品中文字幕在线播放 | 中文字幕在线第二页 | 青青久在线视频 | 日韩一区二区三区在线观看视频 | 91九色porny首页最多播放 | 国产精品一区二区久久 | a级在线免费观看 | 精品欧美视频 | 999久久久久久久久6666 | 在线久草 | 在线播放一区二区三区 | 草逼网站| 天天躁人人躁人人躁狂躁 | 欧美综合一区二区三区 | 午夜视频一区 | 国产专区免费 | 在线视频国产一区 | 国产成都精品91一区二区三 | 日韩av一区二区在线观看 | 久草视频网站 | 一区影视 | 一级黄色播放 | 国产精品美女久久久久久久网站 | 亚洲国产区 | 国产天天操 | 亚洲福利在线视频 | 亚欧洲精品在线视频免费观看 |