Articles

Una visión general de los ataques dirigidos y de las APT en Linux

Tal vez no sea sorprendente que se haya escrito mucho sobre los ataques dirigidos a los sistemas Windows. Windows es, debido a su popularidad, la plataforma para la que se descubren más herramientas de ataque APT. Al mismo tiempo, existe la opinión generalizada de que Linux es un sistema operativo seguro por defecto que no es susceptible de sufrir código malicioso. Es cierto que Linux no se ha enfrentado a la avalancha de virus, gusanos y troyanos a los que se han enfrentado los usuarios de sistemas Windows a lo largo de los años. Sin embargo, no cabe duda de que hay programas maliciosos para Linux, como puertas traseras PHP, rootkits y código de explotación. Además, las cifras pueden ser engañosas. La importancia estratégica de los servidores con Linux los convierte en un objetivo atractivo para los atacantes de todo tipo. Si un atacante es capaz de comprometer un servidor que ejecuta Linux, no sólo obtiene acceso a los datos almacenados en el servidor, sino que también puede dirigirse a los puntos finales conectados a él que ejecutan Windows o macOS, por ejemplo, a través de un drive-by download. Además, es más probable que los ordenadores con Linux estén desprotegidos, por lo que un ataque de este tipo podría pasar desapercibido. Cuando se informó por primera vez de las vulnerabilidades Heartbleed y Shellshock en 2014, dos de las principales preocupaciones eran que los servidores Linux comprometidos podrían convertirse en la puerta de entrada de un atacante a una red corporativa y podrían dar a un atacante acceso a datos corporativos sensibles.

El Equipo de Investigación y Análisis Global (GReAT) de Kaspersky publica resúmenes periódicos de la actividad de las amenazas persistentes avanzadas (APT), basándose en la investigación de inteligencia de amenazas que se discute con mayor detalle en nuestros informes APT privados. En este informe, nos centramos en el ataque a los recursos de Linux por parte de los actores de las amenazas APT.

Los lectores que quieran saber más sobre nuestros informes de inteligencia o solicitar más información sobre un informe específico pueden ponerse en contacto con [email protected].

Barium

La primera vez que escribimos sobre el grupo Winnti APT (también conocido como APT41 o Barium) fue en 2013, cuando atacaban principalmente a empresas de juegos para obtener beneficios económicos directos. Mientras tanto, crecieron sus operaciones, desarrollaron toneladas de nuevas herramientas y fueron a por objetivos mucho más complejos. MESSAGETAP es un malware para Linux utilizado por este grupo para interceptar selectivamente los mensajes SMS de la infraestructura de los operadores de telecomunicaciones. Según FireEye, el grupo desplegó este malware en los sistemas de pasarela de SMS como parte de sus operaciones para infiltrarse en los ISP y las empresas de telecomunicaciones con el fin de construir una red de vigilancia.

Recientemente, descubrimos otra herramienta sospechosa de Barium/APT41, escrita en el lenguaje de programación Go (también conocido como Golang) que implementa una herramienta dinámica de corrupción de paquetes/ataque a la red controlada por C2 para máquinas Linux. Aunque no está 100% claro si se trata de una herramienta desarrollada para tareas de administración de sistemas o si también forma parte del conjunto de herramientas de APT41, el hecho de que la funcionalidad que ofrece también se puede conseguir a través de otras herramientas de gestión de sistemas sugiere que su propósito puede no ser legítimo. Además, su nombre en el disco es bastante genérico y no está relacionado con su funcionalidad, lo que sugiere de nuevo que es potencialmente una herramienta encubierta utilizada para llevar a cabo ciertos tipos de ataques destructivos. Se pueden encontrar más detalles sobre esta herramienta en nuestro informe privado «Sospechosa herramienta de control de red de Barium en GO para Linux».

Cloud Snooper

En febrero de 2020, Sophos publicó un informe en el que se describía un conjunto de herramientas maliciosas que atribuye a un actor de amenazas previamente desconocido llamado Cloud Snooper. La pieza central es un rootkit del kernel de Linux orientado al servidor que engancha las funciones de control de tráfico del filtro de red para permitir comunicaciones C2 (comando y control) encubiertas que atraviesan el cortafuegos. Hemos analizado y descrito el backdoor que acompaña al rootkit en la zona de usuario, apodado «Snoopy», y hemos sido capaces de diseñar métodos de detección y escaneo para identificar el rootkit a escala. También descubrimos más muestras, así como servidores dirigidos en Asia. Creemos que este conjunto de herramientas evolucionado podría haber estado en desarrollo desde al menos 2016.

Equation

Descubrimos al grupo Equation en 2015. Se trata de un actor de amenazas muy sofisticado que ha participado en múltiples operaciones de CNE (explotación de redes informáticas) que se remontan a 2001, y quizás ya a 1996. Durante muchos años este actor de amenazas interactuó o trabajó junto con otros poderosos grupos APT, para proyectos como Stuxnet y Flame. El grupo cuenta con un potente arsenal de implantes. Entre los que encontramos: ‘EQUATIONLASER’, ‘EQUATIONDRUG’, ‘DOUBLEFANTASY’, ‘TRIPLEFANTASY’, ‘FANNY’ y ‘GRAYFISH’. Las innovaciones del grupo Equation no se limitan a la plataforma Windows. La base de código del grupo, compatible con POSIX, permite desarrollos paralelos en otras plataformas. En 2015, nos encontramos con el malware en fase inicial DOUBLEFANTASY para Linux. Este implante recopila información y credenciales del sistema y proporciona acceso genérico a un ordenador infectado. Dado el papel que desempeña este módulo en el ciclo de vida de la infección, sugeriría la presencia de implantes análogos en etapas posteriores, más sofisticados, aunque no pudimos encontrar ninguno.

HackingTeam

HackingTeam era una empresa italiana de tecnología de la información que desarrollaba y vendía software de intrusión y el llamado «software de vigilancia legal» a gobiernos, agencias policiales y empresas de todo el mundo. Por desgracia para ellos, fueron hackeados y sufrieron una violación de datos en 2015, a manos del activista conocido como Phineas Phisher. La posterior filtración de 400 GB de datos robados de la empresa, incluido el código fuente y la información de los clientes, permitió que estas herramientas fueran adquiridas, adaptadas y utilizadas por actores de amenazas de todo el mundo, como DancingSalome (alias Callisto). Las herramientas filtradas incluían un exploit de día cero para Adobe Flash (CVE-2015-5119), así como sofisticadas plataformas capaces de proporcionar acceso remoto, registro de teclas, grabación y exfiltración de información general y, quizás lo más notable, la capacidad de recuperar fotogramas de audio y vídeo de Skype directamente de la memoria, saltándose el cifrado de flujos. El malware RCS (Sistema de Control Remoto) (también conocido como Galileo, Da Vinci, Korablin, Morcut y Crisis) incluye múltiples componentes, incluyendo agentes de escritorio para Windows, macOS y, tal vez no sea sorprendente… Linux.

Lazarus

A finales de 2018, descubrimos un marco malicioso previamente desconocido que llamamos MATA internamente. Este marco se utilizó para atacar a empresas comerciales en Corea, India, Alemania y Polonia. Aunque no pudimos encontrar solapamientos de código con ningún otro actor conocido, el motor de Atribución de Amenazas de Kaspersky mostró similitudes de código con Manuscrypt, un malware complejo utilizado por Lazarus (también conocido como Hidden Cobra). Este marco, al igual que el malware anterior desarrollado por Lazarus, incluía una puerta trasera para Windows. Sin embargo, también encontramos una variante para Linux que creemos que fue diseñada para dispositivos de red.

En junio de 2020, analizamos nuevas muestras de macOS vinculadas a las campañas Lazarus Operation AppleJeus y TangoDaiwbo, utilizadas en ataques financieros y de espionaje. Las muestras se habían subido a VirusTotal. Los archivos subidos también incluían una variante de malware para Linux que incluía una funcionalidad similar a la del malware TangoDaiwbo para macOS. Estas muestras confirman un hecho que ya habíamos destacado dos años antes: que el grupo estaba desarrollando activamente malware no relacionado con Windows.

Sofacy

Sofacy (también conocido como APT28, Fancy Bear, STRONTIUM, Sednit y Tsar Team) es un actor de amenazas APT muy activo y prolífico. Desde su gran despliegue de días cero hasta su innovador y amplio conjunto de malware, Sofacy es uno de los principales grupos que monitorizamos. Entre las herramientas del arsenal del grupo se encuentra SPLM (también conocido como CHOPSTICK y XAgent), una herramienta de segunda fase utilizada selectivamente contra objetivos de todo el mundo. A lo largo de los años, Sofacy ha desarrollado módulos para varias plataformas, incluyendo, en 2016, módulos para Linux, detectados como «Fysbis». Los artefactos consistentes vistos a lo largo de los años y a través de Windows, macOS, iOS y Linux sugieren que los mismos desarrolladores, o un pequeño equipo central, están modificando y manteniendo el código.

Los Duques

Los Duques es un sofisticado actor de amenazas que fue documentado por primera vez por nosotros en 2013, pero cuyas herramientas han sido utilizadas en ataques que se remontan a 2008. El grupo es responsable de ataques contra objetivos en Chechenia, Ucrania y Georgia, así como contra gobiernos y ONG occidentales, la OTAN y particulares; se cree que el grupo está detrás del hackeo del Congreso Nacional Democrático en 2016. El conjunto de herramientas de los Dukes incluye un amplio conjunto de malware que implementa una funcionalidad similar pero codificada en varios lenguajes de programación diferentes. El malware y las campañas del grupo incluyen PinchDuke, GeminiDuke, CosmicDuke, MiniDuke, CozyDuke, OnionDuke, SeaDuke, HammerDuke y CloudDuke. Al menos uno de ellos, SeaDuke, incluye una variante para Linux.

Los Lamberts

Los Lamberts son un grupo de actores de amenazas muy sofisticado del que se sabe que posee un enorme arsenal de malware, que incluye puertas traseras pasivas impulsadas por la red, varias generaciones de puertas traseras modulares, herramientas de recolección y wipers para llevar a cabo ataques destructivos. Hemos creado un esquema de colores para distinguir las distintas herramientas e implantes utilizados contra diferentes víctimas en todo el mundo.

Línea de tiempo del descubrimiento de Lamberts

En 2017, publicamos una visión general de la familia Lamberts; y más actualizaciones (GoldLambert, SilverLambert, RedLambert, BrownLambert) están disponibles para los clientes de nuestros informes de inteligencia de amenazas. El enfoque de las diversas variantes de Lamberts es definitivamente Windows. Sin embargo, las firmas que creamos para Green Lambert para Windows también se activaron en una variante de Green Lambert para macOS que era funcionalmente similar a la versión de Windows. Además, también identificamos muestras del backdoor SilverLambert compilado tanto para Windows como para Linux.

El backdoor Tsunami

Tsunami (también conocido como Kaiten) es un backdoor UNIX utilizado por múltiples actores de amenazas desde que se vio por primera vez en la naturaleza en 2002. El código fuente se hizo público hace algunos años; y ahora hay más de 70 variantes. El código fuente se compila sin problemas en una amplia gama de dispositivos embebidos; y hay versiones para ARM, MIPS, Sparc y Cisco 4500/PowerPC. Tsunami sigue siendo una amenaza para los routers basados en Linux, los DVR y el creciente número de dispositivos IoT (Internet de las cosas). En 2016, se utilizó una variante de Tsunami en el hackeo de Linux Mint, donde un actor de amenazas desconocido comprometió las ISO de la distribución de Linux Mint para incluir una puerta trasera. También observamos el uso del backdoor Tsunami para atacar quirúrgicamente a varios usuarios de criptomonedas en Linux.

Turla

Turla (también conocido como Uroboros, Venomous Bear y Waterbug) es un prolífico grupo de habla rusa conocido por sus tácticas de exfiltración encubiertas, como el uso de conexiones satelitales secuestradas, el water-holing de sitios web gubernamentales, backdoors de canales encubiertos, rootkits y tácticas de engaño. Este actor de amenazas, al igual que otros grupos APT, ha realizado cambios significativos en su conjunto de herramientas a lo largo de los años. Hasta 2014, todas las muestras de malware utilizadas por Turla que habíamos visto estaban diseñadas para versiones de 32 o 64 bits de Windows.

Después, en diciembre de 2014, publicamos nuestro informe sobre Penguin Turla, un componente de Linux en el arsenal de Turla. Se trata de un backdoor sigiloso que no requería privilegios elevados, es decir, derechos de administrador o de root. Incluso si alguien con acceso limitado al sistema lo lanza, el backdoor puede interceptar paquetes entrantes y ejecutar comandos de los atacantes en el sistema mientras mantiene el sigilo. También es bastante difícil de descubrir, por lo que si se instala en un servidor comprometido, podría pasar desapercibido durante mucho tiempo. Otras investigaciones sobre Penguin Turla revelaron que sus raíces se remontan a la operación Moonlight Maze de mediados de los años noventa. En mayo de este año, los investigadores de Leonardo publicaron un informe sobre Penguin_x64, una variante de la puerta trasera de Linux Penguin Turla no documentada hasta entonces. Basándonos en este informe, generamos sondas de red que detectan hosts infectados con Penquin_x64 a escala, lo que nos permitió descubrir un par de docenas de servidores infectados en Europa y Estados Unidos, tan recientes como julio de 2020. Creemos que, siguiendo la documentación pública de las herramientas de GNU/Linux, Turla puede haber estado reutilizando Penguin para llevar a cabo operaciones distintas de la recopilación de inteligencia tradicional.

Dos velas basura

En enero de 2020, se descubrió un pozo de agua que utilizaba una cadena de exploits remotos completa de iOS para desplegar un implante con muchas funciones llamado LightSpy. El sitio parece haber sido diseñado para dirigirse a los usuarios de Hong Kong, basándose en el contenido de la página de destino. Por el momento, hasta que podamos vincular la campaña a un grupo conocido, hemos dado el nombre de Two-Sail Junk al actor de la amenaza detrás de este implante. Sin embargo, aunque nuestro informe público se centraba en el implante para iOS, el proyecto es más amplio de lo que se pensaba, ya que admite un implante para Android, y probablemente soporte implantes para Windows, Linux y MacOS.

WellMess

En marzo de 2020, comenzamos a rastrear activamente nuevos servidores C2 asociados con el malware comúnmente conocido como WellMess, lo que indica una nueva ola de actividad potencialmente masiva. Este malware fue documentado inicialmente por JPCERT en julio de 2018 y ha estado esporádicamente activo desde entonces. Hubo rumores que insinúan una posible conexión con CozyDuke (alias APT29), junto con la especulación de que la actividad actual se centró en la industria de la salud, aunque no pudimos verificar ninguna de las dos afirmaciones. WellMess es un troyano de acceso remoto, escrito en .NET y Go (Golang), compilado de forma cruzada para ser compatible tanto con Windows como con Linux.

WildNeutron

La primera vez que publicamos sobre WildNeutron fue en 2015, junto a nuestros compañeros de Symantec, que lo llaman Morpho o Butterfly. Este grupo, que saltó a la fama con sus ataques de 2012-2013 a Twitter, Microsoft, Apple y Facebook, es uno de los más escurridizos, misteriosos y dinámicos que hemos visto. Su arsenal incluía muchas herramientas interesantes e innovadoras, como puertas traseras LSA o plugins IIS, junto con un despliegue físico y basado en el día cero. Como es lógico, en varios ataques conocidos WildNeutron también utilizó un backdoor de Linux personalizado.

Zebrocy

Zebrocy es un malware personalizado al que hemos seguido la pista desde 2015. El grupo que utiliza este malware comenzó como un subconjunto de Sofacy, pero también tiene similitudes y solapamientos con otros grupos APT. El grupo ha desarrollado malware en varios lenguajes, como Delphi, AutoIT, .NET, C#, PowerShell y Go. Zebrocy se ha dirigido principalmente a organizaciones relacionadas con el gobierno de Asia Central, tanto en el país como en lugares remotos. El grupo hace un amplio uso del spear phishing para comprometer los puntos finales de Windows. Sin embargo, sus puertas traseras están configuradas para comunicarse directamente con los servidores web asignados por IP a través del puerto 80; y el grupo parece preferir Linux para esta parte de su infraestructura – específicamente, Apache 2.4.10 corriendo en Debian Linux.

Recomendaciones para proteger los sistemas Linux

Una de las principales razones por las que los sistemas Linux quedan desprotegidos es una falsa sensación de seguridad por usar Linux en lugar del mucho más popular (y más dirigido) Windows. Sin embargo, esperamos que todos los puntos mencionados sean lo suficientemente convincentes para que empiece a asegurar sus máquinas basadas en Linux de una manera seria.

La primera recomendación es mantener una lista de fuentes de confianza de su software. Piensa en esto de la misma manera que el enfoque recomendado para las aplicaciones de Android o iOS: sólo instalar aplicaciones de los repositorios oficiales. En el mundo de Linux gozamos de más libertad: por ejemplo, aunque uses Ubuntu, no estás restringido sólo al repositorio propio de Canonical. Cualquier archivo .DEB, o incluso el código fuente de una aplicación desde GitHub, está a tu servicio. Pero por favor, elige estas fuentes sabiamente. No sigas ciegamente instrucciones como «Ejecuta este script desde nuestro servidor para instalar»; o «curl https://install-url | sudo bash» – que es una pesadilla de seguridad.

Por favor, también ten en cuenta la forma segura de obtener aplicaciones desde estos repositorios de confianza. Sus canales para actualizar las apps tienen que estar encriptados usando protocolos HTTPS o SSH. Además de su confianza en las fuentes de software y su canal de entrega, es fundamental que las actualizaciones lleguen a tiempo. La mayoría de los sabores modernos de Linux son capaces de hacer esto por ti, pero un simple script cron te ayudaría a estar más protegido y a obtener todos los parches tan pronto como sean liberados por los desarrolladores.

Lo siguiente que recomendaríamos es comprobar la configuración relacionada con la red. Con comandos como «netstat -a» podrías filtrar todos los puertos abiertos innecesarios en tu host. Por favor, evite las aplicaciones de red que realmente no necesita o no utiliza para minimizar su huella de red. Además, sería muy recomendable configurar adecuadamente el cortafuegos de tu distribuidora Linux, para filtrar el tráfico y almacenar la actividad de red del host. También es una muy buena idea no conectarse directamente a la red, sino a través de NAT.

Para continuar con las reglas de seguridad relacionadas con la red, se recomienda proteger sus claves SSH almacenadas localmente (utilizadas para sus servicios de red) utilizando contraseñas al menos. En un modo más «paranoico» podrías incluso almacenar las claves en un almacenamiento externo protegido, como tokens de cualquier proveedor de confianza. En el lado del servidor de las conexiones, hoy en día no es tan difícil configurar la autenticación multifactor para las sesiones de SSH, como los mensajes al teléfono u otros mecanismos como las aplicaciones de autenticación.

Hasta ahora, nuestras recomendaciones han cubierto las fuentes de software, el canal de entrega de las aplicaciones, evitar la huella de red innecesaria y la protección de las claves de cifrado. Una idea más que recomendamos para monitorear las amenazas que no pudiste encontrar a nivel del sistema de archivos es mantener y analizar los registros de actividad de la red. Podría instalar y utilizar una escucha de red fuera de banda para supervisar y analizar de forma independiente las comunicaciones de red de sus sistemas Linux.

Como parte de su modelo de amenazas, debe considerar la posibilidad de que, a pesar de todas las medidas mencionadas, los atacantes puedan comprometer su protección. Piense en el siguiente paso de protección en términos de la persistencia de un atacante en el sistema. Probablemente harán cambios para poder iniciar su troyano automáticamente después de que el sistema se reinicie. Por lo tanto, es necesario supervisar regularmente los principales archivos de configuración, así como la integridad de los binarios del sistema, por si acaso los virus de archivos. Los registros mencionados anteriormente para la supervisión de la comunicación de red, es totalmente aplicable aquí: el sistema de auditoría de Linux recoge las llamadas al sistema y los registros de acceso a los archivos. Para la misma tarea se pueden utilizar demonios adicionales como «osquery». . Cualquier archivo, URL y dirección IP sospechosos pueden comprobarse en el Portal de Inteligencia de Amenazas de Kaspersky.

La seguridad física de los dispositivos también es importante. No importa la atención que preste al endurecimiento a nivel de red y sistema si su portátil acaba en manos de un atacante y no ha tomado medidas para protegerlo de este vector de ataque. Deberías considerar el cifrado completo del disco y los mecanismos de arranque seguro para la seguridad física. Un enfoque más parecido al de un espía sería colocar cinta de seguridad a prueba de manipulaciones en su hardware más crítico.

Una solución dedicada con seguridad de Linux puede simplificar la tarea de protección: la protección contra amenazas web detecta los sitios web maliciosos y de phishing; la protección contra amenazas de red detecta los ataques de red en el tráfico entrante; el análisis de comportamiento detecta la actividad maliciosa, mientras que el control de dispositivos permite la gestión de los dispositivos conectados y el acceso a los mismos.

Nuestra recomendación final está relacionada con Docker. No se trata de una amenaza teórica: la infección de contenedores es un problema muy real. La contenedorización no proporciona seguridad por sí misma. Algunos contenedores están bastante aislados del host, pero no todos: en ellos existen interfaces de red y de sistema de archivos y, en la mayoría de los casos, hay puentes entre el mundo físico y el de los contenedores.

Por lo tanto, se puede utilizar una solución de seguridad que permita añadir seguridad al proceso de desarrollo. Kaspersky Hybrid Cloud Security incluye la integración con plataformas CI/CD, como Jenkins, a través de un script para escanear las imágenes Docker en busca de elementos maliciosos en diferentes etapas.

Para prevenir los ataques a la cadena de suministro, se puede utilizar el escaneo en acceso (OAS) y el escaneo bajo demanda (ODS) de contenedores, imágenes y repositorios locales y remotos. La monitorización del espacio de nombres, el control del alcance del escaneo basado en máscaras flexibles y la capacidad de escanear diferentes capas de contenedores ayudan a aplicar las mejores prácticas de desarrollo seguro.

Hemos dividido esta lista de recomendaciones en secciones lógicas. Ten en cuenta que, además de aplicar todas las medidas que hemos mencionado, también debes auditar y comprobar todos los registros generados y cualquier otro mensaje con regularidad. De lo contrario, podrías pasar por alto señales de intrusión. Una última idea, para los entusiastas de la seguridad, es adoptar medidas activas: realizar pruebas de penetración en el sistema de vez en cuando.

Resumen de recomendaciones:

  • Mantenga una lista de fuentes de software de confianza, evite utilizar canales de actualización no cifrados.
  • No ejecute binarios y scripts de fuentes no confiables. Una forma muy anunciada de instalar programas con comandos como «curl https://install-url | sudo bash» es una pesadilla para la seguridad.
  • Asegúrese de que su procedimiento de actualización es efectivo. Configure las actualizaciones de seguridad automáticas.
  • Dedique tiempo a configurar su cortafuegos correctamente: asegúrese de que registra la actividad de la red, bloquee todos los puertos que no utilice, minimice su huella en la red.
  • Utilice la autenticación SSH basada en claves, proteja las claves con contraseñas.
  • Utilice 2FA y almacene las claves sensibles en dispositivos token externos (por ejemplo, Yubikey).
  • Utilice una escucha de red fuera de banda para supervisar y analizar de forma independiente las comunicaciones de red de sus sistemas Linux.
  • Mantenga la integridad de los archivos ejecutables del sistema. Revise los cambios en los archivos de configuración con regularidad.
  • Esté preparado para los ataques internos/físicos: utilice el cifrado completo del disco, el arranque seguro/de confianza y ponga cinta de seguridad a prueba de manipulaciones en su hardware crítico.
  • Audite el sistema, compruebe los registros en busca de indicadores de ataques.
  • Ejecute pruebas de penetración en su configuración de Linux.
  • Utilice una solución de seguridad dedicada para Linux con protección web y de red, así como funciones para la protección de DevOps.
    • .

Dejar una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *