La empresa FireEye y Cisco alertan sobre programa maligno SYNful Knock que ataca a enrutadores Cisco

El 15 de septiembre, la empresa FireEye reveló un tipo de programa maligno persistente nombrado SYNful Knock que ataca a tres modelos (1841, 2811 y 3825) de enrutadores de la firma Cisco, aunque no se descarta que también puedan infestarse otros modelos con similitud en el núcleo y el código base del sistema operativo. Este malware permite a un atacante tomar el control de un dispositivo al que se le ha modificado la imagen del sistema operativo.

Como antecedente Cisco publicó en agosto del presente año un boletín de seguridad en el cual alerta a sus clientes sobre la forma en que los atacantes, luego de obtener las credenciales válidas del enrutador o el acceso físico al mismo, modifican su firmware[1] reemplazándolo con una imagen maliciosa a través del proceso estándar de actualización.

SYNful Knock  es un nuevo paso en este tipo de ataque. Los atacantes obtienen credenciales de administración válidas, ya sea las que vienen habilitadas por defecto en los dispositivos, o descubiertas por ellos, para luego  modificar la imagen del sistema operativo instalado en el enrutador, sobrescribiendo el código de las funciones legítimas con el propio código ejecutable de SYNful Knock. 

Esta forma de operación les permite cargar, a través de la red, módulos adicionales de forma anónima y acceder sin restricciones al enrutador utilizando una contraseña de puerta trasera[2] que proporciona acceso a través de Telnet y consola.

El malware mantiene su persistencia en el sistema incluso después de reiniciar el enrutador, aunque no se mantienen los módulos adicionales cargados por el atacante, que residen en la memoria volátil.

Los investigadores de la compañía Mandiant, de la empresa estadounidense FireEye, y Cisco trabajaron de conjunto en la exposición de los detalles técnicos del funcionamiento de SYNful Knock,  confirmaron los ataques a 14 enrutadores en cuatro países (Ucrania, Filipinas, India y México),  y publicaron el mecanismo y las herramientas de detección del programa malicioso. Posteriormente la fundación Shadowserver se unió a la investigación y el 20 de septiembre, reportó un total de 163 sistemas comprometidos con el malware en 31 países, donde tuvieron mayor incidencia Estados Unidos, India y Rusia.

Para la detección de esta amenaza, si se tiene acceso al dispositivo y se desea comprobarlo, la empresa FireEye propone elegir entre tres opciones.

  • Ejecutar en el router el comando: "show platform | include RO, Valid". El router infectado con el malware podría no producir algún resultado.
  • Calcular el valor Hash de la imagen de IOS y compararlo con el valor Hash de la imagen legítima. Si es diferente indica la modificación de la imagen. Esta técnica solo funciona con una imagen almacenada en el disco y no con una cargada en memoria.
  • Ejecutar un script NSE (Nmap Scripting Engine) o uno de Python nombrado “SYNfulKnock.py” presentados por los investigadores de FireEye.

Para la detección pasiva en la red, se pueden usar firmas del IDS Snort, proporcionadas por FireEye, que se basan  en las cuatro partes de una sesión de Mando y Control: el SYN, el SYN-ACK, los mensajes de respuesta del malware y los comandos del controlador.

En cualquier caso se recomienda filtrar el protocolo Telnet y habilitar los protocolos y herramientas de administración solo desde las máquinas autorizadas desde la red interna.

La forma de proceder ante la presencia de este malware es reinstalar el sistema operativo del router con una imagen legítima de CISCO IOS, borrar las credenciales por defecto del sistema, usar nuevas y reforzarlas. La manera de comprobar si la imagen descargada de CISCO IOS es legítima es calculando el valor hash y comparándolo con el que provee CISCO de dicha versión de software.

Más detalles sobre la detección y mitigación de esta amenaza puede consultarse en:

https://www.fireeye.com/blog/threat-research/2015/09/synful_knock_-_acis.html

https://www.fireeye.com/blog/threat-research/2015/09/synful_knock_-_acis0.html

https://www2.fireeye.com/rs/848-DID-242/images/rpt-synful-knock.pdf

https://github.com/fireeye/synfulknock

http://blog.shadowserver.org/2015/09/21/synful-knock/

 


[1] Software o programa informático que gestiona directamente el comportamiento de los componentes electrónicos o el hardware de un dispositivo.

[2] Programa informático o aplicación servidor instalado en un sistema que establece un canal de comunicación con una aplicación cliente y permite acceder a dicho sistema ilegalmente, de forma remota y realizar acciones con privilegios de administración sin ser detectado.