内网横向之RDP缓存利用
字数 1125 2025-08-29 08:30:13
内网横向渗透之RDP缓存利用技术详解
1. RDP缓存凭据概述
远程桌面协议(RDP)在连接过程中会缓存凭据,特别是在以下情况下:
- 用户勾选了"保存密码"选项
- 使用了Windows凭据管理器功能
这些缓存的凭据通常包含:
- 用户名和密码信息
- 经过加密的身份验证令牌
2. 攻击前提条件
要利用RDP缓存凭据,需要满足以下条件:
- 已获取目标系统的管理员(Administrator)权限
- 目标用户曾使用RDP连接其他主机并选择"记住我的凭证"
- 本地系统中保留了这些凭证
3. 攻击步骤详解
3.1 获取Administrator权限
方法一:通过计划任务提权
- 使用
WIN+R打开运行对话框,输入taskschd.msc打开任务计划程序 - 查找由Administrator创建的批处理文件(.bat)
- 定位该批处理文件的目录
- 修改或替换该批处理文件,写入Cobalt Strike(CS)马
- 在任务计划程序中运行该批处理文件
注意:不是所有Administrator创建的.bat文件都可用,必须是能在计划任务中以Administrator身份运行的.bat文件。
3.2 查找RDP凭据
在获取Administrator权限后,执行以下操作:
- 使用管理员权限执行相关命令查找RDP凭证
- 使用文件浏览功能定位凭证存储位置
- 确认找到的凭证确实是Administrator通过RDP连接其他主机时选择"记住我的凭证"而保留的
3.3 获取guidMasterKey
这是解密过程中的关键步骤,需要:
- 定位存储MasterKey的系统位置
- 提取guidMasterKey值
- 记录该值用于后续解密过程
3.4 获取MasterKey对应值
- 使用特定工具或方法获取与guidMasterKey对应的MasterKey
- 确保获取完整的MasterKey值
3.5 解密获取明文密码
- 使用获取的MasterKey进行解密操作
- 通过工具(如Mimikatz)解密凭证
- 获取明文的用户名和密码
4. 横向移动实现
获取明文凭证后,可以:
- 使用这些凭证通过RDP登录其他主机
- 实现内网横向移动
- 扩大攻击范围
5. 防御措施
为防止此类攻击,建议:
- 禁用或限制"记住我的凭证"功能
- 定期清理RDP缓存凭据
- 实施最小权限原则,限制管理员权限滥用
- 监控计划任务的创建和修改
- 使用专业工具检测和防御凭据窃取攻击
6. 工具推荐
- Mimikatz:用于提取和解密凭证
- Cobalt Strike:用于建立持久化访问
- Windows内置凭据管理器:用于管理存储的凭据
通过以上步骤和技术,攻击者可以利用RDP缓存凭据实现内网横向移动,而防御方则可以通过相应的措施来防范此类攻击。