El Centro Nacional de Seguridad Cibernética (NCSC) del Reino Unido ha publicado un análisis de un malware de Linux llamado “Pigmy Goat” creado para dispositivos de firewall Sophos XG como parte de ataques recientemente revelados por actores de amenazas chinos.
La semana pasada, Sophos publicó una serie de informes apodado “Cuenca del Pacífico“eso detalló los ataques de cinco años de los actores de amenazas chinos en dispositivos de red de borde.
Uno de los malware personalizados utilizados en estos ataques es un rootkit que se hizo pasar por convenciones de nombres de archivos de productos de Sophos.
El malware, que está diseñado para comprometer los dispositivos de red, presenta mecanismos avanzados de persistencia, evasión y acceso remoto y tiene una estructura de código y rutas de ejecución bastante complejas.
Aunque el Informe NCSC no atribuye la actividad observada a actores de amenazas conocidos, subraya técnicas, tácticas y procedimientos similares (TTP) al malware “Castletap”, que Mandiant ha asociado con un actor de estado-nación chino.
Sophos también ha revelado el mismo malware en su Informe de la Cuenca del Pacífico”, afirmando que el rootkit se usó en ataques de 2022 vinculados a un actor de amenazas chino conocido como “Tstark.”
“X-Ops identificó dos copias de libsophos.so, ambas implementadas usando CVE-2022-1040 — una en un dispositivo gubernamental de alto nivel y la otra en un socio tecnológico en el mismo departamento gubernamental”, compartió Sophos.
Una cabra en el firewall
El malware ‘Pygmy Goat’ es un objeto compartido ELF x86-32 (‘libsophos.so’) que proporciona a los actores de amenazas acceso de puerta trasera a dispositivos de red basados en Linux como los firewalls Sophos XG.
Utiliza la variable de entorno LD_PRELOAD para cargar su carga útil en el demonio SSH (sshd), lo que le permite conectarse a las funciones del demonio y anular la función accept, que procesa las conexiones entrantes.
Pygmy Goat monitorea el tráfico SSH para una secuencia específica de “bytes mágicos” en los primeros 23 bytes de cada paquete.
Una vez que se encuentra esa secuencia, la conexión se identifica como una sesión de puerta trasera, y el malware la redirige a un socket interno de Unix (/tmp/.sshd.ipc) para establecer comunicación con su Comando y Control (C2).
El malware también escucha en un socket ICMP sin procesar, esperando paquetes con una carga útil cifrada en AES que contiene información de IP y puerto para la comunicación C2, lo que desencadena un intento de conexión a través de TLS.
Descripción general del intercambio basado en ICMP
Fuente: NCSC
Pygmy Goat se comunica con el C2 a través de TLS, utilizando un certificado incrustado que imita la CA “FortiGate” de Fortinet, una cobertura potencial para mezclarse en entornos de red donde los dispositivos Fortinet son comunes.
Cuando se establece una conexión SSH, se activa un falso apretón de manos con respuestas preestablecidas para crear una imagen falsa de legitimidad en los monitores de red.
El servidor C2 puede enviar comandos de Pygmy Goat para su ejecución en el dispositivo, incluyendo lo siguiente:
- Abra un shell /bin/sh o /bin/csh.
- Comience a capturar el tráfico de red a través de libpcap, reenviando los resultados a C2.
- Administre tareas cron usando BusyBox para programar actividades cuando el actor no está conectado activamente.
- Utilice el kit de herramientas de código abierto EarthWorm para establecer un proxy inverso SOCKS5, lo que permite que el tráfico C2 atraviese la red sin ser visto.
Detección y defensa
El informe de NCSC contiene hashes de archivos y reglas de YARA y Snort que detectan las secuencias de bytes mágicos y el falso apretón de manos SSH, por lo que los defensores pueden usarlas para detectar la actividad de Pygmy Goat desde el principio.
Además, las comprobaciones manuales de /lib/libsophos.so, /tmp/.sshd.ipc, /tmp/.fgmon_cli.ipc, /var/run/sshd.pid y /var/run/goat.pid pueden revelar una infección.
También es aconsejable configurar el monitoreo de cargas útiles cifradas en paquetes ICMP y el uso de ‘LD_PRELOAD’ en el entorno del proceso ‘ssdh’, que es un comportamiento inusual que puede indicar la actividad de Pygmy Goat.
Fuente: bleepingcomputer.com