Cómo robar sesiones RDP en Windows sin saber la contraseña
Esta t�cnica no es nueva, pero est� de actualidad, quiz� porque no hab�a tenido todo el foco que en estas �ltimas semanas ha tenido por Internet. All� por el a�o 2011, el genial investigador @gentilkiwi hab�a encontrado la posibilidad de hacer un secuestro de sesi�n en RDP.
Eso s�, toma nota que para algunos este hack una caracter�stica del sistema operativo Microsoft Windows y no una vulnerabilidad, as� que disfruta este art�culo teniendo esto presente.
�En qu� consiste esto?
Esto es un "hack" que permite el secuestro de una sesi�n sin tener las credenciales. Este hack se puede inferir de los trabajos de Benjamin Delpy en 2011 y de Alexander Korznikov en marzo de este a�o. Si se ejecuta el binario tscon.exe como usuario SYSTEM, se puede conectar a cualquier otra sesi�n que haya en el equipo ejecut�ndose y sin necesitarse la contrase�a. No se pide, sencillamente se conecta con el escritorio en curso de dicho usuario. En la charla de Terminal Hackplications tienes muchos trucos para lograr a ser SYSTEM en un Windows a trav�s de Citrix y RDP del que se podr�an robar luego las sesiones.
Sabemos que, si eres SYSTEM tienes el control total, pero la obtenci�n de cierta informaci�n podr�a ser m�s larga que accediendo a trav�s de tscon.exe a la sesi�n adecuada. Adem�s, hay que tener en cuenta que utilizar esta t�cnica podr�a hacernos pasar muy inadvertido, incluso en el movimiento lateral. Incluso, podemos conectarnos a sesiones desconectadas, es decir, usuarios que hace un tiempo, incluso d�as, dejaron de estar en el servidor. Tambi�n se desbloquean sesiones, lo cual es realmente interesante.
�C�mo conseguimos esto?
En la pr�ctica es sencillo, incluso demasiado. Con el comando query podemos comprobar las sesiones abiertas en el equipo. Siempre que seamos SYSTEM, por ejemplo, lanzando el exploit contra Win32k.sys y el MS16-135 del que hablamos la semana pasada podemos aprovecharnos de este hack. Simplemente, tenemos que indicar el identificador de la sesi�n y el nombre de la sesi�n sobre la que lo utilizaremos. Hay que decir que la t�cnica nos funcionar� hasta en Windows 10 y Windows Server 2016, lo cual hace que estemos ante una especie de Sticky Keys remoto que nos permite entrar a las sesiones.
En la imagen se puede ver como hay dos sesiones activas sobre una m�quina Windows 10. Ocurrir�a de forma similar en un servidor, salvo que, posiblemente, ser�an sesiones de escritorio remoto. De esa imagen, tenemos que tener clara dos cosas, una el identificador que queremos utilizar y la segunda el nombre de la sesi�n con la que se quiere acceder. Al final estaremos accediendo a la sesi�n del usuario Administrator a trav�s de la sesi�n de nuestro usuario.
Cuando ejecutamos la instrucci�n tscon [ID] /dest:[Session Name] estaremos accediendo, sin necesidad de credenciales, a la sesi�n del usuario con ID, en este caso, 2. Es decir, accedemos al escritorio de dicho usuario y tenemos esos privilegios, pudiendo acceder a cualquier tipo de informaci�n.
Una vez ejecutado, accedemos a la sesi�n del usuario Administrator, y podemos comprobar que lo somos si abrimos una cmd, tal y como se puede ver en la imagen superior.
�C�mo o d�nde podemos explotarlo y/o aprovecharlo?
El investigador Kevin Beaumont ha publicado una serie de m�todos para aprovechar este truco, sobre todo en la post-explotaci�n. El primero de los m�todos habla de utilizar Sticky Keys como un RDP backdoor. El m�todo es sencillo, si tu ejecutas el Sticky Keys modificado para abrir un cmd.exe, tu logras un terminal como SYSTEM. En este momento podr�as utilizar el m�todo comentado anteriormente para lograr acceder a los escritorios de los usuarios conectados.
El segundo m�todo comentado es similar al de Sticky Keys, pero realizado con el binario Utilman. Adem�s, se ha creado un m�dulo integrado con Mimikatz para sacar partido de este hack f�cilmente, tal y como se ve en esta peque�a animaci�n.
Otro m�todo, es escanear Internet, por ejemplo, con hacking con buscadores haciendo consultas a servicios como Shodan en busca de servicios RDP activos y que est�n backdoorizados con Sticky Keys o Utilman. Esto permitir�a a cualquier usuario acceder a las posibles sesiones de los usuarios en el sistema. Imagina un Windows Server. En el Github de ztgrace podemos encontrar la herramienta sticky_keys_hunter, el cual nos permite cazar dichos servidores con Sticky Keys o Utilman.
Como ya coment� al principio del art�culo, el investigador @GentilKiwi tiene disponible en su herramienta la posibilidad de aprovecharse de este fallo. Adem�s, en la reciente DefCON 24 del a�o pasado, hubo una conferencia sobre el mismo tema, llamada "Sticky Keys to the Kingdom" en la que los investigadores automatizaban el descubrimiento de estos servidores ya troyanizados con las Sticky Keys con su herramienta.
�Qu� mitigaciones tenemos?
Este truco funciona en Windows Server 2016, por lo que es bastante potente y, seguramente, dif�cil de tapar para Microsoft. Por esta raz�n, podemos apoyarnos en las pol�ticas de grupo para forzar que los usuarios hagan logoff cuando las sesiones est�n desconectadas, es decir, inmediatamente despu�s de que el usuario se desconecte.
Esto no es algo tan popular en los entornos IT y debemos valorarlo. Otra medida de mitigaci�n ser�a no exponer servicios RDP/RDS hacia el exterior que puedan unir el exterior con la intranet. Utilizar MFA o Multi-Factor Authentication tambi�n es algo importante. Otra opci�n es crear un dominio de invitados a los servidores RDP expuestos al exterior.
Como se puede ver, un truco muy sencillo y muy potente. Que lleva a grandes rasgos muchos a�os entre nosotros, pero que ha estado bastante �tapado�. �Lo utilizas en tus auditor�as para llevar a cabo movimientos laterales?
Autor: Pablo Gonz�lez P�rez (@pablogonzalezpe)
Escritor de los libros "Metasploit para Pentesters", "Ethical Hacking", "Got Root" y �Pentesting con Powershell�, Microsoft MVP en Seguridad y Security Researcher en ElevenPaths
![]() |
| Figura 1: C�mo roboar sesiones RDP en Windows sin saber la contrase�a |
Eso s�, toma nota que para algunos este hack una caracter�stica del sistema operativo Microsoft Windows y no una vulnerabilidad, as� que disfruta este art�culo teniendo esto presente.
�En qu� consiste esto?
Esto es un "hack" que permite el secuestro de una sesi�n sin tener las credenciales. Este hack se puede inferir de los trabajos de Benjamin Delpy en 2011 y de Alexander Korznikov en marzo de este a�o. Si se ejecuta el binario tscon.exe como usuario SYSTEM, se puede conectar a cualquier otra sesi�n que haya en el equipo ejecut�ndose y sin necesitarse la contrase�a. No se pide, sencillamente se conecta con el escritorio en curso de dicho usuario. En la charla de Terminal Hackplications tienes muchos trucos para lograr a ser SYSTEM en un Windows a trav�s de Citrix y RDP del que se podr�an robar luego las sesiones.
Figura 2: Terminal Hackplications de Chema Alonso en Ekoparty 2011
�C�mo conseguimos esto?
En la pr�ctica es sencillo, incluso demasiado. Con el comando query podemos comprobar las sesiones abiertas en el equipo. Siempre que seamos SYSTEM, por ejemplo, lanzando el exploit contra Win32k.sys y el MS16-135 del que hablamos la semana pasada podemos aprovecharnos de este hack. Simplemente, tenemos que indicar el identificador de la sesi�n y el nombre de la sesi�n sobre la que lo utilizaremos. Hay que decir que la t�cnica nos funcionar� hasta en Windows 10 y Windows Server 2016, lo cual hace que estemos ante una especie de Sticky Keys remoto que nos permite entrar a las sesiones.
![]() |
| Figura 3: Dos sesiones abiertas en el equipo Windows 10. Una local y otra remota. |
En la imagen se puede ver como hay dos sesiones activas sobre una m�quina Windows 10. Ocurrir�a de forma similar en un servidor, salvo que, posiblemente, ser�an sesiones de escritorio remoto. De esa imagen, tenemos que tener clara dos cosas, una el identificador que queremos utilizar y la segunda el nombre de la sesi�n con la que se quiere acceder. Al final estaremos accediendo a la sesi�n del usuario Administrator a trav�s de la sesi�n de nuestro usuario.
![]() |
| Figura 4: Siendo SYSTEM nos conectamos a la sesi�n con ID 2 |
Cuando ejecutamos la instrucci�n tscon [ID] /dest:[Session Name] estaremos accediendo, sin necesidad de credenciales, a la sesi�n del usuario con ID, en este caso, 2. Es decir, accedemos al escritorio de dicho usuario y tenemos esos privilegios, pudiendo acceder a cualquier tipo de informaci�n.
![]() |
| Figura 5: Convertidos en Administrador de esa sesi�n |
Una vez ejecutado, accedemos a la sesi�n del usuario Administrator, y podemos comprobar que lo somos si abrimos una cmd, tal y como se puede ver en la imagen superior.
�C�mo o d�nde podemos explotarlo y/o aprovecharlo?
El investigador Kevin Beaumont ha publicado una serie de m�todos para aprovechar este truco, sobre todo en la post-explotaci�n. El primero de los m�todos habla de utilizar Sticky Keys como un RDP backdoor. El m�todo es sencillo, si tu ejecutas el Sticky Keys modificado para abrir un cmd.exe, tu logras un terminal como SYSTEM. En este momento podr�as utilizar el m�todo comentado anteriormente para lograr acceder a los escritorios de los usuarios conectados.
![]() |
| Figura 6: Dejar el equipo "troyanizado" con las Sticky Keys para ser SYSTEM y robar sesiones |
El segundo m�todo comentado es similar al de Sticky Keys, pero realizado con el binario Utilman. Adem�s, se ha creado un m�dulo integrado con Mimikatz para sacar partido de este hack f�cilmente, tal y como se ve en esta peque�a animaci�n.
![]() |
| Figura 7: M�dulo de Mimikatz para el robo de sesi�n RDP |
Otro m�todo, es escanear Internet, por ejemplo, con hacking con buscadores haciendo consultas a servicios como Shodan en busca de servicios RDP activos y que est�n backdoorizados con Sticky Keys o Utilman. Esto permitir�a a cualquier usuario acceder a las posibles sesiones de los usuarios en el sistema. Imagina un Windows Server. En el Github de ztgrace podemos encontrar la herramienta sticky_keys_hunter, el cual nos permite cazar dichos servidores con Sticky Keys o Utilman.
![]() |
| Figura 8: C�digo de Sticky Keys Hunter |
Como ya coment� al principio del art�culo, el investigador @GentilKiwi tiene disponible en su herramienta la posibilidad de aprovecharse de este fallo. Adem�s, en la reciente DefCON 24 del a�o pasado, hubo una conferencia sobre el mismo tema, llamada "Sticky Keys to the Kingdom" en la que los investigadores automatizaban el descubrimiento de estos servidores ya troyanizados con las Sticky Keys con su herramienta.
Figura 9: Denis Maldonado & Tim Mcguffin "Sticky Keys to the Kingdom" en Defcon 24
�Qu� mitigaciones tenemos?
Este truco funciona en Windows Server 2016, por lo que es bastante potente y, seguramente, dif�cil de tapar para Microsoft. Por esta raz�n, podemos apoyarnos en las pol�ticas de grupo para forzar que los usuarios hagan logoff cuando las sesiones est�n desconectadas, es decir, inmediatamente despu�s de que el usuario se desconecte.
Esto no es algo tan popular en los entornos IT y debemos valorarlo. Otra medida de mitigaci�n ser�a no exponer servicios RDP/RDS hacia el exterior que puedan unir el exterior con la intranet. Utilizar MFA o Multi-Factor Authentication tambi�n es algo importante. Otra opci�n es crear un dominio de invitados a los servidores RDP expuestos al exterior.
Figura 10: PoC de explotaci�n del RDP Session Hijacking Passwordless
Como se puede ver, un truco muy sencillo y muy potente. Que lleva a grandes rasgos muchos a�os entre nosotros, pero que ha estado bastante �tapado�. �Lo utilizas en tus auditor�as para llevar a cabo movimientos laterales?
Autor: Pablo Gonz�lez P�rez (@pablogonzalezpe)
Escritor de los libros "Metasploit para Pentesters", "Ethical Hacking", "Got Root" y �Pentesting con Powershell�, Microsoft MVP en Seguridad y Security Researcher en ElevenPaths
download file now







