〖教程〗RDP会话劫持 Ladon无密码登陆管理员桌面会话

<%

前言

Windows系统下,tscon或任务管理器右键可被用来切换远程桌面的会话。正常情况下,切换会话时需要提供登录密码,但在SYSTEM权限下可够绕过验证,无密码实现未授权登录。该漏洞在2017年由以色列安全研究员Alexander Korznikov在个人博客中披露,mimikat里面也有该功能,为了方便Ladon也添加了该功能。

image

背景

实战中某个项目的内网HTTPS证书有问题,特别奇葩不知为何,代理或CMD下无法连WEBSHELL,还有些远程连接程序管理员连着远程机器,特别是连着数据库的在自动处理数据,当管理员不在时我们只要接管他的会话就很香了。

漏洞细节

本地用户若能获取NT AUTHORITY/SYSTEM权限执行命令,就能够劫持任何处于已登录用户的会话,而无需获得该用户的登录凭证。终端服务会话可以是连接状态也可以是未连接状态。

Korznikov认为这是个高危漏洞,可允许任何本地管理员劫持会话并访问:

  1. 域管理员会话;
  2. 被劫持用户正在处理的任何未保存文件;
  3. 被劫持用户先前登录的任何其他系统或应用(可能包括其他远程桌面会话、网络共享映射、需要其他登录凭证的应用、邮箱等)

Ladon用法

1
2
3
4
5
6
7
8
9
Load RDPhijack
Usage:
Ladon RDPHijack sessionID
Ladon RDPHijack type or password
Example:
Ladon RDPHijack 3
Ladon RDPHijack 3 console
Ladon RDPHijack 3 P@ssw0rd
Ladon RDPHijack 3 disconnect

首先query user查看会话ID,然后使用Ladon接管会话即可,操作完成后disconnect即可,或者再连回原先会话。
image

PS: 用这个技术去劫持,系统不会请求合法用户登出,而是在没有任何通知的情况下,直接将用户踢出。

tscon用法

  1. 先获取SYSTEM权限,管理员权限执行以下命令,将弹出SYSTEM权限CMD,然后query user查看已登陆会话
    Ladon getsystem cmd.exe

image

  1. 创建劫持用户会话的服务

C:\Users\k8gege>sc create sesshijack binpath= “cmd.exe /k tscon 1 /dest:rdp-tcp#5”

[SC] CreateService SUCCESS

  1. 启动服务

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