RESUMEN: El recientemente revelado CVE-2024-4577 ha sido rápidamente convertida en un arma por el grupo TellYouThePass para vulnerar servidores y cifrar archivos desde el 7 de junio aproximadamente. Censys ha publicado un panel de control que rastrea los hosts infectados expuestos públicamente, observando alrededor de 1.000 hasta el 13 de junio, principalmente geolocalizados en China.
Escribimos por primera vez sobre este tema en un aviso publicado el 10 de junio de 2024: https://censys.com/cve-2024-4577/.
Este blog profundizará en la evolución de la explotación de esta vulnerabilidad, la campaña TellYouThePass y nuestras observaciones sobre los hosts comprometidos.
Resumen ejecutivo
- CVE-2024-4577 es una vulnerabilidad crítica de ejecución remota de código (RCE) que afecta a todas las versiones de PHP. Según el originalpermite a atacantes no autenticados ejecutar código arbitrario en servidores PHP vulnerables bajo una de las siguientes configuraciones:
- Ejecutar PHP en modo CGI
- Exponer el binario PHP en el directorio CGI - que pasa a ser la configuración por defecto en XAMPP, un popular paquete de servidor web Apache
- En TellYouThePass ha estado explotando activamente este fallo desde el 7 de junio de 2024 para distribuir ransomware. Esta campaña es un reflejo de incidentes de ransomware anteriores, en los que las bandas escanean Internet en busca de sistemas vulnerables tras una vulnerabilidad de gran repercusión, atacando indiscriminadamente cualquier servidor accesible.
- Censys publicó un panel de control que rastrea los hosts expuestos públicamente infectados con el ransomware TellYouThePass a lo largo del tiempo:
- La primera víctima que expuso artefactos de ransomware apareció en nuestros escáneres el 8 de juniocoincidiendo con las observaciones de Imperva
- Ahora hay alrededor de 1.000 hosts comprometidos en línea desde el 13 de junio, principalmente en Chinadespués de la oleada inicial que alcanzó un máximo de 1.800 hosts el 10 de junio. Esta cifra podría ser mayor si los servidores comprometidos no tienen configurada la indexación de directorios.
- La explotación desproporcionada observada en China se debe probablemente a que los sistemas Windows con localizaciones chinas o japonesas son intrínsecamente vulnerables debido a su configuración XAMPP por defecto.
- El ransomware parece alterar el servicio a un directorio abiertoencripta los archivos y añade notas de rescate (con nombres de archivo como READ_ME9.html, READ_ME10.html, READ_ME11.html).
- Las notas de rescate son casi idénticas y exigen 0,1 BTC.
- La mejor manera de mitigar el riesgo de explotación es la aplicación inmediata de parches, así como la actualización para utilizar Mod-PHP, FastCGI o PHP-FPM, más seguros, en lugar del anticuado PHP-CGI.
- Censys Search query for compromised hosts: services: (http.response.body:{“READ_ME9.html”, “READ_ME10.html”, “READ_ME11.html”} and http.response.body:”*.locked*”).
Fondo
CVE-2024-4577 es una vulnerabilidad de inyección de comandos en todas las versiones no parcheadas de PHP que puede ser explotada remotamente bajo ciertas circunstancias. Se deriva de conversiones de codificación de caracteres inseguras que pueden eludir las protecciones establecidas para mitigar CVE-2012-1823.
Los investigadores detrás de esta CVE han observado que un proyecto popular, XAMPP para Windowsejecuta por defecto una de estas configuraciones vulnerables. XAMPP es un popular paquete de distribución de Apache de código abierto para el desarrollo de servidores web.
TellYouThePass es una banda de ransomware que ha estado activa desde 2019, conocida por explotar rápidamente vulnerabilidades generalizadas como Log4Shell y Apache ActiveMQ . Se sabe que han atacado tanto a empresas como a individuos a través de sistemas Windows y Linux.
Esta campaña sigue un patrón que ya hemos visto en otras ocasiones: una vulnerabilidad crítica que afecta a un gran número de servidores expuestos a Internet atrae la atención de los actores de amenazas oportunistas, y el resultado es una campaña de explotación masiva dirigida a los servidores vulnerables más fáciles de encontrar en línea, sin importar a quién pertenezcan o qué sean.
Es probable que muchos de estos ataques afecten a servidores web personales o a sistemas olvidados que ya no reciben mantenimiento activo. Y de forma similar a anteriores incidentes de ransomware que hemos rastreado como ESXiargs (febrero de 2023) y Deadbolt QNAP NAS (enero de 2022), es probable que las notas del ransomware de esta campaña persistan en los sistemas afectados durante un período prolongado, potencialmente años, hasta que los sistemas sean finalmente retirados del servicio.
Aunque CVE-2024-4577 es crítico y se explota activamente, las circunstancias específicas requeridas para que un sistema sea vulnerable, y la relativamente baja sofisticación del ransomware que se está desplegando, sugieren que el impacto puede limitarse a un subconjunto de sistemas que cumplen los criterios de vulnerabilidad (localizaciones de idioma japonés o chino, y la capacidad de inyectar argumentos que se pasan directamente al binario PHP de alguna manera (es decir, PHP-CGI)).
Las organizaciones y los particulares deben dar prioridad a la aplicación de parches y a la protección de sus sistemas, en particular los que ejecutan Windows PHP con localizaciones chinas o japonesas.
Cronología de los acontecimientos
- 7 de mayo: CVE-2024-4577 vulnerabilidad descubierta y comunicada al equipo PHP
- 6 de junio: PHP publica actualizaciones de seguridad (versiones 8.3.8, 8.2.20 y 8.1.29) para solucionar el fallo (https://www.php.net/downloads)
- 7 de junio: Se publica el código de prueba de concepto del exploit para CVE-2024-4577
- 7 y 8 de junio: La banda de ransomware TellYouThePass comienza a explotar la vulnerabilidad, con la primera víctima denunciada
- 8 de junio: Utilizando datos históricos, Censys observó el primer conjunto de hosts TellYouThePass comprometidos
- 10 de junio: Imperva informa de la explotación de CVE-2024-4577 para distribuir el ransomware TellYouThePass
- 13 de junio: Censys publicó un panel en vivo rastreando hosts infectados expuestos públicamente
Censys Hallazgos
Artefactos de infección TellYouThePass
Desde nuestra perspectiva de análisis, el ransomware parece cambiar el aspecto de un servicio a un directorio abierto (si el servidor se ha configurado para permitir la indexación de directorios), lo que filtra el sistema de archivos del servicio configurado.
Al analizar estos listados de directorios, observamos que la herramienta de rescate primero cifra cada archivo en un archivo bloqueado por puntos (.locked), luego elimina el archivo original sin cifrar y, por último, añade una o más notas de rescate siguiendo la convención de nomenclatura "READ_ME[0-9]+.html". Las siguientes capturas de pantalla lo ilustran:
Servicio observado por Censys el 07 Jun 2024 05:32 AM UTC - antes del compromiso
Servicio observado por Censys el 08 Jun 2024 03:49 PM UTC - después del compromiso
Este diff histórico también puede visualizarse con mayor precisión en Censys Search: https://search. xml-ph-0000@deepl.internal .io/hosts/202.61.85.104/diff?at_time=2024-06-07T05%3A32%3A44.485Z&at_time_b=2024-06-08T15%3A49%3A43.302Z
Hasta ahora, hemos identificado tres notas de rescate distintas asociadas a esta reciente oleada de exploits: READ_ME9.html, LEER_ME10.htmly LEER_ME11.html.
Las notas de ransomware asociadas a este actor de amenaza comparten un contenido casi idéntico, con la excepción de un ID dinámico asignado a cada víctima. La petición de rescate especificada en las notas es de 0,1 BTC, que actualmente equivale a unos ~6,6k-6,7k USD (según el tipo de cambio actual de tipo de cambio actual del Bitcoin).
Ejemplo de contenido de una nota de ransomware
La dirección Bitcoin proporcionada para el pago del rescate es: bc1qnuxx83nd4keeegrumtnu8kup8g02yzgff6z53l.
Al examinar el historial de transacciones de esta carterala transferencia más reciente parece haberse realizado el 27 de abril de 2024, pero se trataba de transferir dinero de esta a otro monedero (bc1qytcntagd9wqur4fmnqpjmp2s4n8kgzd49c7qlf) , y el dinero que había antes no se había tocado desde el 22 de marzo de 2024. No parece que se estén pagando rescates a esta dirección para esta campaña.
Historial de transacciones de la dirección Bitcoin de TellYouThePass.
Censys Search query for compromised hosts: services: (http.response.body:{“READ_ME9.html”, “READ_ME10.html”, “READ_ME11.html”} and http.response.body:”*.locked*”).
Seguimiento de las infecciones de TellYouThePass
Hemos publicado un panel en vivo rastreando hosts expuestos públicamente infectados con el ransomware TellYouThePass. A fecha de 13 de junio, observamos alrededor de 1.000 hosts infectados en línea.
Censys observó un rápido aumento del número de hosts infectados que exponían notas del ransomware TellYouThePass, partiendo de cero el 7 de junio. En los días siguientes se produjo un aumento significativo:
- 8 de junio: Alrededor de 670 hosts infectados, mostrando una combinación de notas "READ_ME9" y "READ_ME10", siendo "READ_ME9" más frecuente.
- 9 de junio: Casi 1.700 huéspedes infectados expuestos.
- 10 de junio: Aproximadamente 1.800 huéspedes infectados expuestos.
- 11 de junio: El número de anfitriones infectados expuestos comienza a disminuir, bajando a cerca de 1700 de nuevo
- 12 de junio: Censys detectada una nueva oleada de infecciones con una nota de rescate diferente: "READ_ME11".
- 13 de junio: El número de hosts infectados expuestos ha seguido disminuyendo gradualmente, con alrededor de 1.000 hosts todavía en línea a partir del 13 de junio.
Más de la mitad de estos ataques parecen producirse en China. Esto coincide con las observaciones del aviso de seguridad original de la empresa taiwanesa de equipos rojos DEVCORE que las instalaciones de XAMPP en sistemas Windows que se ejecutan en chino tradicional, chino simplificado o japonés están configuradas para exponer el binario ejecutable PHP en el directorio CGI por defecto, haciéndolas vulnerables a CVE-2024-4577 por defecto.
Aunque la reciente oleada de ataques afecta principalmente a notas de rescate numeradas del 9 al 11, Censys también ha observado un pequeño número de hosts que exponen dos notas de ransomware de numeración inferior: READ_ME1.html y LÉAME_ME4.html (Consulta de búsqueda). Es posible que se trate de restos de campañas de explotación anteriores de TellYouThePass.
Los investigadores de Arctic Wolf han sugerido que READ_ME4.html en particular, podría estar asociado con la campaña campaña de noviembre de 2023 dirigida a instancias vulnerables de Apache ActiveMQ vulnerables.
De acuerdo con esta hipótesis, Censys ha identificado indicios de instancias de ActiveMQ en algunos de los hosts que exponen el sitio web READ_ME4.html lo que podría vincularlos a los ataques anteriores centrados en ActiveMQ.
Ejemplo de listado de directorios en un host que expone una nota de rescate READ_ME4.html y un servicio relacionado con ActiveMQ
Caracterización de los hospedadores infectados
Como se mencionó anteriormente en este post, desde nuestra perspectiva de escaneo, el ransomware parece cambiar el servicio PHP subyacente para presentar un directorio abierto que expone el sistema de archivos interno del host comprometido.
Al analizar estos listados de directorios, observamos un archivo de 9,0M denominado help.scr en 78 hosts comprometidos, lo que llamó nuestra atención. Los archivos SCR, abreviatura de "Screensaver" (salvapantallas), son archivos ejecutables utilizados habitualmente para distribuir malware. Estos archivos pueden contener código malicioso disfrazado de salvapantallas u otro programa aparentemente benigno, lo que los convierte en un vector común para que los actores de amenazas distribuyan cargas útiles maliciosas.
Al principio no está claro si estos help.scr estaban presentes en los hosts antes del ataque o si fueron eliminados por la campaña TellYouThePass.
Ejemplo 1: Listado de directorios exponiendo un archivo help.scr
En uno de los hosts comprometidos, representado en la captura de pantalla anterior, la marca de tiempo reportada para help.scr es 2023-11-30 13:09, que coincide con el momento de la ola de noviembre de 2023 de explotación de ActiveMQ por TellYouThePass. Este podría sugerir que el archivo es una reliquia de esa infección, pero también es posible que no tenga nada que ver con la campaña TellYouThePass.
Veamos otro ejemplo.
Ejemplo 2: Listado de directorios exponiendo un archivo help.scr
En este host, la fecha de help.scr es el 11 de junio de 2024, lo que coincide con el calendario de la campaña actual. Este es otro indicio de que el archivo podría estar relacionado con el ransomware, pero sigue siendo especulativo.
Al examinar algunas de estas rutas de archivos en la base de datos de URLhaus, muchas de ellas han sido notificadas y asociadas a la etiqueta "TellYouThePass" a fecha de hoy, 14 de junio de 2024 (https://urlhaus.abuse.ch/browse/tag/TellYouThePass/).
Se necesitan más análisis para determinar de forma concluyente el origen del archivo y cómo se está aprovechando potencialmente.
Censys Search query for compromised directory listings exposing a help.scr file: services: (http.response.body:{“READ_ME9.html”, “READ_ME10.html”, “READ_ME11.html”} and http.response.body:”*.locked*” and http.response.body:”*help.scr*”)
¿Qué se puede hacer?
Esta campaña en particular parece estar escaneando indiscriminadamente Internet en busca de servidores PHP vulnerables, explotándolos independientemente del propietario o de la naturaleza del sitio web. Este comportamiento oportunista sugiere que los atacantes probablemente no se dirigen a organizaciones o individuos específicos, sino que simplemente intentan explotar servidores vulnerables fácilmente identificables.
Dicho esto, se recomienda encarecidamente actualizar la versión de PHP con prontitud y cambiar a una alternativa más segura que PHP-CGI.
Referencias: