Vulnerabilidades encadenadas conducen a la ejecución remota de comandos
Autores: Mark Ellzey, Greg Gaylor
¿Cuál es el problema?
Las vulnerabilidades de ProxyLogon, reveladas públicamente en marzo y comentadas en nuestro blog Microsoft Exchange 0-day Vulnerabilities, han sido parcheadas desde entonces, pero se ha descubierto un ataque similar a Microsoft Exchange. El investigador de DEVCORE "Orange Tsai" publicó sus hallazgos de una nueva vulnerabilidad que combina múltiples exploits; su nombre en código es "ProxyShell".
En el momento de redactar este documento (agosto de 2021), Censys identificó más de 175.300 hosts que ejecutaban el servicio SMTP de Exchange. De esos hosts, aproximadamente 135.000 hosts ejecutaban algún tipo de Microsoft Internet Information Server junto con SMTPD. Diferenciamos estos dos ya que el ataque completo requiere ambos servicios para una explotación exitosa, pero debe tenerse en cuenta que estos servicios pueden vivir en hosts separados.
El ataque ProxyShell consiste en tres vulnerabilidades separadas encadenadas para lograr la ejecución remota de código, dando a los atacantes la capacidad de establecer un punto de apoyo persistente en su entorno Exchange. A continuación se muestra un análisis básico de la cadena de ataque en sí:
Primera fase: CVE-2021-34473
Al igual que la SSRF detectada en marzo, la primera vulnerabilidad, CVE-2021-34473, aprovecha una función de Exchange que genera una URL limpia y normalizada para el buzón de correo de un usuario y la presenta como un único enlace para su uso en llamadas de backend. Dirigiéndose a gestores específicos, un usuario puede engañar al servidor para que elimine secciones específicas de la URL para conectarse a servicios backend arbitrarios.
Segunda fase: CVE-2021-34523
La siguiente fase de la cadena de ataque es CVE-2021-34523, que explota la lógica en un subsistema de Exchange llamado "Exchange PowerShell Service". Esta función permite a los usuarios enviar y recibir correos electrónicos en la línea de comandos, pero no valida correctamente que el usuario se haya autenticado en el frontend. Estableciendo un parámetro de petición particular ("X-Rps-CAT"), un atacante puede engañar al servidor para que ejecute un comando arbitrario como otro usuario.
Tercera fase: CVE-2021-31207
La tercera y última vulnerabilidad discutida en CVE-2021-31207 utiliza el acceso de los ataques anteriores para ejecutar el comando "New-MailboxExportRequest" para exportar el buzón de un usuario a una ruta especificada. Al codificar un archivo adjunto de correo electrónico, como un remote-shell, en formato "Outlook Personal Folder", el comando MailboxExportRequest deserializará los datos y escribirá el contenido real en el disco en su forma original. Una vez descodificados y escritos, un atacante puede utilizar la misma vulnerabilidad para ejecutar el código exportado.
¿Qué importancia tiene?
Los investigadores de Duo han confirmado que los atacantes están buscando activamente y utilizando el ataque para instalar ransomware como "LemonDuck" y otro software malicioso. Duo también descubrió que los atacantes modificaron los archivos de configuración del servidor Exchange para ocultar shells basados en web en ubicaciones ocultas.
El 20 de agosto, Symantec informó de una nueva familia de ransomware en su artículo sobre "LockFile"; en el momento de escribir este artículo, se desconocía el vector de explotación y, a partir del 23 de agosto, los ataques se han vinculado a la cadena de exploits ProxyShell descrita aquí.
Unos días más tarde, el 23 de agosto, Duo Security declaró lo siguiente en su post titulado "ProxyShell Attacks Escalate, "Huntress Labs, que trabaja con proveedores de servicios gestionados, dijo que tiene visibilidad en más de 1.700 servidores vulnerables y ha visto alrededor de 300 de ellos comprometidos en los últimos días".
Con el paso del tiempo, está casi garantizado que esta cifra aumente.
¿Qué hago al respecto?
Aunque el CVE no se hizo público hasta julio, Microsoft abordó silenciosamente la vulnerabilidad en la actualización de abril de 2021. Si no has aplicado ningún parche desde la actualización de marzo, lo más probable es que seas vulnerable a este exploit.
- Actualice los servicios inmediatamente siguiendo las instrucciones aquí.
- Para los clientes de Censys ASM, utilice la página Inventario de host para identificar rápidamente cualquier servidor Microsoft Exchange que se esté ejecutando en su entorno.
- Utilice Kevin Beaumont Script NMAP que puede aumentar un port-scan con información sobre si un host es vulnerable al primer ataque pre-auth.
- Navegue hasta el directorio NMAP que contiene los scripts definidos por el usuario.
- Mac: /usr/local/Cellar/nmap/<version>/share/nmap/scripts
- Linux: /usr/share/nmap/scripts
- Descargue el script NMAP en el directorio.
- Ejecute "nmap -p [PUERTOS]-script http-vuln-exchange-proxyshell [IP/host]"
- Los hosts vulnerables tendrán un mensaje como el siguiente: ** Vulnerable a ProxyShell SSRF **
Información adicional para cazadores, defensores y equipos de inteligencia
Con Censys Search 2.0 escaneamos todo el rango de direcciones IPV4 para más de 3.500 puertos y servicios. Lo que hace especiales a los datos de Censys Search 2.0 es que disponemos de los datos más recientes de servicios que se ejecutan en varios puertos no estándar. Esto nos ayuda a encontrar configuraciones de puertos/servicios no estándar a escala. ¿Microsoft Exchange Server configurado en un puerto HTTP no estándar? No hay problema, lo tenemos cubierto.
Ejemplo Censys Pivotes de búsqueda:
Dónde encontrar información sobre la versión del servidor en el cuerpo de respuesta de datos de Censys :
Referencias:
- CVE-2021-34473: "Pre-auth Path Confusion leads to ACL Bypass" (La confusión de la ruta previa a la autenticación conduce a la evasión de ACL)
- CVE-2021-34523: "Elevación de privilegios en Exchange PowerShell Backend"