BPFdoor: malware de Linux que pasa por alto los firewalls para el acceso remoto

Iniciado por AXCESS, Mayo 12, 2022, 07:24:51 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Un malware de puerta trasera (backdoor) recientemente descubierto llamado BPFdoor ha estado apuntando sigilosamente a los sistemas Linux y Solaris sin ser notado durante más de cinco años.

BPFdoor es una puerta trasera de Linux/Unix que permite a los actores de amenazas conectarse de forma remota a un shell de Linux para obtener acceso completo a un dispositivo comprometido.

El malware no necesita abrir puertos, no puede ser detenido por firewalls y puede responder a comandos desde cualquier dirección IP en la web, lo que lo convierte en la herramienta ideal para el espionaje corporativo y los ataques persistentes.

Analizando paquetes 'mágicos'

BPFdoor es una puerta trasera pasiva, lo que significa que puede escuchar en uno o más puertos los paquetes entrantes de uno o más hosts, que los atacantes pueden usar para enviar comandos de forma remota a la red comprometida.

El malware utiliza un rastreador Berkeley Packet Filter (el BPF en el nombre de la puerta trasera), que funciona en la interfaz de la capa de red y puede ver todo el tráfico de la red y enviar paquetes de envío a cualquier destino.

Debido a su posicionamiento en un nivel tan bajo, BPF no cumple con ninguna regla de firewall.

Tiene versiones para sistemas Linux y Solaris SPARC, pero también podría ser portado a BSD.

El investigador de seguridad Kevin Beaumont, declaró que los operadores usan una contraseña "mágica" para controlar las acciones del implante.

BPFdoor analiza solo los paquetes ICMP, UDP y TCP, comprobándolos en busca de un valor de datos específico y también una contraseña para los dos últimos tipos de paquetes.

Lo que hace que BPFDoor se destaque es que puede monitorear cualquier puerto para el paquete mágico, incluso si esos puertos son utilizados por otros servicios legítimos, como servidores web, FTP o SSH.

Si los paquetes TCP y UDP tienen los datos "mágicos" correctos y una contraseña correcta, la puerta trasera entra en acción ejecutando un comando compatible, como configurar un enlace o un shell inverso.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Beaumont declaró que los paquetes ICMP no necesitan una contraseña, lo que le permitió escanear Internet para ejecutar implantes BPFdoor usando la función ping.

"La función de ping le permite especificar una dirección IP y un puerto para que responda, por lo que pude hacer que los implantes de las víctimas respondieran a una IP completamente diferente que yo controlaba" - Kevin Beaumont

El investigador pudo encontrar actividad de BPFdoor en redes de organizaciones en varias geografías, sobre todo en EE. UU., Corea del Sur, Hong Kong, Turquía, India, Vietnam y Myanmar.

Sorprendentemente, descubrió 11 servidores Speedtest infectados con BPFdoor. El investigador dijo que no está claro cómo se comprometieron estas máquinas, especialmente porque se ejecutan en un software de código cerrado.

Omitir el cortafuegos local

Rowland señala en un informe técnico completo sobre BPFdoor que el malware emplea algunas tácticas inteligentes contra la evasión:

    Reside en la memoria del sistema y despliega una acción anti-forense (borra el entorno del proceso, aunque sin éxito, ya que lo deja vacío)
    Carga un sniffer de Berkeley Packet Filter (BPF) que le permite trabajar frente a cualquier firewall que se ejecute localmente para ver los paquetes.
    Modifica las reglas de 'iptables' al recibir un paquete relevante para permitir la comunicación del atacante a través del firewall local
    Enmascara el binario bajo un nombre similar a un demonio común del sistema Linux
    Cambia el nombre y se ejecuta a sí mismo como /dev/shm/kdmtmpflush
    Cambia la fecha del binario (timestomping) al 30 de octubre de 2008, antes de eliminarlo

Rowland cree que una explicación para el control de tiempo, como una técnica anti-forense en este caso, podría ser que el atacante intente proteger el binario en caso de que falle su eliminación.

El investigador dice que el propósito de la fecha falsa podría ser ocultar el malware de una búsqueda en busca de nuevos archivos en el sistema.

Cambiar las reglas del firewall es de particular importancia porque permite a los atacantes comunicarse con la puerta trasera a través del tráfico que los firewalls no pueden marcar como sospechoso.

Rowland explica que cuando el host infectado recibe un paquete BPFdoor especial, el malware "generará una nueva instancia y cambiará las reglas locales de iptables para realizar una redirección desde el host solicitante al puerto shell".

"Por ejemplo, el implante puede redirigir todo el tráfico del atacante usando el puerto TCP 443 (web cifrada) al shell. Externamente, el tráfico parecerá tráfico TLS/SSL pero, de hecho, el atacante está interactuando con un shell raíz remoto en el sistema" - Craig Rowland, Sandfly Security

Para aclarar aún más, Rowland dice que para un shell local, el malware modifica la configuración de 'iptables' para redirigir todo el tráfico proveniente del atacante a través de un puerto legítimo a un rango de puertos definido en el malware.

De esta manera, el atacante puede elegir una conexión sobre cualquier puerto porque se enrutaría al shell detrás del firewall.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Comandos y detección


Otro análisis técnico sobre BPFdoor de Tristan Pourcelot de la empresa de respuesta a incidentes e inteligencia de amenazas ExaTrack, señala que el malware viene con varios nombres codificados que coinciden con las cadenas de comandos dentro de los paquetes relevantes:

    justtryit, justrobot y justforfun para establecer un shell de enlace en los puertos 42391 a 42491
    socket o sockettcp para configurar un shell inverso a una dirección IP presente en el paquete

Parte de las técnicas de BPFdoor para evadir la detección es cambiar el nombre del binario para que aparezca como un demonio normal de Linux utilizando las siguientes opciones:

/sbin/udevd-d
/sbin/mingetty /dev/tty7
/usr/sbin/console-kit-daemon --no-daemon
hald-addon-acpi: escucha en la interfaz del núcleo acpi /proc/acpi/event
dbus-daemon --sistema
medio corredor
recogida -l -t fifo -u
avahi-daemon: ayudante de chroot
/sbin/auditoría -n
/usr/lib/systemd/systemd-journald

Pourcelot dice que el actor de amenazas actualizó BPFdoor regularmente, mejorando cada versión con diferentes nombres para comandos, procesos o archivos.

Por ejemplo, las variantes más nuevas del implante pasaron de usar palabras clave de comando a hashes MD5, probablemente en un intento de evitar la detección trivial.

Hay al menos 21 versiones de BPFdoor actualmente detectadas en la plataforma de escaneo Virus Total, las primeras enviadas en agosto de 2018.

Si bien la tasa de detección de este implante mejoró, especialmente después de que Beaumont, Rowland y Pourcelot publicaran sus hallazgos, el malware se volvió prácticamente invisible durante mucho tiempo.

Una variante de BPFdoor para Solaris de 2019 pasó desapercibida hasta al menos el 7 de mayo. Hoy, 28 motores antivirus la marcan como maliciosa.

En algunos casos, las detecciones son genéricas y marcan incorrectamente la variante de Solaris anterior como malware de Linux, aunque no es un binario de Linux.

Tristan Pourcelot dice que, si bien BPFdoor no usa técnicas novedosas o complicadas, se las arregló para mantenerse sigiloso durante un período prolongado.

Esto podría explicarse por el hecho de que la tecnología de monitoreo de malware no es tan común en entornos Linux como en Windows. Además, "los proveedores tienen una visibilidad significativamente menor", dijo Beaumont.

Craig Rowland está de acuerdo en que este es un gran problema. Incluso si existe un monitoreo, las personas no saben qué buscar o utilizan el enfoque incorrecto para encontrar malware de Linux.

El investigador nos dijo que algunos administradores usan hashes criptográficos para escanear el sistema en busca de malware o archivos maliciosos. Esto no funciona bien porque el cambio más pequeño en el archivo da como resultado un nuevo hash.

"Además, EDR [Detección y respuesta de punto final] quiere cargar agentes por todas partes y los agentes rompen Linux, por lo que a menudo no son una buena opción. Entonces, la gente vuela desnuda con Linux a menudo y suceden cosas como esta "- Craig Rowland, refiriéndose particularmente a los sistemas Linux más antiguos

Rowland dice que la búsqueda de BPFdoor es fácil, al menos para la versión de Linux que analizó, ya que sus tácticas muestran claramente que "son maliciosos listos para usar".

Florian Roth, el creador del escáner THOR APT de Nextron Systems, encontró el código fuente de una versión anterior de BPFdoor de 2018. El código ahora está disponible públicamente en Pastebin:

Red Menshen BPFDoor Source Code
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Fuente:
BleepingComputer
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta