Esta semana en seguridad: el Log4j que no se irá, WebOS y más

Durante las últimas dos semanas, Log4j ha seguido impulsando las noticias de seguridad, con más plataformas vulnerables encontradas y más CVE emergentes. En primer lugar, está el trabajo realizado por TrendMicro, que analiza los vehículos eléctricos y los cargadores. Encontraron un ataque log4j en uno de los marcos de cargador publicados y también lograron observar evidencia de vulnerabilidad en el sistema de infoentretenimiento en el vehículo de Tesla. No es difícil imaginar una pieza defectuosa que pueda funcionar con un cargador y un vehículo eléctrico. Y debido a que esos sistemas se comunican entre sí, podrían propagar el virus a través de los automóviles que se mueven de un cargador a otro.

Log4j ahora es 2.17.1, ya que hay otro RCE para corregir, CVE-2021-44832. Este solo obtuvo un puntaje de 6.6 en la escala CVSS, a diferencia del original, que pesaba 10. 44832 requiere que el atacante primero ejerza control sobre la configuración de Log4j, lo que hace que la explotación sea mucho más difícil. Esta cadena de vulnerabilidades muestra un patrón bien conocido donde la vulnerabilidad de alto perfil atrae la atención de los investigadores que encuentran otros problemas en el mismo código.

Ahora hay informes de que Log4j se utiliza en campañas de ransomware Conti. Además, basado en Marai se observó un gusano. Este ataque de autopropagación parece apuntar a servidores Tomcat, entre otros.

WebOS cae a una instantánea

[David Buchanan] reconoce que aunque se trata de una explotación interesante, no tiene mucha utilidad en este momento. Eso podría cambiar, pero veamos la falla por ahora. Las instantáneas son una gran característica del motor JavaScript V8. Cuando navega a una página web, el contexto de JavaScript para esa página debe generarse en la memoria, incluida una carga de todas las bibliotecas nombradas por la página. Esto no toma mucho tiempo en un escritorio, pero en un dispositivo integrado o teléfono móvil cargando una interfaz local, este paso inicial puede representar un gran porcentaje del tiempo requerido para diseñar la página solicitada. Las instantáneas son un gran truco donde el contexto se justifica y luego se conserva. Cuando la interfaz se abre más tarde, se puede llamar al motor V8 con ese archivo y el contexto está preestablecido, lo que hace que el lanzamiento del programa o la interfaz sea considerablemente más rápido. El único inconveniente es que V8 espera que las instantáneas solo se carguen desde una fuente confiable.

A la propia plataforma WebOS. Los programas individuales están en un espacio aislado, pero los programas de Internet operan su código en el contexto de WebAppMgr (WAM), su navegador basado en Chromium / V8. Si bien los programas individuales se encuentran en un espacio aislado, WAM no lo es. La ventaja es que un programa web puede especificar su propia instantánea para cargar en V8. Subir una instantánea corrupta dio [David] Confusión de tipo JS y, como resultado, primitiva de lectura / escritura arbitraria. A partir de ahí, sacar JS y acceder al código de shell real fue bastante fácil. Este RCE funciona como el usuario "wam", pero esta es una cuenta algo privilegiada. En particular, wam tiene acceso a /dev/mem - acceso directo a la memoria del sistema. Llegar a la raíz es casi insignificante.

[David] publicó el PoC completo, señalando que LG paga muy mal los premios por errores. No estoy de acuerdo con su afirmación de que este ataque depende por completo de una carga lateral de software malicioso, por la sencilla razón de que LG está ejecutando su Content Store para esta plataforma. Un programador malintencionado puede eludir cualquier rutina de detección de malware que LG use para monitorear programas. Las aplicaciones maliciosas en la tienda de aplicaciones no son nada nuevo. La peor parte de esta operación es que es difícil señalar dónde se encuentra la vulnerabilidad.

Equipo de cuatro errores en equipos

[FABIAN BRÄUNLEIN] encontró algún comportamiento involuntario interesante en la vista previa del enlace de Microsoft Teams. El primer problema es la solicitud falsa del lado del servidor. La vista previa del enlace se genera en el servidor de Teams y, por definición, requiere que abra la página para generar la vista previa. El problema es la falta de filtrado: el enlace a 127.0.0.1:80 genera una vista previa de lo que hay en el servidor local del servidor de Teams.

La siguiente es una técnica simple de construcción de enlaces. Este usa una herramienta como Burp para cambiar los datos enviados por el cliente de Teams. Parte del mensaje que se envía al incrustar un enlace es la URL para llamar a una generación de vista previa. No se realiza ninguna validación adicional, por lo que es posible generar una vista previa de una URL amable mientras el enlace real va a una página arbitraria. El tercer problema está relacionado, porque el enlace a la miniatura en sí también está en este mensaje y puede manejarse incorrectamente. El caso de uso interesante aquí es que un atacante podría establecer esto en una URL que verifique y extraer información de un objetivo, es decir, la dirección IP pública. Ahora, esto está bloqueado por el cliente de destino en la mayoría de las plataformas, pero en Android faltaban las comprobaciones.

Y finalmente, incluso una cosa de Android, un atacante puede enviar un "Mensaje de muerte", un mensaje esencialmente mal formado que bloquea la aplicación simplemente tratando de restaurar la vista previa. Esto bloquea la aplicación cada vez que el usuario intenta acceder al chat, bloqueando al usuario de la aplicación por completo. Ahora bien, estas no son cosas terribles, pero el impulso colectivo de Microsoft en respuesta es ... terrible. En secreto, han parcheado la fuga de la dirección IP, pero aparentemente todavía es posible falsificar las vistas previas de enlaces, así como bloquear la aplicación de Android.

Puertas traseras PBX

Los investigadores de RedTeam Pentesting observaron un PBX diseñado por Auerswald, un fabricante alemán de equipos de telecomunicaciones. Lo que les llamó la atención fue un servicio anunciado en el que Auerswald pudo restablecer la contraseña administrativa de un cliente bloqueado fuera de su equipo. Esta es la puerta trasera de un libro de texto y definitivamente una investigación motivada.

Si tan solo hubiera una puerta trasera así: https://xkcd.com/806/

Su enfoque, en lugar de atacar el hardware directamente, fue capturar el último paquete de firmware del sitio web de Auerswald y analizarlo. Uso del file, gunzip, y dumpimage las herramientas les dieron el sistema de archivos raíz que necesitaban. Trabajando a través de la red de archivos de configuración, se establecieron en el servidor web binario que probablemente contenía la puerta trasera para restablecer la contraseña. Solo una nota, es muy típico que los dispositivos integrados incluyan toda su interfaz de usuario y lógica de configuración en un solo binario httpd.

Dado un binario, recurrieron a lo que rápidamente se convirtió en la herramienta favorita de los investigadores de seguridad en todas partes, Ghidra. Tenían una sugerencia más, el usuario "sub-administrador", así que buscaron esa cadena usando Ghidra. Paydirt. Pasando funciones, el nombre de usuario duro "Schandelah" estaba allí. Se ha investigado un poco más la función de contraseña. Para cada uno de estos PBX, la contraseña de la puerta trasera son los primeros 7 caracteres del hash MD5 de, el número de serie de la unidad + "r2d2" + la fecha actual.

Solo por diversión, los investigadores utilizaron Ghidra para buscar otros usos de la función de contraseña inversa. Como resultado, si se especifica el usuario administrador y la contraseña no coincide con la contraseña configurada por el usuario, se compara con este algoritmo. ¿Si coincide? Actualmente está conectado como administrador de hardware. Obviamente, esto es más útil que restablecer la contraseña de administrador, ya que permite el acceso sin cambios obvios en el sistema. El artículo completo es un gran tutorial sobre el uso de Ghidra para este tipo de investigación.

Auerswald rápidamente lanzó cambios de firmware para corregir los problemas identificados. Una puerta trasera como esta, que se revela públicamente, no es ni mucho menos la mina terrestre legal y ética como algunas de las otras que hemos discutido aquí. Todavía hay un problema con la implementación: el restablecimiento de la contraseña también debe restablecer el dispositivo a la configuración de fábrica y eliminar los datos del usuario. Cualquier cosa menos invita a una divulgación significativa de datos.

SAM falso

Esta vulnerabilidad para aumentar los privilegios de Windows Active Directory es fascinante debido a su simplicidad. Es una combinación de CVE-2021-42287 y CVE-2021-42278. Windows Active Directory tiene dos tipos diferentes de cuentas, cuentas de usuario y cuentas de máquina. Las cuentas de máquina se utilizan para incorporar hardware específico al dominio y, por lo general, terminan con el dólar (MyMachine1 $). De forma predeterminada, un usuario puede crear cuentas de máquina, así como cambiar el nombre de esas cuentas. El primer problema es que un usuario puede crear y luego cambiar el nombre de una cuenta de máquina, así como un controlador de dominio, solo sin ese dólar final. Por ejemplo, podría crear MyMachine1$, luego cámbiele el nombre a DomainController1. DomainController1$ seguiría existiendo y el dominio las consideraría cuentas de máquina independientes.

Los dominios de Windows modernos usan Kerberos bajo el capó, y Kerberos usa el paradigma de tickets. Una cuenta puede solicitar un Ticket Granting Ticket (TGT), que actúa como un token de autenticación temporal. Piense en ello como un reemplazo de contraseña que se puede enviar automáticamente con las solicitudes. El ataque consiste en solicitar TGT para la cuenta de la máquina renombrada y luego cambiar el nombre de esa cuenta nuevamente, de regreso a MyMachine1. La clave es que el atacante todavía tiene un ticket válido para el DomainController1 cuenta, aunque ya no existe una cuenta con ese nombre exacto. Luego, el atacante solicita su clave al Centro de distribución de claves (KDC) utilizando este TGT. El KDC se da cuenta de que la cuenta solicitante no existe, y amablemente agrega el signo de dólar y vuelve a verificar. Consulte el TGT válido para DomainController1y devuelve una clave de sesión que autoriza al atacante como DomainController1$, que resulta ser una cuenta de administración de dominio.

Dolor de cromo envejecido

Decimos que no obtuvimos Windows 9 porque se escribieron demasiadas aplicaciones antiguas con expresiones regulares que evitarían su ejecución, quejándonos de que la aplicación no funcionará en Windows 95 o 98. Chrome está tratando de evitar un problema similar, como Google los desarrolladores ven la versión 100 en el horizonte. Este tipo de mordió un navegador antes, especialmente cuando Opera lanzó la versión 10, rompiendo aún más la cadena de usuario-agente en el proceso. Fox también está involucrado en la diversión, y los desarrolladores de ambos navegadores tienen una solicitud tuya: navega por la web con una cadena de un agente de usuario falso y hazles saber qué está roto como resultado de la versión 100. Sería bueno. una oportunidad para probar sus propios sitios web también. Háganos saber si ve algún resultado particularmente extraño.

Marco Navarro
Marco Navarro

Deja una respuesta

Tu dirección de correo electrónico no será publicada.