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

  • A+
所属分类:安全文章

渗透攻击红队

一个专注于红队攻击的公众号

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


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


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



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

SharpRDPThief


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

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

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

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

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

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

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


RDPThief


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

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

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

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

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

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

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

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

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

实际情况下如果发现目标机器上有很多 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


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

渗透攻击红队

一个专注于渗透红队攻击的公众号

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



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

本文始发于微信公众号(渗透攻击红队):内网渗透中当 RDP 凭证没勾选保存,如何获取到明文凭证信息?

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: