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
- Descargue la herramienta JSRAT:
https://github.com/aspiggy/JSRAT
- Y ejecute los siguientes comandos:
git clone https://github.com/aspiggy/JSRAT
- 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.
- 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.
- Para obtener la carga útil (payload) del shell generada por la URL debe abrir el CMD, pegar el contenido y pulsar la tecla Intro.
- Una vez que el usuario visita la URL de mando del Cliente se establecerá una conexión con el host.
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
- JSRat también puede leer, descargar o cargar archivos.
- Comando ipconfig en máquina victima con Windows:
- La ejecución de ejecutables y scripts también se puede realizar siguiendo una secuencia como:
run
calc.exe
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
- El comando de carga útil que se debe ejecutar en el destino también se incluye en los comentarios del script.
- Al ejecutar el comando de carga útil, se conectará al host victima y se obtendrá una consola.
- Los comandos se pueden ejecutar en la victima como cualquier otro comando normal.
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! 🙂