利用断开的域管理员RDP会话提权
内容提要
本文探讨了攻击者如何通过窃取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的窃取并成功添加了域内用户。