Inicio / Blog / C&C: modelos, funcionamiento y recomendaciones

C&C: modelos, funcionamiento y recomendaciones

Publicado el 18/08/2022, por Ricardo del Rio García (INCIBE)
Blog comando y control

Un ciberataque de éxito es algo más que poner el pie en la puerta de una organización, los cibercriminales quieren obtener un beneficio de ello, así que el atacante debe intentar mantener la persistencia dentro del entorno de destino, comunicarse con dispositivos infectados o comprometidos dentro de la red y, potencialmente, obtener los datos o el uso de la infraestructura atacada.

La clave para lograr todas estas tareas es una infraestructura de Comando y Control, también conocida como C2 o C&C.

Ataque Command & Control

¿Qué es un ataque con un servicio de mando y control?

La infraestructura de comando y control es el conjunto de herramientas y técnicas que utilizan los atacantes para mantener la comunicación con los dispositivos comprometidos tras la explotación inicial. Los mecanismos específicos varían mucho entre ataques, pero C2 generalmente consta de uno o más canales de comunicación encubiertos entre dispositivos en una organización objetivo y una plataforma que controla el atacante.

Estos canales de comunicación se utilizan para enviar instrucciones a los dispositivos comprometidos, descargar herramientas maliciosas adicionales, canalizar los datos robados o utilizar los dispositivos infectados como zombies.

Una estrategia común para canalizar la comunicación es mezclarse con otros tipos de tráfico legítimo que puedan estar en uso en la organización objetivo, como HTTP/HTTPS o DNS. Los atacantes pueden tomar otras medidas para camuflar sus comunicaciones con el C&C, como el uso de cifrado o tipos inusuales de codificación de datos.

Un importante problema de la ciberseguridad actual consiste en que un equipo lícito de una red se pueda convertir en un arma para ataques dirigidos por ciberdelincuentes, tanto a través de una botnet, como las denominadas Amenazas Persistentes Avanzadas (APT).

En el caso de botnets, los servidores de C&C sirven como infraestructura principal para las máquinas comprometidas en una red de bots. Pueden utilizarse para difundir comandos que pueden robar datos, propagar malware, interrumpir servicios web, etc.

En el caso de los ataques APT, se dirigen a organizaciones o individuos y tienen como objetivo establecer una presencia continua y no detectada en la infraestructura objetivo. La finalidad de estos ataques suele ser el espionaje: acceso a datos, propiedad intelectual, documentos confidenciales, etc.

En este artículo centramos nuestra atención en una parte específica de este problema. En concreto, examinamos el establecimiento del canal de comunicación con el mando y control (C2), así como su prevención y respuesta.

Términos de infraestructuras C2

Zombie

Representa cada uno de los objetivos comprometidos (víctimas). Similar a lo que es una sesión en Metasploit Framework, un zombie en Pupy/BeEF o un agente en Empire.

Stagers

Representa los módulos que se ejecutarán en la herramienta para la distribución de payloads y el establecimiento de conexiones con los zombies. Todos los stagers disponibles a la fecha de redactar esta entrada se encargan de levantar un servidor en la máquina comprometida y esperan a que la víctima se conecte, descargue y ejecute el payload correspondiente.

Implants

Se trata de aquellas instrucciones que se ejecutan en los zombies y son las que realmente permiten la ejecución de un proceso de post-explotación en condiciones sobre el objetivo. Nuevamente, esto es equivalente a lo que se encuentra en Metasploit Framework con los módulos de «post» o los meterpreter scripts (ya deprecados), así como en Empire con los stagers.

Botnet

Es una colección de máquinas zombies que se alistan para un propósito ilícito común. Esto podría ser cualquier cosa, desde minar criptomonedas hasta desconectar un sitio web a través de un ataque de denegación de servicio, como por ejemplo DrDoS o DDoS. Las botnets suelen estar unidas en torno a una infraestructura C2 común. También es común que los cibercriminales vendan acceso a botnets a otros delincuentes en una especie de "ataque como servicio" o más conocido en inglés como Malware as a Service (MaaS).

Beaconing

El balizamiento es el proceso por el que un dispositivo infectado llama a la infraestructura C2 del atacante para buscar instrucciones o cargar módulos adicionales. Para evitar ser detectados, algunos se conectan a intervalos aleatorios, o pueden permanecer inactivos durante un tiempo antes de llamar al atacante.

¿Qué pueden lograr los ciberatacantes con una infraestructura de comando y control?

La mayoría de las organizaciones tienen sistemas efectivos que dificultan que un atacante inicie una conexión desde el exterior a la red interna de la organización sin ser detectado. Sin embargo, la comunicación saliente a menudo no está tan controlada o restringida. Esto significa que el malware introducido a través de un canal diferente, por ejemplo, un correo electrónico de phishing o un sitio web comprometido, a menudo puede establecer un canal de comunicación en la dirección de salida que de otro modo sería imposible.

Con este canal abierto, un cibercriminal puede realizar acciones adicionales, tales como:

Robo de datos

Los canales C2 suelen ser bidireccionales, lo que significa que un atacante puede recibir datos del entorno de destino además de enviar instrucciones a los hosts comprometidos. Los datos accedidos pueden ser de cualquier tipo, desde documentos clasificados, números de tarjetas de crédito o información personal, según la organización a la que pertenezca la víctima. Cada vez más, las bandas de ransomware utilizan la exfiltración de datos como una táctica adicional para extorsionar a sus objetivos; incluso si la organización puede recuperar datos de las copias de seguridad, los delincuentes amenazarán con divulgar información robada o venderla a través de la darkweb.

Interrumpir las tareas en curso

Los atacantes pueden reiniciar periódicamente un sistema infectado o un grupo de sistemas comprometidos dentro de una organización cuando se está realizando una tarea importante. Por ejemplo, una empresa que realiza una migración de datos o una copia de seguridad de toda su base de datos de información y archivos en múltiples sistemas de almacenamiento externo para la redundancia. O un proceso de fabricación que implique el procesamiento de materiales de una forma a otra y que pueda llevar varias horas o días. Los atacantes pueden interrumpir repetidamente este proceso reiniciando el sistema o sistemas a intervalos de tiempo para que la tarea nunca se complete.

Apagar los sistemas o las redes

En un caso en el que el malware ha sido capaz de pivotar a través de una parte o de todos los sistemas dentro de una organización, un atacante puede simplemente apagar todos los sistemas para finalizar completamente las operaciones comerciales. El cibercriminal puede entonces amenazar con que las actividades comerciales no se reanudarán hasta que se satisfagan sus necesidades. Se trata de una forma de ransomware que elude el cifrado.

Ataques de varias etapas

Los ciberataques más selectivos a menudo realizan los ataques con una infección inicial que consiste en un downloader que llama a la infraestructura C2 atacante y descarga módulos maliciosos adicionales. Esta arquitectura modular permite que un atacante lleve a cabo campañas ampliamente distribuidas y altamente enfocadas. Esto permite al atacante ser selectivo y crear malware personalizado en una segunda fase para otros objetivos. Este modelo también permite toda una industria descentralizada del cibercrimen. Un grupo de acceso inicial puede vender el acceso a un objetivo principal como un banco o un hospital a una banda de ransomware, por ejemplo.

Ataques de denegación de servicio distribuidos (DDoS)

A veces, los sistemas infectados no son el objetivo real y sólo se utilizan como soldados de infantería para iniciar ataques a una organización o servicio diferente. Un atacante que controle un servidor C2 que emita órdenes a un conjunto de sistemas zombies puede indicar a los sistemas infectados que saturen un servidor (por ejemplo, el de Facebook) con numerosas peticiones para agotar el ancho de banda del objetivo.

Esto hace que los usuarios legítimos no puedan acceder al sitio web o al servicio.

Cifrado o corrupción de datos

Otra actividad dañina que un servidor de Comando y Control puede ordenar a un host es cifrar o corromper los archivos del sistema. Esto puede utilizarse para pedir un rescate antes de liberar los datos o simplemente para sabotear las actividades de una organización.

Los anteriores son sólo algunos ejemplos de los ataques más comunes que se pueden realizar a través de un servidor de Comando y Control. Los canales C2 son una puerta trasera al ordenador y/o red infectados y su potencial de daño sólo está limitado por la mente del atacante, como realizar grandes botnet de criptominería.

Modelos de mando y control

Aunque existe una amplia variedad de opciones para implementar C2, la arquitectura entre el malware y la plataforma C2 generalmente se parecerá a uno de los siguientes modelos:

Modelo centralizado

C&C: Modelo centralizadoEste modelo es muy similar a un modelo de transacción cliente-servidor. Un host infectado puede sondear su servidor C2 para pedir que se ejecuten comandos sobre operaciones. Es muy común que los atacantes utilicen sitios web y servicios de alojamiento comunes para alojar servidores C2.

Este modelo suele ser fácil de detectar y bloquear porque los comandos provienen de una única fuente con una IP que puede ser rápidamente detectada y bloqueada.

Sin embargo, algunos atacantes dificultan el proceso de detección utilizando proxies, redirectores y equilibradores de carga en la configuración de sus servidores C2.

Modelo peer-to-peerC&C: Modelo Peer to peer

Adopta un modelo descentralizado en el que los miembros de una red de bots se pasan mensajes de un nodo a otro. Esto elimina la necesidad de un servidor "principal" o central, lo que hace más difícil su detección.

Incluso cuando se detecta, es posible que sólo se pueda derribar un nodo a la vez. Este modelo se utiliza a menudo con el modelo centralizado como una configuración híbrida. En este escenario híbrido, la comunicación P2P sirve como reserva cuando el servidor central es derribado.

AleatorioC&C: Modelo aleatorio

Este modelo fue desarrollado para garantizar que los expertos en ciberseguridad no puedan detectar la cadena de mando de una botnet o rastrear y apagar el servidor C2. Esto se consigue enviando comandos al host infectado o a la red de bots desde diferentes fuentes aleatorias. Estas fuentes pueden ser enlaces en los comentarios de las redes sociales, CDNs, Gmail, salas de chat IRC y muchos otros medios alquilados. Un atributo común que los atacantes buscan en estas fuentes es que la gente confíe en ellas y las utilice con frecuencia.

¿Cómo funcionan los servidores de mando y control (C2)?

Paso 1

El atacante infecta el sistema de un usuario o un sistema dentro de una organización con malware aun estando éstos protegidos. Esto puede hacerse utilizando diferentes métodos como correos electrónicos de phishing, publicidad maliciosa (adware), plugins de navegador vulnerables, instalación directa de software malicioso a través de una memoria USB o unidad de disco, etc.

Command & Control - Infección

Paso 2

Una vez que el host está infectado, se establece la comunicación con el servidor C2 y el sistema comprometido envía un acuse de recibo al servidor C2 para indicar que está listo para recibir comandos. Esta comunicación se realiza principalmente a través de tráfico de confianza como el DNS.

Command & Control - Aviso

Paso 3

Con el canal C2 establecido, el sistema infectado puede ahora recibir más comandos del servidor C2 mientras el malware no sea detectado.

El servidor de Comando y Control puede utilizar este canal para enviar más software malicioso a instalar, cifrar datos e incluso extraer recursivamente datos del host infectado.

Command & Control - Comunicación

El servidor C2 también puede emitir órdenes al host infectado para que empiece a buscar vulnerabilidades en otros sistemas de la red con el fin de pivotar por la red. Esto puede comprometer completamente toda la infraestructura informática de una organización y llevar a la ampliación de equipos comprometidos aumentando el tamaño de la botnet. El único propósito de toda esta organización de máquinas zombies es recibir órdenes del servidor de mando y control para realizar ataques coordinados.

Command & Control - Red

Detección y prevención del tráfico de comando y control

El tráfico C2 puede ser difícil de detectar, ya que los atacantes hacen todo lo posible para evitar ser descubiertos ya que muchos ciberataques a gran escala se descubrieron inicialmente cuando los investigadores notaron la actividad de C2.

Aquí hay algunas técnicas generales para detectar y detener el tráfico de comando y control en su propia red:

Escanear y filtrar todo el tráfico

Esta es la medida más importante que una organización puede tomar para prevenir y detectar actividades C&C. Tanto el tráfico entrante como el saliente deben ser monitorizados para detectar actividades sospechosas como el cifrado no autorizado del tráfico de red (comúnmente utilizado en las operaciones de tunelización de DNS), el tráfico hacia servidores no reconocidos, etc.

Todo esto más allá de bloquear simplemente el IRC, los administradores pueden buscar intentos dudosos de conexión saliente en un sentido mucho más amplio, y crear/actualizar listas negras de servicios para tratar los casos sospechosos.

Imponer una blacklist

El sistema informático no debe permitir que se ejecute o instale cualquier aplicación. Al bloquear la instalación de aplicaciones de fuentes desconocidas se puede evitar que el malware utilizado como bot para establecer la comunicación con el servidor C2 se instale en los sistemas.

Reforzar los hosts contra la infección inicial de malware que crea un bot

Además de mantener y actualizar las soluciones antivirus básicas, los administradores pueden realizar comprobaciones de la integridad del sistema, minimizar los privilegios de root e instalar cortafuegos del lado del cliente (especialmente eficaces si admiten reglas de paquetes salientes, no sólo entrantes). Cuantas menos máquinas comprometidas tenga, menos tendrá que preocuparse por la detección del propio servidor de comando y control.

Separar los hosts infectados de los demás hosts de la red

Cuando se detecte un ordenador infectado, retírelo inmediatamente de la red para aislarlo de otros hosts. Esto evita que el malware pivote y tome el control de la red.

Ajustar los cortafuegos

Y los sistemas de prevención/detección de intrusiones (IPS/IDS) en función del contexto. Muchas veces, es posible mitigar el problema limitando el acceso a la red a las tareas/puertos que son directamente relevantes para ese terminal. Por ejemplo, en el caso de un servidor DNS, se podría considerar el bloqueo de todo excepto los puertos UDP y TCP 53. Además, para ciertas soluciones IDS gratuitas, existen reglas descargables que pueden ayudarle a detectar y bloquear automáticamente la actividad dudosa en diferentes puertos o protocolos, como el IRC, sin importar en qué parte de la red se origine.

Analizar periódicamente el sistema con un software antivirus actualizado

Utilizando un software antivirus de eficacia probada, puede escanear constantemente sus sistemas anfitriones para asegurarse de que se detectan y eliminan las actividades de malware. De este modo, se elimina el malware utilizado en la comunicación con los servidores C2 y se pone fin al canal encubierto.

Utilizar un sistema EDR

Acrónimo en inglés de Endpoint Detection Response o sistemas de protección de los equipos e infraestructuras de la empresa. Combina el antivirus tradicional junto con herramientas de monitorización e inteligencia artificial para ofrecer una respuesta rápida y eficiente ante los riesgos y las amenazas más complejas.

Gracias a esta conjunción de elementos y tecnologías permite detectar todos aquellos riesgos y amenazas que pueden provocar de forma silenciosa e inadvertida un incidente de seguridad, poniendo en riesgo la viabilidad de la empresa.

Intentar descifrar el código del malware para ver cómo funciona

No todos los profesionales de TI pueden hacer esto, pero incluso conocer y aplicar lo básico puede dar buenos resultados. Por ejemplo, a veces es posible encontrar información de detección del servidor de comando y control desensamblando el código compilado o incluso simplemente utilizando una herramienta de análisis de sectores que convierta hexadecimal a ASCII. (¡Sin embargo, dado que los ciberatacantes están recurriendo cada vez más al cifrado integrado, no esperes que esto funcione en todos los casos.

Segmentar la red para separar los dispositivos

Con diferentes valores de confianza y riesgo (por ejemplo, servidores públicos frente a hosts internos que almacenan documentos sensibles).

Introducir políticas de limitación de velocidad

Para ralentizar el tráfico dirigido a endpoints de dudosa reputación o poco fiables.

Bloquear los mecanismos de comunicación

Tanto los no deseados o como los no utilizados que puedan utilizarse para la actividad C2 (por ejemplo, redes de anonimización, superposiciones P2P, redes sociales).

La idea debería ser tratar cada uno de estos enfoques como una herramienta, y combinar las herramientas según sea necesario para obtener una estrategia personalizada que se ajuste a tu contexto local y a tus requisitos de seguridad.

Respuesta tras la detección de servidores de comando y control: desmantelamiento de C&C

Para acabar con las redes de mando y control, dondequiera que existan, casi siempre será necesario colaborar con los profesionales de las fuerzas de seguridad para actuar caso por caso, ya que es extremadamente difícil derribar toda una lista de servidores de mando y control. Los ejemplos incluyen:

  • Trabajar con un proveedor para eliminar/limpiar servidores problemáticos o incluso confiscar hosts físicos específicos.
  • Revocar el servicio de nombres de dominio para dominios excepcionalmente problemáticos.
  • Retirar del servicio a todo un proveedor de alojamiento.

La conclusión es que, si bien la detección de servidores de comando y control es cada vez más difícil, hay muchas medidas que los profesionales de TI pueden tomar para mitigar e incluso eliminar el problema, hasta llegar a involucrar a las fuerzas del orden, si se proporcionan suficientes pruebas forenses.

Conclusión

Controlar la infraestructura de comando y control es esencial para los atacantes. Bloquear el tráfico de C&C o desmantelar la infraestructura C2 de un atacante puede detener un ciberataque en seco. Desmantelar una infraestructura C2 no debe ser el único enfoque de una organización, sino que debe ser parte de un programa de seguridad de la información más amplio que debe incluir buenas prácticas, capacitación en concienciación sobre seguridad para los empleados y políticas y procedimientos estructurados. Estos pasos pueden contribuir en gran medida a mitigar la amenaza que plantea la infraestructura de mando y control.