前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >内网渗透中当 RDP 凭证没勾选保存,如何获取到明文凭证信息?

内网渗透中当 RDP 凭证没勾选保存,如何获取到明文凭证信息?

作者头像
渗透攻击红队
发布2021-07-14 11:02:45
1.3K0
发布2021-07-14 11:02:45
举报
文章被收录于专栏:漏洞知识库漏洞知识库

大家好,这里是 渗透攻击红队 的第 61 篇文章,本公众号会记录一些红队攻击的案例,不定时更新

在内网渗透过程中常常会碰到当前跳板机有 RDP 的连接记录,有些管理员会勾选保存密码,这个时候就可以通过 mimikatz 来获取明文凭证;但有些管理员就不会勾选保存密码,这个时候我们如何获取到 RDP 的连接凭证?

内网渗透中如何获取到明文凭证‍

SharpRDPThief

SharpRDPThief 是 RDPThief 的 C# 实现。它使用 EasyHook 将一个 DLL 注入 mstsc.exe,然后它会挂钩 CryptProtectMemory api 调用。hook 将从传递给 CryptProtectMemory 的地址中获取密码,然后通过 EasyHook 的 IPC 服务器将其发送到主进程。

目前这只是概念实现的证明,需要 RDPHook.dll 与 SharpRDPThief.exe 位于同一目录中。

此时如果客户端使用了 mstsc 并输入了 user、pass :(此时是未勾选保存凭据)

SharpRDPThief 就会把 RDPhook.dll 注入到 mstsc 进程从而获取到 user、pass:

RDPThief

RdpThief 本身是一个独立的 DLL,当它被注入到 mstsc.exe 进程中时,将执行 API 挂钩,提取明文凭据并将它们保存到文件中。

当在 Cobalt Strike 上加载 aggressor 脚本时,有三个命令可用:

代码语言:javascript
复制
rdpthief_enable – 启用新 mstsc.exe 进程的心跳检查并注入它们。
rdpthief_disable – 禁用新 mstsc.exe 的心跳检查,但不会卸载已加载的 DLL。
rdpthief_dump – 打印提取的凭据(如果有就会打印出来)

可能是我 CS 版本问题,把 rdpthief_dump 的结果复制到文本就能看到 ip、user、pass 了:

它实际把凭据保存到了 %temp%\data.bin 文件里:

实际情况下如果发现目标机器上有很多 mstsc 连接记录,此时我们就可以注入到 mstsc 进程,耐心等待一两天猎物上钩,可能会收获不少!当然这也靠很大部分的运气成分在里面,不说了,祝兄弟们好运!


参考文章:

https://www.mdsec.co.uk/2019/11/rdpthief-extracting-clear-text-credentials-from-remote-desktop-clients/

https://github.com/0x09AL/RdpThief

https://github.com/passthehashbrowns/SharpRDPThief

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-07-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 渗透攻击红队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档