利用断开的域管理员RDP会话提权

💡 原文中文,约5000字,阅读约需12分钟。
📝

内容提要

本文探讨了攻击者如何通过窃取RDP会话令牌实现域内提权,利用计划任务和API创建进程,在关闭远程桌面后成功添加域内用户,并总结了相关代码及实现原理。

🎯

关键要点

  • 攻击者可以通过窃取RDP会话令牌实现域内提权。

  • 在关闭远程桌面后,攻击者可以利用计划任务和API创建进程。

  • 攻击者模拟域管用户登录普通域内机器并关闭远程桌面后进行提权。

  • 通过新建计划任务选择域管用户并执行命令来添加域内用户。

  • 并非所有域内用户都可以选择,必须是已登录的用户。

  • 原理是获取进程的token,利用CreateProcessAsUser API完成进程创建。

  • 提供了完整的代码示例,展示如何实现token窃取和用户添加。

  • 成功完成token窃取并添加域内用户的实验结果。

🔎

延伸解读

RDP会话的安全风险

攻击者通过窃取RDP会话令牌实现域内提权,表明在远程桌面会话中存在严重的安全隐患。管理员在使用远程桌面时,若未正确退出会话,可能导致其权限被恶意利用。因此,建议在结束远程操作后,务必安全退出会话,以降低被攻击的风险。

计划任务的利用

文章中提到攻击者利用计划任务创建进程来实现提权,这一方法显示了计划任务在攻击中的潜在威胁。系统管理员应定期审查计划任务的设置,确保没有未授权的任务存在,以防止攻击者利用这一机制进行恶意操作。

API调用的安全性

通过CreateProcessAsUser API进行进程创建的方式,揭示了API调用在安全防护中的重要性。开发者和系统管理员应关注API的使用权限,确保只有经过授权的用户才能调用敏感API,以减少被滥用的可能性。

延伸问答

攻击者如何通过RDP会话令牌实现域内提权?

攻击者通过窃取RDP会话令牌,模拟域管用户登录普通域内机器,并利用计划任务和API创建进程来实现域内提权。

在关闭远程桌面后,攻击者如何继续进行提权?

攻击者在关闭远程桌面后,可以通过新建计划任务,选择已登录的域管用户并执行命令来添加域内用户。

并非所有域内用户都可以被选择,为什么?

攻击者只能选择已登录的域管用户,未登录的用户会提示无法选择。

提权的核心原理是什么?

提权的核心原理是获取进程的token,并利用CreateProcessAsUser API完成进程创建。

文章中提供了哪些代码示例?

文章提供了完整的代码示例,展示如何利用WTSQueryUserToken获取RDP会话ID token,并使用CreateProcessAsUser完成进程创建。

成功完成token窃取和用户添加的实验结果是什么?

实验结果显示成功完成了token的窃取并成功添加了域内用户。

🏷️

标签

➡️

继续阅读