C2 es el tráfico que usa un atacante para seguir controlando un dispositivo tras una brecha. Aquí tienes cómo funciona y cómo detectarlo y detenerlo (sin herramientas de ataque ni detalles operativos).
Dónde encaja en el flujo del ataque
El C2 no es la brecha en sí: viene después de ella.
El punto importante: el tráfico saliente de (2) es la oportunidad de detectar y cortar. Prevenir una brecha al 100 % es difícil, pero hay margen para notarla y detenerla en la fase del tráfico saliente.
C2, puerta trasera y botnet
Estos términos se confunden a menudo. Separados por su función, quedan así.
| Término | Qué significa | Relación con el C2 |
|---|---|---|
| C2 (C&C) | El canal de control remoto entre un atacante y un dispositivo comprometido, y el servidor que envía las órdenes | — |
| Puerta trasera | Un punto de entrada dejado en un dispositivo que se salta la autenticación normal | Suele comunicarse con el C2 para recibir órdenes |
| Botnet | Un gran grupo de dispositivos secuestrados que reciben órdenes del mismo C2 a la vez | El C2 controla muchos dispositivos desde un solo punto |
| RCE | Una vulnerabilidad que permite a alguien ejecutar código arbitrario en remoto | Una forma de conseguir la brecha que precede al C2 |
| Baliza | Un mensaje breve que un dispositivo envía al C2 a intervalos regulares | Una señal de que el C2 sigue activo |
Por qué se confunde con el tráfico normal
MITRE ATT&CK, que cataloga las técnicas de los atacantes, trata el C2 como una fase propia (TA0011): el adversario intenta comunicarse con los sistemas comprometidos para controlarlos. Una técnica típica que recoge es usar protocolos cotidianos, como el tráfico web y DNS, para mezclarse con el tráfico existente y evitar la detección y el filtrado.
Por eso bloquear números de puerto concretos no basta. Las mitigaciones que recoge ATT&CK son el filtrado del tráfico de red y la prevención de intrusiones en red. En la práctica, funcionan dos ideas:
- Limitar por destino: decide con una lista de permitidos a qué destinos puede conectarse un servidor y bloquea el resto del tráfico saliente
- Detectar por la forma: no mires el contenido, sino el destino, el intervalo, el volumen y qué programa se está comunicando
Cómo detectarlo (pistas)
| Pista | Qué mirar |
|---|---|
| Balizas (tráfico periódico) | Tráfico saliente regular hacia el mismo destino a intervalos |
| Destinos desconocidos | Dominios/IPs sospechosos (cotejar contra maliciosos conocidos = IOC) |
| DNS extraño | Consultas a dominios desconocidos; DNS anormalmente intenso |
| Rutas inesperadas | Tráfico saliente por puertos/protocolos inesperados |
Cómo defenderse
No sufrir la brecha en primer lugar (lo básico)
Restringir el tráfico saliente (egress)
Monitorizar los registros de DNS y de tráfico
Cotejar y bloquear destinos maliciosos conocidos
Caso real: cuando el tráfico saliente fue la pista
En el compromiso de Codecov (2021), que trata este sitio, se manipuló un script distribuido que se ejecutaba en CI, y según lo informado se enviaron secretos desde los entornos de CI de los clientes a un servidor externo durante unos dos meses. Como el código manipulado no era de los propios clientes, revisar su código no lo habría detectado.
La pista que se puede comprobar a posteriori es el tráfico saliente desde CI hacia un destino desconocido. Si el tráfico saliente de CI se hubiera limitado a los destinos necesarios, registrando todo lo demás, habría habido margen para bloquear el envío o notarlo antes. Sea C2 o robo de datos, un ataque posterior a la brecha tiene que comunicarse con el exterior para lograr su objetivo.
Cómo comprobarlo en tu propio entorno
- Lista las conexiones salientes actuales: en Windows,
Get-NetTCPConnection -State Establishedmuestra cada destino y suOwningProcess(el ID del programa que se comunica), yGet-Process -Id <ID>da el nombre del programa. En Linux,ss -tunphace lo mismo - Revisa las reglas de salida en la nube: por ejemplo, el grupo de seguridad predeterminado de AWS permite todo el tráfico saliente. Anota a qué necesita conectarse realmente tu servidor (actualizaciones del sistema operativo, API de pago o de correo, etc.) y restringe el resto
- Revisa el historial de consultas DNS: en los registros de tu router o de tu servicio DNS, busca consultas a dominios desconocidos que se repitan a intervalos regulares
- Cuenta por destino: agrega los registros del proxy o del cortafuegos por destino y busca pequeñas cantidades de tráfico con el mismo intervalo durante todo el día. Cuando encuentres uno, comprueba a quién pertenece el destino para saber si es una comprobación de actualizaciones legítima
- Coteja con destinos publicados: busca en tus registros los destinos C2 (IOC) publicados por autoridades o fabricantes
La opinión de este sitio: protege también el tráfico saliente, y confirmar que 'no hay C2' es parte de la investigación
La mayor lección que aporta el concepto de C2 es que la defensa no consiste solo en evitar la brecha. Aun cuando la prevención perfecta es difícil, hay margen para restringir el tráfico saliente y notar llamadas de retorno sospechosas. En este sitio mantenemos «un diseño que no sufra brechas (parcheo, mínimo privilegio, MFA)» como objetivo principal, mientras conservamos el control de salida y la monitorización del tráfico como capa final. Ten en cuenta que, cuando se sospecha una brecha, confirmar que no hay C2 residente (una puerta trasera o tráfico periódico ilícito) es un paso clave. Para concluir que «el impacto fue limitado» no puedes saltarte la revisión del tráfico saliente.
Fuentes (primarias)
- MITRE ATT&CK, "Command and Control (TA0011)" — attack.mitre.org (definición de la fase C2)
- MITRE ATT&CK, "Application Layer Protocol (T1071)" — attack.mitre.org (mezclarse con el tráfico existente y mitigaciones como el filtrado de tráfico)
- AWS, "Default security groups for your VPCs" — docs.aws.amazon.com (reglas de salida predeterminadas)
- Las fuentes de Codecov figuran en el artículo del caso
Sigue leyendo
- Casos: El compromiso de Codecov (2021) · La brecha de Capital One (2019)
- Glosario: Qué es EDR · Qué es una puerta trasera (el punto de apoyo que se comunica con el C2) · Qué es RCE · Qué es un IOC · Qué es un IOA · Qué es el ransomware · Qué es el malware