Fecha de divulgación: 26 de noviembre de 2024
Fecha en la que se comunicó la explotación activa (fuente): 26 de noviembre de 2024
CVE-2024-11680 es una vulnerabilidad de autenticación incorrecta que permite a atacantes remotos no autenticados explotar instancias de ProjectSend (versiones anteriores a r1720) enviando peticiones HTTP crafteadas a options.phppermitiendo la modificación no autorizada de la configuración de la aplicación. Una explotación exitosa permite a los atacantes crear cuentas, cargar web shells e incrustar JavaScript malicioso.
Vulncheck compartió un blog con varios puntos clave - las instancias públicas de ProjectSend están siendo explotadas activamente, el 99% de las instancias de ProjectSend siguen siendo vulnerables, y los exploits públicos son anteriores a la asignación de CVE desde hace meses. Esto enfatiza la importancia de actualizar rápidamente las versiones afectadas de ProjectSend.
Los exploits públicos están disponibles en forma de plantilla Nuclei plantilla y un módulo MetaSploit módulo. Vulncheck compartió que los hosts víctimas pueden mostrar títulos html con cadenas aleatorias en línea con la forma en que Nuclei y Metasploit implementan su lógica de prueba. Según Vulncheck, los hosts comprometidos con estos títulos modificados comenzaron a aparecer en septiembre, cuando estos exploits se hicieron públicos.
Vulncheck additionally noted that anomalous network requests to ProjectSend applications appear to be more than just “researchers intrusively checking for vulnerable versions”, and there’s been evidence of post-exploitation activity. Attackers uploading webshells to victim hosts can be found in upload/files/ off the web root and are assigned a predictable name following this pattern: {posix timestamp of upload}-{sha1 username}-{original file name}.{original extension}.
Campo |
Detalles |
CVE-ID |
CVE-2024-11680 - CVSS 9.8 (crítico) - asignado por NVD |
Descripción de la vulnerabilidad |
Las versiones de ProjectSend anteriores a la r1720 están afectadas por una vulnerabilidad de autenticación incorrecta. Los atacantes remotos no autenticados pueden explotar este defecto enviando peticiones HTTP a options.php, lo que permite la modificación no autorizada de la configuración de la aplicación. Una explotación exitosa permite a los atacantes crear cuentas, cargar webshells e incrustar JavaScript malicioso. |
Fecha de divulgación |
26 de noviembre de 2024 |
Activos afectados |
Opciones.php en ProjectSend (antes de r1720) |
Versiones de software vulnerables |
ProjectSend antes de la versión r1720. |
¿PoC disponible? |
Sí, hay múltiples exploits públicos disponibles que incluyen (pero no se limitan a): Núcleos de Descubrimiento de Proyectos plantillaRapid7 Metasploit móduloy este aviso de Synactiv proporciona información detallada sobre el exploit. |
Estado de explotación |
La explotación activa fue reportada por Vulncheck y esta CVE fue agregada a CISA KEV el 3 de diciembre de 2024. |
Estado del parche |
Esta vulnerabilidad ha sido parcheada mediante este commit en mayo de 2023. |
Censys Perspectiva
En el momento de redactar este informe, Censys observaba 4,026 instancias de ProjectSend expuestas en línea. Una gran proporción de ellas (40%) están geolocalizadas en Estados Unidos. Censys observó alrededor del 9% de las instancias expuestas estaban asociadas a CloudFlare (ASN 13335). Nótese que no todas ellas son necesariamente vulnerables, ya que no se dispone de versiones específicas.
En las instancias de ProjectSend expuestas, observamos un patrón recurrente en el HTML que ocasionalmente incluye la versión de lanzamiento:
Provided by <a href="https://www.projectsend.org/" target="_blank">ProjectSend</a> version r1420 - Free software
De las instancias expuestas en nuestros datos, pudimos identificar las siguientes versiones expuestas:
Número de publicación |
Recuento de anfitriones |
r1295 |
260 |
r1335 |
117 |
r1420 |
113 |
r1330 |
7 |
r1270 |
4 |
r1415 |
3 |
De las instancias expuestas en nuestro conjunto de datos, identificamos varias instancias que mostraban versiones de lanzamiento específicas. Aunque muchas instancias no presentaban una versión visible, esta ausencia no garantiza que no sean vulnerables. Todas las versiones identificadas en el gráfico anterior siguen siendo vulnerables al exploit.
Además de las versiones identificadas, observamos un número significativo de instancias que parecen haber sido ya comprometidas. A continuación se presentan los cinco patrones más comunes observados entre estos hosts por frecuencia, aunque también se identificaron otros hosts comprometidos:
Título HTML |
Recuento de anfitriones |
Entrar " 2nVsqpahM2JlULBOKl4HZg2JMXb |
260 |
Entrar " 2pVU3Qznb2ce732PenWkYG6cT8A |
127 |
Entrar " 2pTBUSMbXEO0MlGMlZ4D5AydOUW |
63 |
Entrar " 2pQhx2E3Rw5BRWrDQUtcyw8Pdel |
23 |
Entrar " 2pTxgyFQ4XKnq8ZAfNsAZzQe6qp |
20 |
Los patrones de ofuscación observados en estos anfitriones comprometidos coinciden estrechamente con los generados por la plantilla de núcleos. Cada uno de estos patrones tiene exactamente 27 caracteres. Este comportamiento es coherente con el modelo randstr utilizada en la plantilla Nuclei plantillaque aprovecha la biblioteca KSUID para generar una cadena aleatoria, siempre de 27 caracteres.
if strings.EqualFold(value, "randstr") || strings.HasPrefix(value, "randstr_") {
randStr := ksuid.New().String()
data = bytes.ReplaceAll(data, []byte(expression[0]), []byte(randStr))
dataMap[expression[0]] = randStr
}
Mapa de instancias expuestas de ProjectSend:
Censys Consulta de búsqueda:
services: (http.response.html_title: "Log In » " and banner: "Set-Cookie: PHPSESSID" and http.response.body: "ckeditor.js" and http.response.body: "jquery-migrate.min.js")
Censys Consulta ASM:
host.services.http.response.html_title: "Log In » " and host.services.banner: "Set-Cookie: PHPSESSID" and host.services.http.response.body: "ckeditor.js" and host.services.http.response.body: "jquery-migrate.min.js"
Referencias