RdpStrike 从mstsc.exe中提取明文密码
RdpStrike简介
RdpStrike基本上是我为了深入研究位置独立代码 (PIC) 而构建的一个小项目,参考了C5pider撰写的一篇博客文章,并与0x09AL创建的RdpThief工具相结合。
该项目旨在从mstsc.exe中提取明文密码,shellcode 使用硬件断点来挂钩 API。它是一个完整的位置独立代码,当 shellcode 注入进程时,它会将硬件断点放在三个不同的 API上(SspiPrepareForCredRead, CryptProtectMemory, 和CredIsMarshaledCredentialW),最终捕获任何明文凭据,然后将它们保存到文件中。攻击者脚本确保监视新进程;如果进程已生成,它会将 shellcode 注如其中。
当攻击者脚本加载到 CobaltStrike 上时,将有三个新命令可用:
rdpstrike_enable – 启用heartbeat对新 mstsc.exe 进程的检查并将其注入其中。rdpstrike_disable – 禁用heartbeat对新 mstsc.exe 的检查,但不会删除挂钩并释放 shellcode。rdpstrike_dump – 读取文件并打印提取的凭据(如果有)。

直链下载地址
https://lp.lmboke.com/RdpStrike-main.zip使用方法
导入.cna文件到cobalt strike中即可。
威胁指标
它使用 cobaltstrike 内置的 shellcode 注入器。很容易被内核回调函数检测到
PsSetCreateThreadNotifyRoutine/PsSetCreateThreadNotifyRoutineEx钩子被放置使用
GetThreadContext并且SetThreadContext调用是从不受支持的内存中执行的。shellcode 在 TEMP(
C:\Windows\Temp) 中写入一个文件,文件名称为{7C6A0555-C7A9-4E26-9744-5C2526EA3039}.dat还有一次
LoadLibraryA加载调用dpapi.dll,它同样来自不受支持的内存。NtQuerySystemInformationsyscall 用于获取进程中的线程列表。
免责声明
本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本平台和发布者不为此承担任何责任。