Pular para o conteúdo principal
Fechar
Segurança

NATS como C2: Quando a Infra Vira Arma do Atacante

Gabriel Ferraresi· CEO | Tech8614 de maio de 20265 min
natsc2segurançamicroserviçoslangflow

O C2 do atacante não é mais um painel HTTP. É um message broker pub/sub com autenticação, ACLs e filas duráveis. Na Tech86, acompanhamos a evolução das táticas de comando e controle, e o caso NATS-as-C2 publicado pela Sysdig representa uma mudança de paradigma que a maioria das equipes de segurança ainda não percebeu.

O ataque que reescreveu o playbook de C2

Em março de 2026, a CISA adicionou a CVE-2026-33017 ao Known Exploited Vulnerabilities catalog. A vulnerabilidade: execução remota de código sem autenticação no Langflow, plataforma de orquestração de IA. O que aconteceu depois mostra a velocidade e a sofisticação do ataque moderno.

Em 30 minutos, o atacante explorou a vulnerabilidade, extraiu credenciais AWS da memória do processo e validou acesso via sts:GetCallerIdentity. Reconhecimento completo: Bedrock, S3, EC2, Lambda, IAM. Tentou escape de container via DirtyPipe e DirtyCreds. E então instalou o que ninguém esperava: um servidor NATS como infraestrutura de comando e controle.

O servidor foi configurado em 45.192.109.25:14222 — com autenticação e ACLs por subject. O atacante não improvisou. Montou infraestrutura de produção para controlar máquinas comprometidas.

Por que NATS é o C2 perfeito

C2 tradicional usa painéis HTTP, webhooks, Discord, Telegram. São canais que equipes de segurança monitoram há anos. NATS é diferente.

NATS oferece pub/sub com autenticação nativa, ACLs por subject, filas duráveis e fan-out. São as mesmas propriedades que engenheiros escolhem para microserviços de produção. Quando o atacante usa essas propriedades para C2, o tráfego é indistinguível do legítimo.

Se sua infraestrutura usa NATS, tráfego NATS outbound é permitido por padrão. Um worker malicioso conectado ao broker do atacante passa despercebido porque o protocolo, a porta e o padrão de comunicação são idênticos aos dos seus microserviços. Seu SIEM não alerta. Seu firewall não bloqueia. Seu IDS não detecta.

O worker KeyHunter: um scanner, duas fontes de receita

O atacante não se limitou a um canal de comando. Implementou um worker chamado KeyHunter com quatro capacidades mapeadas como NATS subjects:

  • task.scan_cde — escaneia ambientes cloud de desenvolvimento atrás de credenciais expostas
  • task.scan_web — escaneia CodePen, JSFiddle, StackBlitz, CodeSandbox procurando API keys vazadas
  • task.validate_aws — valida credenciais AWS em tempo real antes de reportar
  • task.validate_ai — valida chaves OpenAI, Anthropic, HuggingFace em tempo real

Um worker. Duas fontes de receita: credenciais cloud e chaves de IA. Do mesmo scan. Validadas antes de reportar ao operador. Isso é eficiência operacional de nível empresarial — aplicada para roubo de credenciais.

A arquitetura de subjects permite que o operador publique tarefas em um subject e receba resultados em outro, com fan-out para múltiplos workers. Escala horizontal sem esforço. O C2 não é um painel centralizado — é um sistema distribuído.

Persistência e escala sobre stealth

O atacante configurou persistência via systemd com Restart=always e FD limits de 65.535. Workers escritos em Python e Go, compilados para múltiplas arquiteturas. Hospedados em VPS baratas na DigitalOcean.

A estratégia é clara: escala sobre stealth. Não é mais preciso esconder um painel HTTP ou um canal Discord. Basta usar infraestrutura que parece legítima. O custo é baixo, a resiliência é alta, e a detecção é difícil porque ninguém está procurando por tráfego NATS malicioso.

Essa abordagem de persistência é particularmente perigosa porque sobrevive a reinicializações e não deixa artefatos óbvios nos logs de segurança tradicionais. Um serviço systemd com nome genérico não levanta suspeitas. Um processo Go consumindo poucos recursos não chama atenção.

A janela de exposição das plataformas de IA

Langflow, n8n e plataformas de orquestração de IA precisam de acesso outbound para endpoints de LLM. Essa necessidade cria uma janela de exposição ampla. O acesso outbound permissivo é exatamente o canal que o worker precisa para alcançar o broker C2.

Na Tech86, vemos repetidamente equipes configurando acesso outbound amplo para workloads de IA porque "precisa funcionar". Funciona — para o atacante também. A ausência de restrição de egress é o que transforma uma vulnerabilidade de RCE em um comprometimento persistente com canal C2 invisível.

O erro não é usar Langflow ou n8n. O erro é permitir que esses workloads acessem qualquer destino outbound sem restrição. A CVE-2026-33017 foi corrigida. A próxima vulnerabilidade em uma plataforma de IA não será. Mas com egress allowlist, o atacante não consegue alcançar o broker C2 mesmo com RCE.

A defesa que funciona: egress allowlist

A defesa contra NATS-as-C2 não é detectar o protocolo — é restringir o destino. Egress allowlist é a medida mais eficaz: restrinja o tráfego outbound de workloads de IA e automação para endpoints específicos. Tráfego NATS outbound para IPs não autorizados deve ser bloqueado e alertado.

Na Tech86, implementamos monitoramento de tráfego outbound e egress allowlisting para workloads de IA porque o próximo C2 pode estar escondido na mesma infraestrutura que seus microserviços usam. Nossa Blindagem Perímetro WAF inclui inspeção de tráfego egress e regras de allowlist que impedem que um worker comprometido alcance brokers não autorizados.

O atacante evoluiu. Sua defesa precisa evoluir junto. Quando o C2 se disfarça de infraestrutura legítima, a única defesa é garantir que tráfego ilegítimo nunca saia da sua rede.

Interessado nesta solução?

Conheça nossos serviços gerenciados e infraestrutura.

Conheça Blindagem Perímetro WAF

Perguntas Frequentes

Sim, se você não controla o tráfego outbound. O problema não é o NATS em si, mas a ausência de egress allowlist. Um worker malicioso pode se conectar a um broker NATS externo e passar despercebido porque o protocolo é legítimo.

Pela CVE-2026-33017 — RCE sem autenticação no Langflow. A vulnerabilidade estava no CISA KEV desde março. Quem não corrigiu a tempo deixou a porta aberta para extração de credenciais e instalação do C2 em 30 minutos.

Não. Firewalls baseados em porta e protocolo veem tráfego TCP legítimo. A detecção exige inspeção de comportamento — para onde o tráfego vai, quais subjects são usados, e se o destino está na sua lista de brokers autorizados.

São alvos privilegiados. Essas plataformas precisam de acesso outbound amplo para endpoints de LLM. Esse acesso é exatamente o canal que o worker precisa para alcançar o broker C2. Restringir outbound é a defesa mais eficaz.

É uma lista de destinos outbound permitidos — nada sai que não esteja na lista. Implemente no nível de rede (security groups, NACLs) e no nível de proxy (egress gateways). Para workloads de IA, restrinja a IPs e domínios específicos dos provedores de LLM.

Blog — Fale Conosco

Tem alguma pergunta sobre nossos artigos ou serviços? Nossa equipe está pronta para ajudar.

Agendar Reunião

Reserve um horário.

Agendar Agora

E-mail

Envie uma mensagem.

[email protected]

WhatsApp

Conversa rápida.

Endereço

Avenida Paulista, 1636 - São Paulo - SP - 01310-200

Especialista Tech86

Online agora

Olá! Como podemos ajudar a escalar seu negócio hoje?

Tech86 Engineering

Nós valorizamos sua privacidade

Utilizamos cookies e tecnologias similares para otimizar a sua experiência, analisar o tráfego do site e personalizar conteúdo. Ao clicar "Aceitar Todos", você concorda com o uso de todos os cookies. Leia nossa Política de Privacidade.