
Las vulnerabilidades aprovechan la caché DNS del router para modificar la resolución a los dominios de actualización
RouterOS es un sistema operativo basado en Linux desarrollado para los routers MikroTik, aunque su instalación puede efectuarse en cualquier otro equipo como un PC. Este sistema cuenta con una serie de utilidades de código cerrado como es su propio comando ‘resolve’, el cual utiliza el protocolo de routerOS Winbox para la conexión con el router.
Es en esta utilidad que Jacob Baines de Tenable ha encontrado una vulnerabilidad por la cual no se valida la autenticación para ejecutar ‘resolve’, por lo que cualquier usuario sin autenticar puede utilizarlo, tal y como demuestra en una Prueba de Concepto (PoC). Esto en un principio no supone un gran problema, aunque sí lo es que las resoluciones DNS del comando se guarden en la caché DNS del router, ya que es posible elegir el servidor DNS que se usará para la resolución.
Aprovechando que se puede elegir el DNS que se usará para resolver la petición, y que ésta se cacheará en la tabla DNS del router, un atacante podría tomar el control del servidor DNS si estuviese en uso por los clientes. Pero esto no se queda aquí, ya que dicha caché se utiliza (sin necesidad de estar activado el modo servidor DNS) para la resolución de los servidores de actualización del router.
Aunque toda la comunicación con los servidores de RouterOS para actualizarse se realiza mediante HTTP sin cifrar, los paquetes que descarga sí están firmados, por lo que no es posible actualizar a una versión modificada sin que valide la firma. No obstante, un bug permite hacer downgrade a una versión vulnerable, teniendo la 6.45.6 la particularidad de que resetea las contraseñas al hacer downgrade, sólo teniendo que esperar el atacante a que el router se desactualice para acceder con las credenciales por defecto.
De momento no hay un parche que solucione las vulnerabilidades, aunque no es suficiente con parchear la autenticación en ‘resolve’: es necesario que las peticiones que realice no se cacheen. La única solución de momento es desactivar el protocolo Winbox de routerOS para evitar ser víctimas de este ataque, al menos hasta que se publique un parche.
Actualización:
La versión 6.45.7 de RouterOS soluciona las vulnerabilidades aquí descritas, identificadas como CVE-2019-3976, CVE-2019-3977, CVE-2019-3978 y CVE-2019-3979. ¡Gracias a los comentarios por avisar!
Más información:
RouterOS, chain to Root:
https://medium.com/tenable-techblog/routeros-chain-to-root-f4e0b07c0b21
El día 24 de Octubre liberaron una actualización que corrige los problemas que comentas en el post:
What’s new in 6.45.7 (2019-Oct-24 08:44):
MAJOR CHANGES IN v6.45.7:
———————-
!) lora – added support for LoRaWAN low-power wide-area network technology for MIPSBE, MMIPS and ARM;
!) package – accept only packages with original filenames (CVE-2019-3976);
!) package – improved package signature verification (CVE-2019-3977);
!) security – fixed improper handling of DNS responses (CVE-2019-3978, CVE-2019-3979);
———————-
Changes in this release:
*) capsman – fixed frequency setting requiring multiple frequencies;
*) capsman – fixed newline character missing on some logging messages;
*) conntrack – properly start manually enabled connection tracking;
*) crs312 – fixed combo SFP port toggling (introduced in v6.44.5);
*) crs3xx – correctly display link rate when 10/100/1000BASE-T SFP modules are used in SFP+ interfaces;
*) crs3xx – fixed management access when using switch rule «new-vlan-priority» property;
*) export – fixed «bootp-support» parameter export;
*) ike2 – fixed phase 1 rekeying (introduced in v6.45);
*) led – fixed default LED configuration for RBLHG5nD;
*) lte – fixed modem not receiving IP configuration when roaming (introduced in v6.45);
*) radius – fixed open socket leak when invalid packet is received (introduced in v6.44);
*) sfp – fixed «sfp-rx-power» value for some transceivers;
*) snmp – improved reliability on SNMP service packet validation;
*) system – improved system stability for devices with AR9342 SoC;
*) winbox – show SFP tab for QSFP interfaces;
*) wireless – added «canada2» regulatory domain information;
*) wireless – improved stability when setting fixed primary and secondary channels on RB4011iGS+5HacQ2HnD-IN;
¡Gracias por tu ayuda! Actualizamos la noticia.