渗透攻击红队
一个专注于红队攻击的公众号
大家好,这里是 渗透攻击红队 的第 61 篇文章,本公众号会记录一些红队攻击的案例,不定时更新
在内网渗透过程中常常会碰到当前跳板机有 RDP 的连接记录,有些管理员会勾选保存密码,这个时候就可以通过 mimikatz 来获取明文凭证;但有些管理员就不会勾选保存密码,这个时候我们如何获取到 RDP 的连接凭证?
内网渗透中如何获取到明文凭证
SharpRDPThief
SharpRDPThief 是 RDPThief 的 C# 实现。它使用 EasyHook 将一个 DLL 注入 mstsc.exe,然后它会挂钩 CryptProtectMemory api 调用。hook 将从传递给 CryptProtectMemory 的地址中获取密码,然后通过 EasyHook 的 IPC 服务器将其发送到主进程。
目前这只是概念实现的证明,需要 RDPHook.dll 与 SharpRDPThief.exe 位于同一目录中。
RDPThief
RdpThief 本身是一个独立的 DLL,当它被注入到 mstsc.exe 进程中时,将执行 API 挂钩,提取明文凭据并将它们保存到文件中。
当在 Cobalt Strike 上加载 aggressor 脚本时,有三个命令可用:
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
本文始发于微信公众号(渗透攻击红队):内网渗透中当 RDP 凭证没勾选保存,如何获取到明文凭证信息?
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论