/
Ciberresiliencia

Cargas útiles y balizas de malware: cómo comienzan las comunicaciones maliciosas

Comprender las balizas de malware y saber cómo bloquearlas puede ayudar a mantener su organización más segura. Una baliza, también conocida como carga útil, es un ejecutable o programa que se comunica con un ciberatacante a través de algún canal de comunicación. Desde el punto de vista del actor de amenazas, la administración de balizas es la base de su campaña maliciosa. Dependiendo del tipo y capacidad de una baliza, es el medio por el cual un actor de amenazas puede obtener una línea directa en su red, mantener esa línea de comunicaciones y llevar a cabo sus metas y objetivos ilegales.

Por ejemplo, el Ataque a la cadena de suministro de SolarWinds involucró a un actor de amenazas esquivo que usaba balizas o estadificación de carga útil. Como mostraron varios informes de análisis posteriores al incidente, se trataba de un ataque sofisticado y multietapa en el que inicialmente se utilizó el malware Sunspot para comprometer al proveedor. A continuación vino la puerta trasera Sunburst sobre los clientes del proveedor. Después de que esto se ejecutó con éxito, se utilizó para entregar el gotero Teardrop de solo memoria, seguido del cargador Raindrop y la baliza Cobalt Strike. Cada carga útil tenía un propósito único y un conjunto de capacidades.

Pasos comunes en una secuencia de ataque de malware

En los casos de actividad maliciosa en los que está involucrada alguna vulnerabilidad, ya sea usuario final o sistema, la secuencia de ataque suele tomar la siguiente ruta:

malware attack path

Es útil entender estas fases desde la perspectiva del actor de amenazas. Al aprender cómo los atacantes obtienen sus comunicaciones maliciosas para comando y control, también podemos construir una defensa contra ellos. Demos cada paso por separado.

Infraestructura del atacante

Del lado del atacante, habrá un oyente de comando y control para recibir y procesar las comunicaciones de todas las máquinas víctimas comprometidas por la carga útil correspondiente. El oyente estará soportado por servidores web, sistemas de correo, DNS, sistemas de alerta y servidores de ataque, que albergan las herramientas utilizadas en la campaña de amenazas.

Es probable que las propias comunicaciones del atacante fuera de su infraestructura sean anónimas, es decir, rebotadas a través de una serie de servidores proxy para ocultar su verdadera identidad. He aquí un ejemplo:

anonymous proxy

Para ataques más sofisticados, los actores de amenazas también pueden implementar infraestructuras distribuidas dedicadas a sus campañas específicas. Esto les permite crear o desmontar rápidamente la infraestructura en múltiples ubicaciones geográficas según sea necesario. Una parte importante de esta infraestructura es el Sistema de Nombres de Dominio (DNS). Un atacante puede aprovechar DNS para entregar comunicaciones maliciosas a su infraestructura, y también puede usar DNS para exfiltrar (es decir, robar) datos.

Junto con la configuración de la infraestructura probablemente estarán los recursos humanos responsables de planificar, implementar y administrar la campaña maliciosa. La mayoría de las campañas de amenazas cuentan con todo un equipo de personas e infraestructura detrás de ellas; es poco probable que sean un programa de una sola persona.

El siguiente desglose muestra un ejemplo de un equipo de campaña de ataque. Observe lo similar que es al equipo de una compañía típica de servicios de TI.

malicious campaign team

Para los actores de amenazas, el proceso de asegurar su propia infraestructura y al mismo tiempo evadir la detección en la red de víctimas se conoce como seguridad operacional. Los actores de amenazas sofisticados tienden a favorecer la alta seguridad operacional. Y para lograrlo, utilizarán una serie de técnicas de evasión y ofuscación.

Vulnerabilidad

Una vulnerabilidad es simplemente cualquier debilidad inherente en un sistema informático o tecnologías relacionadas que un actor de amenaza busca explotar. Esta vulnerabilidad podría derivarse del origen (el proveedor del equipo) o del destino (generalmente un usuario final). Por ejemplo, en 2017, la vulnerabilidad SMBv1 de Microsoft fue explotada con éxito por atacantes de ransomware a escala global. A continuación, se presenta un vistazo al informe detallado de esa vulnerabilidad:

smb CVE details

Una vez que se descubre una vulnerabilidad del sistema o programa, puede hacerse pública; en este caso, la vulnerabilidad recibe un número estándar CVE (vulnerabilidades y exposiciones comunes). O puede ser conocido solo por unos pocos privados, y sin ninguna corrección disponible (también conocida como a “día cero”). La fase de vulnerabilidad también puede referirse a vulnerabilidades más comunes del usuario final, generalmente aprovechadas con ingeniería social, como phishing y publicidad maliciosa. En esta etapa, el objetivo general del actor de amenazas es explotar la vulnerabilidad y convertirla en una oportunidad para un ataque exitoso.

Ataque o explote

La siguiente fase significativa en un ataque ocurre cuando el actor de amenazas obtiene acceso a algún fragmento de código que puede usar para aprovechar una vulnerabilidad mientras evita los controles de seguridad. Por ejemplo, al usar Metasploit Framework como servidor atacante, un actor de amenazas encontró tres exploits disponibles para la vulnerabilidad de Windows SMBv1, como se muestra aquí:

Metasploit SMB vulnerability search

Estas vulnerabilidades son del tipo aprovechado por los infames WannaCry y NotPetya. campañas de ransomware. Los exploits como estos a menudo contienen tanto el código de explotación para la vulnerabilidad como un pequeño código de carga útil para comunicaciones maliciosas.

Un exploit suele estar separado de la baliza o carga útil. Sin embargo, los dos comúnmente se juntan como shellcode. Una vez que el exploit obtiene acceso al sistema objetivo, cargará una pequeña baliza o carga útil que puede llamar al atacante para completar el ataque, un proceso conocido como etapa de carga útil.

Baliza o carga útil

Como se mencionó anteriormente, una baliza o carga útil es un ejecutable o programa que se comunica con el atacante a través de algún canal de comunicación. Esto puede estar protegido a través de HTTPS o usar un protocolo de texto sin formato como DNS. El atacante, utilizando lo que se conoce como baliza o llamada de carga útil, puede transferir cargas útiles adicionales, a menudo con capacidades adicionales para lograr los objetivos previstos.

En el siguiente ejemplo, puede ver un Meterpreter carga útil como un EXE de Windows usando Metasploit Framework msfvenom:

Metasploit msfvenom
payload

Una vez que dicha carga útil es entregada y ejecutada en un sistema víctima, se creará silenciosamente una conexión TCP inversa. La carga útil utiliza el puerto predeterminado 4444 desde dentro de la red de la víctima hasta la dirección IP del atacante. Tenga en cuenta que el ejemplo de carga útil anterior tendría una alta probabilidad de ser detectado en el mundo real, ya que se generó con valores predeterminados y sin codificación. En realidad es solo un ejemplo académico.

Objetivos

Una vez que un atacante ejecuta la baliza o la carga útil, puede llevar a cabo su campaña de amenazas. Esto puede implicar robar datos, instalar ransomware o causar algún otro tipo de interrupción.

Antes de seguir adelante, aquí hay un resumen de los pasos que tomará un atacante para lograr su objetivo:

Paso 1: Planificar la campaña y diseñar la infraestructura correspondiente, incluyendo servidores web, servidores de correo electrónico, infraestructura DNS y servidores de ataque.

Paso 2: Llevar a cabo el reconocimiento de los objetivos y sistemas seleccionados.

Paso 3: Seleccione el ataque o vulnerabilidad más efectivo para explotar, utilizando una combinación de humanos y sistemas.

Paso 4: Desarrollar o adquirir las herramientas de exploit correspondientes, incluyendo los mecanismos de entrega.

Paso 5: Configure la infraestructura de ataque, incluida la infraestructura de comando y control (también conocida como “oyente”), para recibir comunicaciones de baliza inversa.

Paso 6: Ejecute la campaña maliciosa.

Paso 7: Administrar la baliza y las cargas útiles para evitar la detección y llevar a cabo los objetivos de la campaña.

Ataque a través de un ataque

Una vez que un actor de amenazas ha diseñado e implementado la infraestructura y la configuración relacionada, su campaña maliciosa está lista para comenzar. Para ello, el actor de amenazas necesitará sus balizas o cargas útiles para ejecutarse dentro de la red de la víctima. Entonces pueden obtener acceso, mantener un punto de apoyo y llevar a cabo sus objetivos.

Repasemos algunos de los pasos importantes desde el punto de vista de un atacante.

Para comenzar, aquí hay un vistazo a cómo generar la carga útil deseada:

payload web meeting

En este caso, la carga útil se genera para comunicarse usando un dominio (app12.webcoms-meetings.com, mostrado como LHOST en la primera línea completa de verde) que imita algún software de reunión remota y colaboración para el sistema operativo Windows. Una comprobación muestra que el dominio se resuelve en la dirección IP controlada por el atacante.

DNS resolution check

A partir de aquí, el atacante elige un mecanismo de entrega para su entrada inicial en el objetivo. En este ejemplo, han optado por usar spear phishing, una especie de ataque de ingeniería social que consigue que un usuario desprevenido descargue lo que cree que es una actualización de su software para reuniones remotas. El atacante ha configurado una infraestructura de dominio (correo electrónico y web) y sitio web correspondiente para soportar este método de entrega de ingeniería social, como se muestra a continuación:

phishing email and web

El atacante espera que el usuario desprevenido descargue y ejecute la carga útil. O bien, si el usuario visita el sitio de phishing, la carga útil se puede ejecutar automáticamente a través de un dispositivo de descarga por descarga. De cualquier manera, la carga útil disfrazada está ahora en la computadora del usuario y lista para ser ejecutada, como se muestra aquí:

payload in downloads

Una vez que la carga útil se está ejecutando, vuelve a llamar silenciosamente al comando y control del atacante. A oyente ya estará en funcionamiento del lado del atacante para recibir las comunicaciones de devolución de llamada. En el siguiente ejemplo, un manejador de carga útil u oyente, exploit/multi/manejador, se ha configurado en el lado del atacante para recibir comunicaciones del reverse_tcp carga útil que se ejecuta en la máquina víctima a través del dominio malicioso app12.webcoms-meetings.com.

payload handler

Una vez que la baliza llega a la infraestructura del atacante, el oyente o controlador relevante recibe la conexión, y la carga útil inicial puede descargar una carga útil principal mucho mayor, conocida como Stage. Esto se puede ver a continuación con el mensaje “enviar etapa (175174) a 203.0.113.1”. La máquina víctima está detrás de un Firewall NAT con la IP externa de 203.0.113.1. La carga útil del atacante en este ejemplo es la versátil Metasploit Metasploit Medidor.

payload callback

Una vez que la baliza inicial descarga la carga útil principal, está lista para continuar el resto del ataque. Una vez ejecutado con éxito, el control del programa se pasa a esta carga útil principal (Etapa) para entregar un shell para el atacante. Todo esto sucede en la memoria e implica técnicas de inyección de código. La siguiente captura de pantalla muestra al atacante con acceso práctico por teclado a la máquina de la víctima. El atacante puede ejecutar el comando “dir” y ver todos los archivos en la carpeta de descargas del usuario.

meterpreter shell

A partir de aquí, el atacante realiza algún reconocimiento interno (también conocido como “descubrimiento”) en la máquina de la víctima. El atacante ahora puede obtener la cuenta de la víctima y la información del directorio. Por ejemplo, el nombre de usuario registrado para la máquina comprometida es “ama”. Incluso pueden capturar una captura de pantalla del escritorio de Windows del sistema de destino, como se muestra aquí:

meterpreter shell

En este punto, el atacante también puede escanear la red interna para descubrir otros sistemas. La siguiente captura de pantalla muestra un escaneo del Protocolo de resolución de direcciones (ARP) de la red interna. Esto será útil para movimiento lateral, descrito más adelante.

meterpreter shell ARP scan

El atacante también puede realizar más acciones maliciosas, como exfiltrar (robar) Project_Progress.pdf archivo de la máquina de la víctima. Como se muestra a continuación, también pueden subir Mimikatz, una herramienta maliciosa para robar credenciales de usuario. Los atacantes necesitan credenciales con privilegios elevados para realizar acciones a nivel de sistema y movimientos laterales dentro de una red.

project progress mimikatz

El siguiente ejemplo muestra cómo el atacante puede ejecutar la herramienta de vertido de credenciales Mimikatz cargada para ver hashes de contraseña en la máquina Windows comprometida.

Mimikatz

Otro paso crítico para el atacante es crear una ruta de regreso a la máquina víctima, incluso después de que el usuario la haya reiniciado. Aquí es donde entra en juego la técnica de la persistencia. Los atacantes tienen varias formas de lograr esto, incluyendo cargas útiles inversas de autorun y puertas traseras persistentes.

Como se muestra a continuación, el atacante elige ejecutar un módulo de persistencia posterior a la explotación, que implica un Script de Visual Basic (VBScript) ubicado en la carpeta Windows Temp del usuario que inició sesión, UOPFNWO.VBS. A continuación, el atacante instala una entrada del registro de Windows para permitir que el script se autorejecuta después de arrancar el equipo.

post-exploit persistence

Ahora el atacante se ha asegurado de que su script de carga útil pueda conectarse de nuevo a su oyente, incluso si la máquina se reinicia. Sin embargo, los archivos en el disco ahora también se pueden detectar mediante un análisis antivirus del sistema de archivos (AV).

Finalmente, el atacante querrá limpiar toda la evidencia potencial. Para hacer esto, pueden eliminar archivos y entradas maliciosas originales, y cifrar o incluso mezclar archivos maliciosos entre archivos legítimos del sistema. Para cubrir aún más sus pistas, también pueden eliminar copias ocultas y registros del sistema.

Análisis y análisis forense del ataque

Ahora voy a repasar algunas respuestas iniciales a incidentes (IR) y el análisis básico de componentes específicos del ataque. Esto le dará una mejor comprensión de ciertas acciones maliciosas.

Análisis de redes y DNS

Comenzando con el análisis de comunicación de red desde la máquina víctima, se observa que la IP interna (10.1.1.81) ha establecido una conexión TCP en el puerto remoto 443 al nombre DNS del atacante externo. Esta es una comunicación de comando y control.

process running
Netstat command-and-control communication

A continuación, al analizar los componentes típicos involucrados en una jerarquía de resolución DNS regular, podemos desglosar el proceso del atacante:

  • Primero, el actor de amenazas registró un dominio: webcoms-meetings.com
  • El dominio apunta a la IP externa 203.0.113.123.
  • El atacante utiliza un nombre de subdominio app12.webcoms-meetings.com para dirigir el tráfico de las cargas útiles en las máquinas comprometidas a su comando y control.
DNS structure

Los actores de amenazas también pueden intentar exfiltrar datos mediante DNS. Por ejemplo, podrían usar registros DNS TXT o incluso información única codificada sobre sus víctimas como parte de una supuesta consulta DNS saliente. Estas consultas serán recibidas por el servidor DNS autorizado bajo el control del atacante. Un servidor DNS autorizado recibe y responde consultas DNS para un dominio específico.

Los actores de amenazas también pueden usar Algoritmos de Generación de Dominio (DGA) para generar automáticamente miles de dominios cada día. Con esta técnica, una máquina infectada tendrá código incorporado (es decir, un algoritmo) para generar y luego intentar conectarse a varios de estos dominios generados durante un período específico. Por ejemplo, podría intentar conectarse a 1.000 dominios generados cada 24 horas hasta que uno tenga éxito. Luego, el atacante registrará algunos de estos dominios cada día y los mantendrá durante cortos períodos de tiempo.

Es probable que estos dominios reciban comunicaciones maliciosas de vez en cuando. Esta técnica, popularizada por la familia de malware Conficker, dificulta la creación de un denegar lista como interruptor de desconexión. Para evadir aún más la detección y mantener la resiliencia, los actores de amenazas más sofisticados también utilizan una infraestructura distribuida que combina proxies, redirectores y equilibradores de carga.

Análisis del sistema

La mayoría de las operaciones típicas de carga útil o baliza posterior a la explotación implican la manipulación de los procesos de Windows, que ocurren completamente en la memoria. Un atacante con capacidad de manipulación de procesos puede iniciar nuevos procesos en la máquina víctima. Esto puede ser un shell interactivo nativo (Windows cmd.exe) que permite al atacante usar comandos nativos de Windows. El atacante también puede iniciar procesos de forma no interactiva, como se muestra aquí:

meterpreter shell process manipulation

En la máquina víctima, un volcado de procesos (que se muestra a continuación) muestra los procesos recién creados con sus respectivos ID de proceso, 2624 y 1972, ambos en ejecución.

process explorer view

La capacidad de iniciar nuevos procesos es muy útil. El atacante puede iniciar un nuevo proceso desprevenido como notepad.exe y luego migrar su original carga maliciosa procesarlo usando inyección de código/DLL. Es una técnica que hace que un proceso malicioso en el sistema parezca legítimo; lo discutiré con más detalle en la segunda parte de esta serie.

El atacante, como parte de su evasión posterior a la explotación, migra el proceso malicioso original, web1_meeting_update.exe (2472), a un nuevo notepad.exe proceso (1768), como se muestra aquí.

meterpreter shell migrate process

En la máquina víctima, el proceso malicioso original, PID 2472, se ha migrado y ahora se está ejecutando como notepad.exe con ID de proceso 1768. Como se muestra a continuación, ahora sólo se está ejecutando el nuevo proceso.

task manager migrated process

A partir de la técnica de persistencia anterior, la carpeta Windows Temp (ver más abajo) muestra tanto el VBScript utilizado como las claves de ejecución automática correspondientes que se crearon en el registro para el script malicioso.

persistence registry artifacts

Un análisis estático inicial del archivo de carga útil ejecutable malicioso original muestra que tiene varios factores de riesgo asociados. Por ejemplo, carga algunas bibliotecas de Windows (DLL) interesantes, especialmente las que se utilizan para las comunicaciones de red. Una memoria correspondiente y un análisis dinámico mostrarán el comportamiento sospechoso de un proceso notepad.exe que realiza conexiones de red.

static analysis malicious payload file

Conclusiones

En este artículo he discutido algunas de las consideraciones y acciones típicas involucradas en una campaña de amenazas y sus comunicaciones maliciosas asociadas. Espero que esto te dé una idea de cómo y por qué un actor de amenazas utiliza ciertas técnicas.

Podemos resumir el ciclo de ataque que conduce a la comunicación maliciosa en tres fases:

  • Entrada inicial
  • Ejecución
  • Comando y Control

Una buena manera de abordar las estrategias de mitigación es aplicar el asumir una violación filosofia. Es decir, supongamos que el atacante ya está dentro, y que por lo tanto, sus objetivos clave de seguridad deben ser la detección y contención. Además, sus resultados de seguridad deben incluir al menos visibilidad automatizada, alerta y contención (Segmentación de confianza cero). Discutiré las técnicas de mitigación con más detalle la tercera y última parte de esta serie de blogs.

En el siguiente artículo, segunda parte de esta serie, voy a echar un vistazo más profundo a las balizas y cargas útiles y explicar por qué un actor de amenazas podría elegir un tipo sobre otro. También profundizaré en algunas de las técnicas avanzadas que usan los atacantes para evasión y ofuscación.

Temas relacionados

Artículos relacionados

3 pasos hacia la resiliencia cibernética para la industria energética
Ciberresiliencia

3 pasos hacia la resiliencia cibernética para la industria energética

Conozca las actualizaciones de la Directiva de seguridad de la TSA, las recomendaciones de seguridad de expertos y los tres pasos hacia la resiliencia cibernética para el sector energético.

3 claves para gestionar las consecuencias legales de los ataques ciberéticos
Ciberresiliencia

3 claves para gestionar las consecuencias legales de los ataques ciberéticos

Aprenda a mantenerse preparado para las consecuencias legales de una violación o un ataque de ransomware.

Enfoques de resiliencia cibernética, nuevas herramientas de Illumio y el podcast Hacking Humans
Ciberresiliencia

Enfoques de resiliencia cibernética, nuevas herramientas de Illumio y el podcast Hacking Humans

La cobertura noticiosa de abril de Illumio muestra el trabajo innovador que Illumio está haciendo para ser líder en la industria de la seguridad.

No se han encontrado artículos.

Assume Breach.
Minimize Impact.
Increase Resilience.

Ready to learn more about Zero Trust Segmentation?