Comando y control
Enlaces a todas las partes:Parte 1. Obtención del acceso inicial (acceso inicial)Parte 2. EjecuciónParte 3. Fijación (persistencia)Parte 4. Escalada de privilegiosParte 5. Evasión de defensaParte 6. Obtención de credenciales (acceso de credenciales)Parte 7. DescubrimientoParte 8. Movimiento lateralParte 9. Recolección de datos (Colección)Parte 10. ExfiltraciónParte 11. Comando y ControlLa sección "Comando y Control" (
abreviatura - C2, C & C ) es la etapa final de la cadena de ataque introducida en
ATT & CK Matrix for Enterprise .
El comando y control incluye técnicas mediante las cuales el adversario se comunica con los sistemas conectados ay bajo el control de la red atacada. Dependiendo de la configuración de los sistemas y la topología de la red de destino, hay muchas formas de organizar el canal secreto C2. Las técnicas más comunes se describen en cat. Las recomendaciones generales sobre la organización de medidas para prevenir y detectar C2 se destacan en un bloque separado y se colocan al final de la sección.
El autor no es responsable de las posibles consecuencias de aplicar la información contenida en el artículo, y también se disculpa por posibles imprecisiones hechas en algunas formulaciones y términos. La información publicada es un recuento gratuito de los contenidos de MITER ATT & CK .Sistema: Windows, Linux, macOS
Descripción: para evitar los firewalls y mezclar el tráfico malicioso con la actividad normal de la red, un adversario puede comunicarse con el sistema atacado a través de los puertos estándar comúnmente utilizados por las aplicaciones normales:
TCP: 80 (HTTP)
TCP: 443 (HTTPS)
TCP: 25 (SMTP)
TCP/UDP: 53 (DNS)
Ejemplos de puertos para organizar conexiones de red dentro de un enclave enemigo, por ejemplo, entre un servidor proxy y otros nodos) son:
TCP/UDP: 135 (RPC)
TCP/UDP: 22
TCP/UDP: 3389
Sistema: Windows, Linux, macOS
Descripción: Un adversario puede organizar una infraestructura C2 entre nodos físicamente aislados utilizando medios de almacenamiento extraíbles para transferir comandos de un sistema a otro. Ambos sistemas deben estar comprometidos. Un sistema con una conexión a Internet es más probable que se vea comprometido por el primero, y el segundo sistema se ve comprometido durante el movimiento lateral al replicar malware a través de medios extraíbles (ver
Parte 8 ). Los comandos y archivos se transmitirán desde un sistema aislado a un sistema con conexión a Internet, al cual el adversario tiene acceso directo.
Recomendaciones de protección: deshabilite la ejecución automática de dispositivos extraíbles. Prohibir o restringir el uso de medios extraíbles a nivel de política organizacional. Organice una auditoría de los procesos que se realizan al conectar medios extraíbles.
Sistema: Windows, Linux, macOS
Descripción: un atacante puede utilizar un servidor proxy para redirigir el tráfico de red entre sistemas o como intermediario para las comunicaciones de red. Muchas herramientas (como HTRAN, ZXProxy y ZXPortMap) le permiten redirigir el tráfico o reenviar puertos.
El concepto de proxies también puede abarcar fideicomisos en punto a punto (p2p), redes de malla o conexiones confiables entre redes. Una red puede estar dentro de una organización o entre organizaciones con fideicomisos. Un adversario puede usar los fideicomisos de red para controlar el canal C2, reducir la cantidad de conexiones de red salientes simultáneas, proporcionar tolerancia a fallas o usar conexiones confiables para evitar sospechas.
Sistema: Windows, Linux, macOS
Descripción: un atacante puede organizar un canal C2 utilizando su propio protocolo de red en lugar de encapsular comandos / datos en un protocolo de capa de aplicación estándar existente. La implementación del protocolo enemigo C2 puede imitar protocolos conocidos o protocolos de usuario (incluidos los sockets sin procesar) sobre los protocolos básicos presentados en TCP / IP u otra pila de red estándar.
Sistema: Windows, Linux, macOS
Descripción: para ocultar el tráfico transmitido a través del canal C2, el adversario puede usar su propio protocolo criptográfico o algoritmo de cifrado. Un esquema simple, como el cifrado XOR de texto sin formato con una clave fija, dará texto cifrado (aunque muy débil).
Los esquemas de cifrado propietarios pueden variar en complejidad. El análisis y la ingeniería inversa de muestras de malware se pueden utilizar para detectar con éxito el algoritmo utilizado y la clave de cifrado. Algunos atacantes pueden intentar implementar su propia versión de un algoritmo criptográfico bien conocido en lugar de usar una biblioteca bien conocida, lo que puede conducir a errores involuntarios en la operación del software enemigo.
Recomendaciones de protección: si el malware usa su propio cifrado con claves simétricas, entonces es posible obtener un algoritmo y una clave de las muestras de software para usarlas para decodificar el tráfico de red e identificar firmas de malware.
Sistema: Windows, Linux, macOS
Descripción: la información transmitida por el canal C2 se codifica utilizando sistemas de codificación de datos estándar. El uso de la codificación de datos es para cumplir con las especificaciones de protocolo existentes e incluye el uso de ASCII, Unicode, Base64, MIME, UTF-8 u otras codificaciones de texto y caracteres binarios. Algunos sistemas de codificación, como gzip, también pueden comprimir datos.
Sistema: Windows, Linux, macOS
Descripción: Los datos en el canal C2 pueden ocultarse (pero no necesariamente utilizando cifrado) para dificultar la detección y descifrado del contenido transmitido, así como hacer que el proceso de comunicación sea menos notable y ocultar los comandos transmitidos. Existen muchos métodos de ofuscación, como agregar datos innecesarios al tráfico de protocolo, usar esteganografía, combinar tráfico legítimo con tráfico C2 o usar un sistema de codificación de datos no estándar, por ejemplo, un Base64 modificado en el cuerpo de un mensaje de solicitud HTTP.
Sistema: Windows, Linux, macOS
Descripción: La esencia de Domain Fronting es la capacidad de ocultar la dirección de destino real del paquete HTTP en las redes CDN (Content Delivery Netwoks).
Ejemplo: hay un dominio X y un dominio Y, que son clientes de los mismos CDN. Es muy probable que un paquete con la dirección X del dominio en el encabezado TLS y la dirección Y del dominio en el encabezado HTTP se entregue a la dirección Y del dominio, incluso si se prohíbe la comunicación de red entre las direcciones de origen y destino.Un paquete HTTP contiene dos conjuntos de encabezados: el primero, TLS, está en la parte abierta del paquete, el segundo, HTTP, se refiere a la parte cifrada del paquete. Además, cada encabezado tiene su propio campo para especificar la dirección IP de destino. La esencia del Dominio frontal es el uso deliberado de diferentes nombres de dominio en el campo "SNI" del encabezado TLS y el campo "Host" del encabezado HTTP. Por lo tanto, la dirección de destino permitida se indica en el campo "SNI", y la dirección de destino de entrega se indica en el campo "Host". Si ambas direcciones pertenecen a los mismos CDN, luego de recibir dicho paquete, el nodo de enrutamiento puede retransmitir la solicitud a la dirección de destino.
Hay otra variación de esta técnica llamada fachada sin dominio. En este caso, el campo "SNI" (encabezado TLS) se deja en blanco intencionalmente, lo que permite que el paquete alcance su objetivo incluso si el CDN comprueba la coincidencia de los campos "SNI" y "HOST" (si se ignoran los campos SNI vacíos).
Recomendaciones de protección: si es posible inspeccionar el tráfico HTTPS, se pueden capturar y analizar conexiones similares a Fronting de dominio. Si se lleva a cabo una inspección SSL o el tráfico no está encriptado, el campo "HOST" se puede verificar por coincidencia con el campo "SNI" o la presencia de la dirección especificada en las listas blancas o negras. Para implementar Domain Fronting, un adversario probablemente necesitará implementar herramientas adicionales en un sistema comprometido, cuya instalación se puede evitar instalando herramientas locales de protección del host.
Sistema: Windows, Linux, macOS
Descripción: para garantizar la confiabilidad del canal de control y evitar exceder los valores umbral de los datos transmitidos, los atacantes pueden usar canales de respaldo o de comunicación alternativos si el canal principal C2 está comprometido o no está disponible.
Sistema: Windows, Linux, macOS
Descripción: los atacantes pueden crear canales C2 de etapas múltiples que se utilizan en diversas condiciones o para funciones específicas. El uso de varios pasos puede confundir y ofuscar el canal C2, lo que dificulta su detección.
Las RAT que se ejecutan en el host de destino inician una conexión con el servidor C2 de primer nivel. El primer paso puede tener capacidades automatizadas para recopilar información básica sobre el host, ejecutar herramientas de actualización y descargar archivos adicionales. A continuación, se puede iniciar una segunda herramienta RAT para redirigir el host al servidor de segundo nivel C2. La segunda etapa de C2, muy probablemente, será completamente funcional y permitirá al enemigo interactuar con el sistema objetivo a través del caparazón inverso y las funciones adicionales de RAT.
Los pasos C2, muy probablemente, se colocarán por separado sin cruzar su infraestructura. El gestor de arranque también puede tener retroalimentación de primera etapa redundante o canales de reserva en caso de que el canal original de primera etapa sea detectado y bloqueado.
Recomendaciones de protección: la infraestructura C2 utilizada para organizar canales de múltiples etapas puede bloquearse si se conoce de antemano. Si hay firmas únicas en el tráfico C2, se pueden usar para identificar y bloquear el canal.
Sistema: Windows, Linux, macOS
Descripción: para ocultar la fuente del tráfico malicioso, un adversario puede usar una cadena de varios servidores proxy. Como regla general, el defensor podrá determinar solo el último proxy. El uso de multiproxing hace que la identificación de la fuente del tráfico malicioso sea más difícil, lo que requiere que la parte defensora monitoree el tráfico malicioso a través de varios servidores proxy.
Recomendaciones de protección: el tráfico a redes anónimas conocidas (como Tor) y las infraestructuras C2 pueden bloquearse mediante la organización de listas en blanco y negro. Sin embargo, debe prestar atención a que este método de bloqueo se puede eludir utilizando técnicas similares a Fronting de dominio.
Sistema: Windows, Linux, macOS
Descripción: algunos oponentes pueden dividir el canal de datos C2 entre diferentes protocolos. Los comandos entrantes se pueden transmitir a través de un protocolo y los datos salientes de una manera diferente, lo que le permite evitar ciertas restricciones de firewall. La separación también puede ser accidental para evitar advertencias sobre el exceder los valores de umbral para cualquier mensaje individual.
Recomendaciones de protección: analice el contenido de los paquetes para encontrar conexiones que no coincidan con el comportamiento del protocolo esperado para el puerto utilizado. Las alertas coincidentes entre múltiples canales de comunicación también pueden ayudar a detectar C2.
Sistema: Windows, Linux, macOS
Descripción: un adversario puede aplicar varios niveles de cifrado de tráfico C2. Como regla general (pero no se excluyen otras opciones), se utiliza un túnel adicional utilizando su propio esquema de cifrado como parte del cifrado HTTPS o SMTPS.
Consejos de seguridad: el uso de protocolos de cifrado puede complicar el descubrimiento típico de C2 basado en análisis de tráfico basado en firmas. Si el malware usa un protocolo criptográfico estándar, la inspección SSL / TLS se puede usar para detectar el tráfico C2 en algunos canales cifrados. La verificación SSL / TLS implica ciertos riesgos que deben considerarse antes de la implementación para evitar posibles problemas de seguridad, como la
verificación incompleta del certificado . Después de la verificación SSL / TLS, es posible que se requiera un análisis criptográfico adicional para el cifrado de segundo nivel.
Sistema: Linux, macOS
Derechos: usuario
Descripción: los atacantes pueden usar los métodos de detección de puertos para ocultar los puertos abiertos que usan para conectarse al sistema.
Consejos de
seguridad: el uso de firewalls con estado puede evitar que se implementen algunas opciones de Knock Port.
Sistema: Windows, Linux, macOS
Descripción: para establecer un modo de comando y control interactivo, un atacante puede usar software legítimo diseñado para ellos. soporte de estación de trabajo y software para acceso remoto, por ejemplo, TeamViewer, Go2Assist, LogMain, AmmyAdmin, etc., que generalmente utilizan los servicios de soporte técnico y pueden incluirse en la lista blanca. Las herramientas de acceso remoto, como VNC, Ammy y Teamview, son las más utilizadas por los ingenieros de soporte técnico y los ciberdelincuentes.
Las herramientas de acceso remoto se pueden instalar después de que el sistema se haya visto comprometido para su uso como un canal C2 alternativo. También se pueden usar como un componente de malware para establecer una conexión inversa con un servidor o sistema controlado por un adversario.
Las herramientas de administración, como TeamViewer, fueron utilizadas por varios grupos centrados en agencias gubernamentales en países de interés para empresas estatales y criminales rusas.
Recomendaciones de protección: las herramientas de acceso remoto se pueden usar junto con las técnicas de Dominio de dominio, por lo que es aconsejable evitar que el adversario instale herramientas RAT utilizando herramientas de seguridad de host.
Sistema: Windows, Linux, macOS
Descripción: los archivos se pueden copiar de un sistema a otro para implementar herramientas enemigas u otros archivos. Los archivos se pueden copiar desde un sistema externo controlado por un atacante, a través del canal C&C o utilizando otras herramientas que utilizan protocolos alternativos, como FTP. Los archivos también se pueden copiar a Mac y Linux utilizando herramientas integradas como scp, rsync, sftp.
Los enemigos también pueden copiar archivos lateralmente entre sistemas internos de víctimas para soportar el movimiento de la red y la ejecución remota de comandos. Esto se puede hacer usando protocolos para compartir archivos conectando recursos de red a través de SMB o usando conexiones autenticadas a Windows Admin Shares o RDP.
Recomendaciones de protección: como medio de detección, se
recomienda monitorear la creación y transferencia de archivos a través de la red a través del protocolo SMB. Los procesos inusuales con conexiones de red externas que crean archivos dentro del sistema también deberían ser sospechosos. El uso atípico de utilidades como FTP también puede ser sospechoso.
Sistema: Windows, Linux, macOS
Descripción: para evitar detectar y mezclar el tráfico C2 con el tráfico de red existente, los atacantes pueden utilizar protocolos estándar de nivel de aplicación como HTTP, HTTPS, SMTP o DNS. Para las conexiones dentro del canal C2 (enclave), por ejemplo, entre el servidor proxy y el nodo maestro y otros nodos, generalmente se utilizan los protocolos RPC, SSH o RDP.
Sistema: Windows, Linux, macOS
Descripción: los opositores pueden usar algoritmos de cifrado bien conocidos para ocultar el tráfico C2. A pesar del uso de un algoritmo robusto, si las claves secretas son encriptadas y generadas por malware y / o almacenadas en archivos de configuración, entonces el tráfico C2 puede divulgarse mediante ingeniería inversa.
Sistema: Windows, Linux, macOS
Descripción: los protocolos de capa sin aplicación del modelo OSI se pueden utilizar para la comunicación entre el host infectado y el servidor o para la interacción de los hosts infectados en la red. En implementaciones bien conocidas, se utilizaron el protocolo de capa de red (ICMP), la capa de transporte (UDP), la capa de sesión (SOCKS) y protocolos como redireccionado / tunelizado, como Serial over LAN (SOL).
Los ciberdelincuentes suelen utilizar ICMP para ocultar la comunicación entre los hosts. Dado que ICMP es parte de Internet Protocol Suite y debe ser implementado por todos los dispositivos compatibles con IP, no se monitorea con tanta frecuencia como otros protocolos, como TCP o UDP.
Sistema: Windows, Linux, macOS
Descripción: Los adversarios pueden comunicarse a través de C2 a través de un puerto no estándar para evitar servidores proxy y firewalls que no se configuraron correctamente.
Sistema: Windows
Derechos: usuario
Descripción: los atacantes pueden usar un servicio web externo legítimo en ejecución como medio para enviar comandos para controlar un sistema infectado. Los servidores de administración se denominan Comando y control (C&C o C2). Los sitios web populares y las redes sociales pueden actuar como un mecanismo para C2, y también se pueden usar varios servicios públicos como Google o Twitter. Todo esto ayuda a ocultar la actividad maliciosa en el flujo de tráfico general. Los servicios web generalmente usan SSL / TLS, por lo que los adversarios obtienen una capa adicional de protección.
Recomendaciones de protección: se pueden usar firewalls y proxies web para implementar políticas para restringir las comunicaciones de red externas.
Recomendaciones generales sobre la organización de medidas para la prevención y detección de C2
• Los sistemas IDS / DLP que utilizan análisis de tráfico basados en firmas se pueden usar para detectar y bloquear herramientas C2 específicas conocidas y programas maliciosos, por lo que el adversario probablemente cambiará las herramientas utilizadas con el tiempo o configurará el protocolo de transferencia de datos para evitar la detección por medios conocidos por él protección
• Utilice herramientas de protección antivirus de punto final para bloquear herramientas y malware C2 específicos conocidos;
• Asegúrese de que los hosts en la red interna sean accesibles solo a través de interfaces autorizadas;
• Limite el tráfico saliente permitiendo solo los puertos necesarios en los firewalls y servidores proxy a través de las puertas de enlace de red apropiadas;
• Bloquear dominios y direcciones IP de infraestructuras C2 conocidas. Sin embargo, debe tenerse en cuenta que esta no es una solución efectiva y a largo plazo, ya que
los oponentes a menudo pueden cambiar la infraestructura de C2;• Utilice las herramientas de la lista blanca de aplicaciones para dificultar la instalación y ejecución de software de terceros;• Usando firewalls, firewalls de aplicaciones y proxies, limite el tráfico saliente a sitios y servicios utilizados por herramientas de acceso remoto conocidas (TeamViewer, Go2Assist, LogMain, AmmyAdmin, etc.);• Si el malware usa su propio cifrado con claves simétricas, entonces, utilizando ingeniería inversa de muestras de software, es posible obtener un algoritmo y una clave para decodificar el tráfico de red e identificar firmas de malware;• Monitorear llamadas a funciones API relacionadas con la inclusión o el uso de canales de comunicación alternativos;• Analizar el tráfico de red para mensajes ICMP u otros protocolos que contienen datos anormales o que generalmente no son visibles en la red o fuera de ella;• Analice los flujos de red para identificar flujos anormales, por ejemplo, cuando un cliente envía significativamente más datos de los que recibe de un servidor o cuando un proceso que generalmente no usa una red abre conexiones de red;• Analice los flujos de red para identificar paquetes que no cumplan con el estándar de protocolo para el puerto utilizado.