Esta semana segura: Symbiote, Smart Locks y CosmicStrand

Symbiote es un rootkit de Linux particularmente desagradable, y tenemos el caso interesante de dos revisiones separadas publicadas esta semana. Primero, [CyberMasterV] desmantela una muestra muy temprana del malware. El objetivo principal de Symbiote parece ser capturar los inicios de sesión SSH, y esta versión lo hace conectando el sistema de Módulos de autenticación conectables (PAM) para capturar a los usuarios que inician sesión en la máquina en la que reside. También supervisa los archivos binarios SSH y SCP y detecta el terminal utilizado por estos archivos binarios, por lo que captura las credenciales salientes.

Todos estos datos se empaquetan como consultas de DNS y se reenvían al servidor de comando y control. "Fácil", le escucho decir, "simplemente bloquee el tráfico de DNS a cualquier lugar que no sea un proveedor de DNS de confianza". Es más inteligente que eso. Los datos están en forma de subdominios DNS válidos. En su totalidad es una consulta DNS a PacketNumber.MachineID.Data.px32.nss.atendimento-estilo[.]com, todo debidamente codificado para ser válido. Cada solicitud será para un nombre de host único, por lo que cada solicitud se reenvía al controlador de C&C, que también actúa como el solucionador de DNS autorizado para ese dominio. Podría ahorrar tiempo bloqueando (o al menos registrando) consultas de DNS muy largas.

Symbiote también reemplaza archivos y dispositivos típicos que examinarías para encontrar un problema potencial. Por ejemplo, /proc/net/tcp es donde el núcleo informa de las conexiones TCP abiertas. En una máquina infectada, el malware guarda una copia de este archivo, omitiendo convenientemente las conexiones resultantes de las infecciones. Symbiote tiene un gancho en fopen, por lo que cada vez que un proceso intenta leer esa ubicación, la lectura se redirige a la versión horneada, ocultando perfectamente el rootkit. Aparentemente, esta función de sigilo también se usa para ocultar otro malware de los mismos atacantes que pueden estar en la misma máquina.

Ahora veamos el segundo escaneo, un esfuerzo conjunto de BlackBerry e Intezer. Esto es de una muestra posterior de Symbiote, y hubo una evolución interesante. Lo más notable es que utiliza el filtro de paquetes de Berkeley (BPF) para ocultar su tráfico de las capturas de paquetes. Dado que los filtros BPF se ejecutan directamente en el kernel, esta es una técnica sigilosa muy poderosa. Symbiote incluso detecta una serie de ldd, que lo enumera como una biblioteca en ejecución. Esto también se desinfecta, lo que hace que Symbiote sea muy difícil de detectar. Debería ser posible utilizar la funcionalidad de rootkit de Symbiote en su contra, para la detección. Por ejemplo, uno de los nombres de archivo ocultos es apache2start. Debería ser posible tocar ese nombre de archivo y luego ejecutar ls en el directorio que debería contenerlo. Si el nuevo archivo aparece en la lista, probablemente esté bien. Si falta, es probable que el rootkit se esté ejecutando. Nos hemos puesto en contacto con los investigadores para que nos ayuden a confirmar esta sencilla técnica de detección, así que permanece atento a una posible actualización.

Cerraduras "inteligentes"

Nuevamente, cuando se trata de IoT, la S significa seguridad. La diversión comienza con un error clásico, no hacer realmente la verificación SSL. Entonces, el firmware se comunica con un servidor HTTPS para que funcione, pero aceptará cualquier certificado para esa conexión. El intermediario es mucho más fácil en este caso. Y esta postura de MitM combina bien con el siguiente problema que encontraron los investigadores de NCC Group, un desbordamiento de búfer en el análisis de JSON. Junte esos dos y, sentados en la misma red que el candado, su código se ejecuta en él.

Para la mayoría de nosotros, un atacante en la red interna, o incluso dedicado al IoT, ya es un desastre. Se ha descubierto otra cadena de ataque. La forma típica en que se instala esta cerradura es con un "destornillador" instalado en una puerta, físicamente inaccesible hasta que la puerta se desbloquea y se abre. La segunda mitad es el "teclado", la sala de cara al público donde se ingresa el código. En teoría, este teclado no debería estar respaldado por el hardware del llavero y solo debería transmitir las pulsaciones de teclas a través del enlace BLE. En la práctica, el teclado puede enviar una solicitud de desbloqueo sin el código y desbloquear la puerta.

Esto lleva al elemento final, puertos JTAG accesibles en el teclado. JTAG es una interfaz de depuración para dispositivos integrados, extremadamente útil para actualizar el firmware a dispositivos que de otro modo estarían bloqueados, así como para realizar la depuración en tiempo real. Es este último el que hace el trabajo aquí. Conéctese al puerto JTAG del teclado y recupere los datos de autenticación de la memoria. Luego usa otro dispositivo y...

Esta semana segura: Symbiote, Smart Locks y CosmicStrand

Symbiote es un rootkit de Linux particularmente desagradable, y tenemos el caso interesante de dos revisiones separadas publicadas esta semana. Primero, [CyberMasterV] desmantela una muestra muy temprana del malware. El objetivo principal de Symbiote parece ser capturar los inicios de sesión SSH, y esta versión lo hace conectando el sistema de Módulos de autenticación conectables (PAM) para capturar a los usuarios que inician sesión en la máquina en la que reside. También supervisa los archivos binarios SSH y SCP y detecta el terminal utilizado por estos archivos binarios, por lo que captura las credenciales salientes.

Todos estos datos se empaquetan como consultas de DNS y se reenvían al servidor de comando y control. "Fácil", le escucho decir, "simplemente bloquee el tráfico de DNS a cualquier lugar que no sea un proveedor de DNS de confianza". Es más inteligente que eso. Los datos están en forma de subdominios DNS válidos. En su totalidad es una consulta DNS a PacketNumber.MachineID.Data.px32.nss.atendimento-estilo[.]com, todo debidamente codificado para ser válido. Cada solicitud será para un nombre de host único, por lo que cada solicitud se reenvía al controlador de C&C, que también actúa como el solucionador de DNS autorizado para ese dominio. Podría ahorrar tiempo bloqueando (o al menos registrando) consultas de DNS muy largas.

Symbiote también reemplaza archivos y dispositivos típicos que examinarías para encontrar un problema potencial. Por ejemplo, /proc/net/tcp es donde el núcleo informa de las conexiones TCP abiertas. En una máquina infectada, el malware guarda una copia de este archivo, omitiendo convenientemente las conexiones resultantes de las infecciones. Symbiote tiene un gancho en fopen, por lo que cada vez que un proceso intenta leer esa ubicación, la lectura se redirige a la versión horneada, ocultando perfectamente el rootkit. Aparentemente, esta función de sigilo también se usa para ocultar otro malware de los mismos atacantes que pueden estar en la misma máquina.

Ahora veamos el segundo escaneo, un esfuerzo conjunto de BlackBerry e Intezer. Esto es de una muestra posterior de Symbiote, y hubo una evolución interesante. Lo más notable es que utiliza el filtro de paquetes de Berkeley (BPF) para ocultar su tráfico de las capturas de paquetes. Dado que los filtros BPF se ejecutan directamente en el kernel, esta es una técnica sigilosa muy poderosa. Symbiote incluso detecta una serie de ldd, que lo enumera como una biblioteca en ejecución. Esto también se desinfecta, lo que hace que Symbiote sea muy difícil de detectar. Debería ser posible utilizar la funcionalidad de rootkit de Symbiote en su contra, para la detección. Por ejemplo, uno de los nombres de archivo ocultos es apache2start. Debería ser posible tocar ese nombre de archivo y luego ejecutar ls en el directorio que debería contenerlo. Si el nuevo archivo aparece en la lista, probablemente esté bien. Si falta, es probable que el rootkit se esté ejecutando. Nos hemos puesto en contacto con los investigadores para que nos ayuden a confirmar esta sencilla técnica de detección, así que permanece atento a una posible actualización.

Cerraduras "inteligentes"

Nuevamente, cuando se trata de IoT, la S significa seguridad. La diversión comienza con un error clásico, no hacer realmente la verificación SSL. Entonces, el firmware se comunica con un servidor HTTPS para que funcione, pero aceptará cualquier certificado para esa conexión. El intermediario es mucho más fácil en este caso. Y esta postura de MitM combina bien con el siguiente problema que encontraron los investigadores de NCC Group, un desbordamiento de búfer en el análisis de JSON. Junte esos dos y, sentados en la misma red que el candado, su código se ejecuta en él.

Para la mayoría de nosotros, un atacante en la red interna, o incluso dedicado al IoT, ya es un desastre. Se ha descubierto otra cadena de ataque. La forma típica en que se instala esta cerradura es con un "destornillador" instalado en una puerta, físicamente inaccesible hasta que la puerta se desbloquea y se abre. La segunda mitad es el "teclado", la sala de cara al público donde se ingresa el código. En teoría, este teclado no debería estar respaldado por el hardware del llavero y solo debería transmitir las pulsaciones de teclas a través del enlace BLE. En la práctica, el teclado puede enviar una solicitud de desbloqueo sin el código y desbloquear la puerta.

Esto lleva al elemento final, puertos JTAG accesibles en el teclado. JTAG es una interfaz de depuración para dispositivos integrados, extremadamente útil para actualizar el firmware a dispositivos que de otro modo estarían bloqueados, así como para realizar la depuración en tiempo real. Es este último el que hace el trabajo aquí. Conéctese al puerto JTAG del teclado y recupere los datos de autenticación de la memoria. Luego usa otro dispositivo y...

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow