Entre las presentaciones en la conferencia Black Hat 2022 del pasado mes de agosto, hubo pocas que tuvieran realmente una utilidad práctica para los administradores de sistemas y los responsables de seguridad. Sin embargo, sí hubo una grata excepción: el informe de Jacob Baines, el investigador de Rapid7, que habló en detalle sobre cómo llevó a cabo el análisis del software empresarial de Cisco y encontró en él múltiples vulnerabilidades. Los hallazgos de Jacob están disponibles en formato presentación, en formato informe más detallado y como un conjunto de herramientas en GitHub.
Jacob encontró 10 problemas que afectan al software Cisco Adaptive Security, Adaptive Security Device Manager y Firepower Services Software for ASA. Estas soluciones de software controlan una gran variedad de sistemas Cisco para usuarios empresariales, entre los que se incluyen los firewalls de hardware y las soluciones de seguridad empresarial de extremo a extremo, entre otros. Cisco reconoció siete de estos problemas como vulnerabilidades, sin embargo, según el proveedor, los tres restantes no afectan a la seguridad. En el momento en el que se divulgó esta información, dos de las siete vulnerabilidades no se habían solucionado, a pesar de que Rapid7 informó a Cisco en febrero/marzo de 2022 (otra se solucionó más tarde, supuestamente).
¿Cuáles son las vulnerabilidades?
Echemos un vistazo a dos de los más importantes. La vulnerabilidad CVE-2022-20829 se relaciona con el método de entrega de actualizaciones utilizado en el software Cisco ASA. El error es bastante insignificante: los paquetes de actualización binarios no se validan durante la instalación; no hay una verificación de la firma digital ni nada por el estilo. Rapid7 mostró cómo modificar los paquetes binarios de Cisco ASDM para ejecutar código arbitrario cuando se procese.
La segunda vulnerabilidad a destacar es CVE-2021-1585. Fue descubierta a finales de 2020 por el investigador Malcolm Lashley. Este descubrió que, cuando se entregan las actualizaciones, el certificado necesario para establecer una conexión segura a través de un protocolo de enlace TLS se procesa incorrectamente. Esto, a su vez, permite que un atacante lleve a cabo un ataque man-in-the-middle contra los clientes de Cisco, es decir, sustituyendo su propio recurso por una fuente de actualización legítima. Esto permite introducir y ejecutar código malicioso en lugar de un parche. Esta vulnerabilidad tiene una historia interesante: Malcolm Lashley informó sobre ella a Cisco en diciembre de 2020. En julio de 2021, Cisco publicó los detalles de la vulnerabilidad sin que se lanzara un parche. En julio de 2022, la vulnerabilidad se marcó como cerrada en el portal interno para clientes de la empresa. Después, Rapid7 demostró que no era así: si había un parche, este no funcionaba.
El resto de las vulnerabilidades tampoco pueden describirse como insignificantes. Por ejemplo, la vulnerabilidad CVE-2022-20828 se puede utilizar para atacar a un administrador del sistema mediante acceso remoto. La demostración de Rapid7 ejemplifica cómo, introduciendo un solo comando, un atacante potencial puede obtener acceso completo al sistema. Además, Rapid7 descubrió que los módulos de arranque de FirePOWER no se escanean en ningún momento. Esto significa que, si se repara alguna vulnerabilidad en el software, siempre será posible revertir la imagen de arranque a una versión anterior que no esté parcheada. A pesar de que existe la posibilidad de poder revertir la reparación de la vulnerabilidad en ataques reales, Cisco ni siquiera lo consideró un problema de seguridad.
Dificultades de entrega de actualizaciones
Estas vulnerabilidades muestran que el sistema de entrega de actualizaciones puede dejar mucho que desear incluso en el software empresarial integrado con soluciones corporativas de alta gama. Hace poco escribimos un artículo sobre un problema de concepto similar en el software del cliente web Zoom para los dispositivos Apple de los consumidores. El proceso de comprobación de las actualizaciones parecía bastante seguro: el acceso al servidor se realizaba a través de una conexión segura y el archivo de actualización estaba firmado digitalmente. Pero el procedimiento de verificación de la firma permitía ejecutar cualquier cosa en lugar de un archivo ejecutable legítimo, y con los privilegios más altos. También encontramos otro ejemplo de “actualizaciones maliciosas” que se utilizan en ataques reales: en 2018, los investigadores de Kaspersky detectaron este método en la campaña Slingshot APT para comprometer los routers Mikrotik.
En el caso de Cisco, la verificación de la firma digital de las actualizaciones de paquetes binarios de ASDM ni siquiera se tuvo que pasar por alto: simplemente no existía (supuestamente apareció un mecanismo en agosto de 2022, pero aún no se ha demostrado su fiabilidad). A decir verdad, todos los ataques propuestos por los investigadores en las Black Hat son bastante difíciles de llevar a cabo. Pero, si hay riesgos, estos deben tomarse en serio, ya que podríamos estar hablando de empresas que tienen mucho que perder ante ataques de ransomware que lleven a cabo el cifrado de archivos o el robo de secretos comerciales.
Qué hacer al respecto
Dadas las especificidades de estas vulnerabilidades, la principal recomendación del investigador de Rapid7 es limitar el trabajo en modo administrador con acceso completo, en la medida de lo posible. Y con esto no solo se refiere a tener altos privilegios mientras se está conectado a la infraestructura de forma remota, hay muchos ejemplos que demuestran que es posible sufrir un ataque malicioso incluso de forma offline con el máximo aislamiento mediante actualizaciones maliciosas o un simple script que explote una vulnerabilidad de software. La atenta monitorización de aquellas personas que tienen un acceso completo a la infraestructura y también la limitación de las acciones realizadas como administrador ayudarán a reducir el riesgo de sufrir un ataque exitoso. Sin embargo, el riesgo no desaparece por completo…