AutoRDPwn – La guía definitiva

Buen fin de semana a todos, hoy toca nueva entrada en el blog!

Después de dos meses de intenso desarrollo, AutoRDPwn es más potente y funcional que nunca. Gracias al éxito que ha tenido y por petición popular, he decidido crear una guía paso a paso.

Antes de comenzar con esta guía, os recomiendo leer los artículos anteriores: AutoRDPwn: The Shadow Attack Framework y Cambios y mejoras en AutoRDPwn

Lo primero que haremos será acceder a la página del proyecto en Github desde el siguiente enlace: https://github.com/JoelGMSec/AutoRDPwn

A continuación copiaremos el código de ejecución en una línea y lo pegaremos en la ventana de ejecutar de Windows, en una consola de comandos o Powershell:

powershell -ExecutionPolicy Bypass “cd $env:TEMP ; iwr https://darkbyte.net/autordpwn.php -Outfile AutoRDPwn.ps1 ; .\AutoRDPwn.ps1”

Es posible que algunos antivirus detecten la herramienta como una amenaza, por lo que os recomiendo que lo desactivéis antes de ejecutarla.

Lo primero que veremos al ejecutar el programa es el menú principal, donde podremos elegir cómo lanzar el ataque o cargar módulos adicionales.

En la versión actual los ataques disponibles son los siguientes:

[1] – PsExec
[2] – Pass the Hash
[3] – Windows Management Instrumentation
[4] – Schedule Task / PSSession
[5] – Windows Remote Assistance

El primero de ellos, (PsExec) lanzará el ataque a través del protocolo SMB. Para su correcto funcionamiento, es indispensable que la víctima cumpla los siguientes requisitos:

• El recurso ADMIN$ deberá estar habilitado
• El puerto 445 deberá estar abierto y a la escucha
• El usuario deberá tener permisos de administrador en el equipo
• La configuración de red deberá estar en doméstica o privada

En todos los ataques (excepto en Pass The Hash) tendremos que introducir siempre tres campos: la ip de la víctima, el usuario y su contraseña.

Ahora continuaremos con el tercer ataque (Windows Management Instrumentation), ya que el segundo necesitará que carguemos un módulo adicional que veremos más adelante.

En este caso, el único cambio respecto al ataque anterior, es el protocolo de conexión. Para su correcto funcionamiento solo será necesario que WMI esté habilitado en la víctima y acepte conexiones entrantes.

Pasamos al cuarto ataque (Schedule Task / PSSession). Este ataque dispone de dos variantes, que comparten protocolo de conexión: Powershell. Para su correcto funcionamiento, necesitaremos que la víctima tenga WinRM habilitado, o en su defecto, PSRemoting.

Siempre que aparezca una pregunta en pantalla, podremos responder sin distinción entre minúsculas o mayúsculas.

Continuamos con la quinta opción (Windows Remote Assistance). Para que el ataque funcione en este caso, lo único que necesitaremos es que las conexiones de asistencia remota del equipo estén habilitadas.

Ahora pasaremos a los módulos adicionales, para ello pulsaremos la letra M y accederemos al sub-menú donde veremos las opciones disponibles:

[1] – Mimikatz
[2] – Consola semi-interactiva
[M] – Volver al menú principal

En el primer módulo, podremos cargar Mimikatz en nuestro equipo para recuperar los hashes del equipo. Esto nos servirá para poder lanzar el ataque Pass The Hash.

La propia herramienta detectará automáticamente la arquitectura de nuestro sistema, para ejecutar posteriormente la versión adecuada. Además, ejecutará todas las órdenes necesarias para el volcado de la SAM sin interacción por parte del usuario.

El segundo, cargará una consola semi-interactiva que aparecerá tras completar el ataque con éxito.

Ahora volvamos al segundo ataque (Pass the Hash). Para su correcto funcionamiento deberemos cumplir los mismos requisitos que el primero (PsExec) y adicionalmente, necesitaremos conocer el dominio y el hash de la víctima.

Si ya nos encontramos en una red de dominios, ya tendremos todos los datos necesarios para lanzar el ataque.

Ya que es imprescindible disponer de unas credenciales válidas para que el ataque se lleve a cabo con éxito, esta técnica nos creará el usuario AutoRDPwn (con contraseña idéntica al nombre de usuario) en el equipo víctima. De esta manera, cuando lleguemos al último paso, introduciremos estas credenciales para completar la conexión.

Como dato adicional, esta técnica también funciona en equipos en grupo de trabajo. Para ello tendremos que introducir localhost cuando nos pregunte por el dominio.

Ahora que ya sabemos cómo funcionan todas las opciones disponibles, vamos a ver qué sucede después. Independientemente del vector de ataque utilizado, se creará una conexión remota con la víctima, que cambiará la configuración de red, el firewall de Windows y habilitará la gestión remota del equipo.

Llegados a este punto, la aplicación nos preguntará si queremos visualizar el equipo remoto o controlarlo.

Este punto es importante, ya que una vez hayamos decidido no podremos volver a cambiar nuestra elección. Lo único que podríamos hacer, es cerrar el programa y comenzar de nuevo.

Según lo que hayamos elegido, la herramienta cambiará los registros de Windows necesarios para que todo funcione correctamente. A continuación, comprobará la versión del sistema operativo y buscará las sesiones activas para poder secuestrarlas.

Si el equipo víctima utiliza una versión de escritorio, la herramienta le aplicará un parche que nos permitirá conectarnos de forma concurrente, como si de un servidor se tratase. Esta funcionalidad es necesaria para que el ataque funcione correctamente.

Por el contrario, si la víctima se trata de una version de Windows Server, el programa nos preguntará directamente que sesión queremos ver o controlar.

Si todo ha funcionado correctamente, nos aparecerá una ventana donde deberemos escribir las credenciales que hemos utilizado anteriormente, o AutoRDPwn si hemos usado Pass The Hash. Si hemos cargado el módulo de consola, también nos aparecerá tras la ventana de login.

Para terminar, os dejo algunos tech tips que os serán de gran ayuda:

PsExec funciona muy bien en versiones de escritorio, ya que por defecto Windows tiene el puerto 445 abierto y el recurso ADMIN$ habilitado (siempre que la configuración de red sea doméstica o privada)

• Tanto WMI como PSSession están habilitados por defecto en las versiones de Windows Server para el usuario Administrador.

• Todas las versiones de Windows traen por defecto la asistencia remota habilitada por defecto.

• El ataque Pass The Hash puede lanzarse contra uno mismo (usando localhost como target) en servidores con Terminal Services habilitado para espiar/controlar otras sesiones.

Pronto grabaré un vídeo (que insertaré aquí) realizando una PoC, para facilitar aún más el uso de la herramienta.

Espero que os haya gustado y os resulte útil en vuestras próximas auditorías.

Nos vemos en la próxima!

 

2 thoughts on “AutoRDPwn – La guía definitiva

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *