CVE-2021-44228: prueba de concepto para ejecución de código remota crítica de Apache Log4j disponible (Log4Shell)

Una vulnerabilidad crítica en la popular biblioteca de registros Log4j 2, afecta a diversos servicios y aplicaciones, incluyendo Minecraft, Steam y Apple iCloud. Los atacantes han comenzado a escanear e intentar explotar activamente la falla.
Actualización 21 de diciembre: Hubo una publicación de blog de preguntas frecuentes el 17 de diciembre con información de Log4Shell y otras vulnerabilidades asociadas. Para obtener información actualizada, consulte nuestra publicación de blog: CVE-2021-44228, CVE-2021-45046, CVE-2021-4104: Preguntas frecuentes acerca de Log4Shell y vulnerabilidades asociadas
Antecedentes
El 9 de diciembre, los investigadores publicaron un código de exploit de prueba de concepto (PoC) para una vulnerabilidad crítica en Apache Log4j 2, una biblioteca de registros de Java empleada por diversas aplicaciones y servicios, que incluyen pero que no se limitan a:
La vulnerabilidad Log4Shell (así fue apodada por los investigadores), inició con informes de que varias versiones de Minecraft, el popular videojuego de entorno aislado, se vieron afectadas por esta vulnerabilidad.
hay una exploit de cliente y servidor de minecraft abierta ahora que se aprovecha de una vulnerabilidad en las versiones 2.0 a 2.14.1 de log4j y ya hay pruebas de concepto circulando.
— ᵃᵈᵃᵐ (@twokilohertz) 9 de diciembre de 2021
Además, parece que los servicios en la nube como Steam y Apple iCloud, también se han visto afectados.
Se considera que esta vulnerabilidad es tan grave, que el CEO de Cloudflare planea ofrecer protección para todos los clientes.
Análisis
CVE-2021-44228 es una vulnerabilidad de ejecución de código remota (RCE) en Apache Log4j 2. Un atacante remoto sin autenticar podría explotar esta falla al enviar una solicitud especialmente diseñada a un servidor que ejecute una versión vulnerable de log4j. La solicitud especialmente diseñada emplea una inyección de Nomenclatura de Java e Interfaz de Directorio (JNDI) mediante diversos servicios que incluyen:
- Protocolo ligero de acceso a directorios (LDAP)
- LDAP protegido (LDAPS)
- Invocación de método remoto (RMI)
- Servicio de nombre de dominio (DNS)
Si el servidor vulnerable usa log4j para registrar solicitudes, el exploit solicitará posteriormente una carga útil maliciosa sobre JNDI a través de uno de los servicios anteriores, desde un servidor controlado por el atacante. Una explotación exitosa puede provocar RCE.
En el caso de Minecraft, los usuarios pudieron explotar esta vulnerabilidad al enviar un mensaje especialmente diseñado a través del chat de Minecraft.
aaaaand then code execution?? #log4j #minecraft pic.twitter.com/aSFzhsm87l
— John Hammond (@_JohnHammond) 10 de diciembre de 2021
Tanto GreyNoise como Bad Packets, han detectado actividad de escaneos masivos que buscan servidores para usar Log4j.
Se detectó actividad de escaneo en masa de múltiples hosts que verifica si los servidiores que usan Apache Log4j (Java logging library) son vulnerables a la ejecución de código remota (https://t.co/GgksMUlf94).
— Bad Packets (@bad_packets) 10 de diciembre de 2021
Consulte nuestra API para "tags=CVE-2021-44228" para obtener direcciones IP de origen y otros IOC. #threatintel
Hay informes que relatan que esta vulnerabilidad está siendo usada para implantar mineros de criptomonedas.
esta carga útil de log4shell es... un minerador de monedas
— Kevin Beaumont (@GossiTheDog) 10 de diciembre de 2021
la vulnerabilidad ha llegado pic.twitter.com/XUR7I5ydpP
Prueba de concepto
Esta primera PoC para CVE-2021-44228 fue lanzadao el 9 de diciembre, antes de que su identificador CVE fuera asignado. Al momento en que se publicó este blog, habían varias PoC disponibles en GitHub.
Solución
Aunque Apache publicó una versión el 6 de diciembre que podría abordar esta vulnerabilidad, ella estaba incompleta. Apache 2.15.0, versión lanzada el 10 de diciembre.
Log4j 2.15.0 necesita Java 8. Por lo tanto, las organizaciones que usan Java 7 necesitarán realizar una actualización antes de poder obtener la versión con parche de Log4j.
Apache aconseja que, si la aplicación de parches no es posible de inmediato, hay tres rutas de mitigación que se pueden emprender para frustrar los intentos de explotar esta vulnerabilidad.En la medida en que la información de Apache continúe siendo actualizada, le recomendamos que consulte sus orientaciones aquí.
Debido a que Log4j se incluye en diversas aplicaciones web y es usado por diversos servicios en la nube, el alcance completo de esta vulnerabilidad no se conocerá hasta que transcurra algún tiempo. Sin embargo, al momento en que se publicó este blog, algunos productos y servicios que fueron confirmados como vulnerables incluyen:
Producto/Servicio | Se confirmó que fue afectado |
---|---|
Minecraft | Sí |
Steam | Sí |
Apple iCloud | Sí |
Tencent | Sí |
Sí | |
Baidu | Sí |
Didi | Sí |
Cloudflare | Sí |
Amazon | Sí |
Tesla | Sí |
ElasticSearch | Sí |
Ghidra | Sí |
Se mantiene un repositorio GitHub que destaca la superficie de ataque de esta vulnerabilidad.
Identificación de los sistemas afectados
Puede consultar una lista de plug-ins de Tenable para identificar esta vulnerabilidad aquí. La lista será actualizada en la medida en que sean lanzados nuevos plug-ins. Además, desearíamos destacar los siguientes plug-ins (disponibles en el conjunto de plug-in 202112112213 y posteriores) :
Verificaciones remotas
- Plugin ID 156014 - Apache Log4Shell RCE detection via callback correlation (Direct Check HTTP) - Esta verificación remota puede usarse para identificar la vulnerabilidad sin autenticación. Este plug-in es compatible con los escáneres de nube de Tenable
- Plugin ID 155998 - Apache Log4j Message Lookup Substitution RCE (Log4Shell) (Direct Check) - Este plug-in monitorea para detectar una conexión LDAP BIND de un host objetivo. No es compatible con los escáneres de nube de Tenable.io y puede no retornar resultados en algunas redes debido a las reglas de firewall o a interferencia de otros dispositivos de seguridad. Continuamos explorando opciones para obtener detección adicional y recomendamos a los clientes del escáner de nube de Tenable.io que usen los siguientes cuatro plug-ins.
Para obtener una descripción general de los retornos de llamada de los Plugin ID 156014 y 155998, visite esta publicación en Tenable Community.
Verificaciones de versión y detección local (se requiere autenticación)
- Plugin ID 155999 - Apache Log4j < 2.15.0 Remote Code Execution
- Plugin ID 156000 - Apache Log4j Installed (Unix)
- Plugin ID 156001 - Apache Log4j JAR Detection (Windows)
- Plugin ID 156002 - Apache Log4j < 2.15.0 Remote Code Execution
Además, ha sido lanzado un plug-in completo, Tenable.io Web App Scanning (WAS), que puede emplearse para probar campos de entrada que puedan ser usados para explotar Log4Shell.
- Plugin ID 113075 - Apache Log4j Remote Code Execution (Log4Shell)
Para obtener información de soporte de cada uno de los plug-ins anteriores, consulte esta publicación en Tenable Community.
Tenable ha lanzado plantillas de escaneo para Tenable.io, Tenable.sc y Nessus Professional. Ellas están preconfiguradas para permitir un escaneo rápido para esta vulnerabilidad. Además, los clientes de Tenable.io cuentan con un nuevo tablero de instrumentos y nuevos widgets en la biblioteca de widgets. Los usuarios de Tenable.sc también tienen un nuevo tablero de instrumentos de Log4Shell. Para asegurar que su escáner tenga los últimos plug-ins disponibles, Tenable recomienda actualizar manualmente su conjunto de plug-ins. Los usuarios de Nessus, incluyendo los escáneres de Tenable.io Nessus, pueden emplear el siguiente comando de Nessus CLI:
nessuscli fix --secure --delete feed_auto_last
Para obtener más información del uso de nessuscli, consulte este artículo.
Los usuarios de Tenable.sc pueden actualizar manualmente los plug-ins empleando los enlaces de actualización en la UI Plugins/Feed Configuration, como se muestra en la siguiente captura de pantalla:
Las organizaciones que todavía no tengan un producto de Tenable, pueden registrarse para obtener una prueba gratuita de Nessus Professional para poder escanear y detectar esta vulnerabilidad.
Obtenga más información
- Seminario web: Alerta de vulnerabilidad - Respuesta a Log4Shell en Apache Log4j
- Apache Log4j2-3201: Limitar los protocolos que jNDI puede usar y restringir LDAP
- Boletín de seguridad: Vulnerabilidad de ejecución de código remota de Apache Log4j2 (CVE-2021-44228)
- Log4Shell: Exploit RCE de día 0 encontrado en log4j2, un paquete popular de registros de Java
- Página de lanzamiento de Apache Log4j 2
- Cómo recibe Nessus los plug-ins y las actualizaciones de software
Únase al Equipo de respuesta de seguridad de Tenable en Tenable Community.
Obtenga más información sobre Tenable, la primera plataforma de Cyber Exposure para el control integral de la superficie de ataque moderna.
Obtenga una prueba gratuita por 30 días de Tenable.io Vulnerability Management.
Artículos relacionados
- Gestión de vulnerabilidades