Vulnerabilidad Log4j
INTRODUCCIÓN
El pasado viernes, 10/12/2021, se publicó la vulnerabilidad referenciada y su explotación, con una clasificación CVSS 10, lo que implica una severidad CRÍTICA. De manera inmediata nuestro servicio de ciberinteligencia, LAB52, emitió una alerta temprana dirigida a todos los clientes de S2 Grupo.
La vulnerabilidad afecta a las versiones de Apache Log4 desde 2.0 hasta 2.14.1. Se trata de una librería presente en la casi totalidad de los desarrollos basados en Java, tanto comerciales como a medida.
Así mismo, la explotación de esta vulnerabilidad es sencilla para un atacante, por lo que la probabilidad de materialización de esta amenaza es MUY ALTA.
Una explotación exitosa de esta vulnerabilidad permitiría la ejecución remota de código en el sistema víctima, comprometiendo por completo la confidencialidad, integridad y disponibilidad del mismo, de manera que consideramos el impacto asociado a esta amenaza como MUY ALTO.
ANÁLISIS
Aún se desconoce el impacto global que puede tener esta vulnerabilidad, pero una primera estimación de los hechos indica que puede ser muy alto por la gran cantidad de productos y servicios que hacen uso de esta librería (como hemos indicado, tanto comerciales como a medida); adicionalmente, y debido a características propias del ecosistema Java, el control exhaustivo de versiones instaladas es mucho más complejo de lo habitual. Desde S2 Grupo CERT hemos detectado diferentes botnets intentando distribuir malware Mirai, ejecutando minado de criptomonedas y realizando acciones de reconocimiento de las víctimas, hecho este último que suele representar la primera fase de un ataque más complejo. No olvidemos la gran actividad que tienen las redes que operan ransomware, así que es posible que en las próximas semanas aumenten los incidentes por este tipo de malware provocados por esta vulnerabilidad.
Recomendamos a todos los equipos reforzar la vigilancia al igual que S2 Grupo CERT ya está haciendo. Desde S2 Grupo CERT estamos trabajando con intensidad monitorizando cualquier intento de explotación de esta vulnerabilidad en las infraestructuras de nuestros clientes y desplegando las medidas de mitigación adecuadas. Para ello se han distribuido firmas de detección en el SIEM y se está recomendando el bloqueo de cualquier IP susceptible de intentar explotar esta vulnerabilidad. De la misma forma, estamos trabajando en la prevención de esta amenaza con la recomendación y el despliegue de salvaguardas adicionales para mitigar el riesgo asociado a la explotación de esta vulnerabilidad, que ha empezado a ser denominada log4shell. A continuación, les hacemos llegar una serie de recomendaciones en relación a la mitigación de esta vulnerabilidad. Quedamos a su disposición para cualquier consulta o actuación.
MITIGACIÓN
- Se recomienda aplicar los parches de seguridad en cuanto sea posible; la versión 2.15.0 de log4j ya está disponible desde:
- La vulnerabilidad se puede mitigar en versiones anteriores (solo version 2.10 y posteriores) estableciendo la propiedad del sistema "log4j2.formatMsgNoLookups" en "true" o eliminando la clase JndiLookup del classpath.
- Si se está utilizando una versión anterior a la 2.10.0 y no se puede actualizar, existen dos opciones de mitigación:
- Modificar el diseño de cada patrón de registro para cambiar %m{nolookups} por %m en los archivos de configuración de registro. En esta publicación se describen más a fondo los pasos a seguir.
- Sustituir una implementación vacía o no vulnerable de la clase apache.logging.log4j.core.lookup.JndiLookup, de manera que su cargador de clases use el reemplazo en lugar de la versión vulnerable de la clase.
- La mayoría de los principales Firewalls ya disponen de firmas para aplicar bloqueo a posibles explotaciones de estas vulnerabilidades. Se recomienda revisar que se tienen activadas dichas firmas o contactar con urgencia con los proveedores para que las desplieguen de inmediato. En general, es conveniente poner en modo bloqueo las firmas críticas, altas y medias.
- Bloquear la salida a Internet de los servidores internos, principalmente los que se encuentran en DMZ. Si no se puede bloquear la salida de todos ellos, que se haga al menos sobre los que albergan aplicaciones Java. En cualquier caso, si no es posible bloquear se recomienda activar en el Firewall el registro de todas las conexiones iniciadas desde los servidores hacia Internet y monitorizarlas con interés. También es posible monitorizar las conexiones iniciadas desde los servidores en los NIDS perimetrales con reglas ad hoc.
- Cortar el acceso a/desde Internet de cualquier servicio susceptible de ser vulnerables. Es preferible la desconexión temporal hasta verificar si se es o no vulnerable.
- Se recomienda inspeccionar los servicios expuestos a Internet para comprobar si alguno es vulnerable. Por ejemplo, a través de una auditoría de descubrimiento con Burp o Nessus.
- Desplegar en los sistemas de monitorización las reglas de detección disponibles para la detección de intentos de explotación de la amenaza.
LISTADO PROVISIONAL DE PRODUCTOS AFECTADOS (en continua actualización)
https://gist.github.com/SwitHak/b66db3a06c2955a9cb71a8718970c592
REFERENCIAS
https://www.lunasec.io/docs/blog/log4j-zero-day/
LISTADO DE IP HOSTILES
https://gist.github.com/gnremy/c546c7911d5f876f263309d7161a7217
FORMAS DE COMPROBAR SI SE ES VULNERABLE
https://twitter.com/cyb3rops/status/1469405846010572816 via Canary Token
https://github.com/whwlsfb/Log4j2Scan vía Burp
https://www.tenable.com/plugins/search?q=cves%3A%28%22CVE-2021-44228%22%29&sort=&page=1 vía Nessus