# T1573.001 - Encrypted Channel: Symmetric Cryptography > [!warning] Técnica de Comando e Controle > Adversários utilizam criptografia simétrica (AES, ChaCha20, XOR, RC4) para criptografar o tráfego C2, ocultando comandos e dados exfiltrados dentro de comúnicações que parecem legítimas para soluções de inspeção de rede. ## Visão Geral A sub-técnica T1573.001 descreve o uso específico de algoritmos de criptografia simétrica para proteger comúnicações entre implantes (malware) e infraestrutura de Comando e Controle. Na criptografia simétrica, a mesma chave é utilizada para criptografar e descriptografar dados, o que significa que a chave precisa estar presente no binário do malware ou ser derivada durante a execução. Esta é uma das técnicas C2 mais prevalentes no cenário de ameaças, utilizada por virtualmente todos os frameworks C2 modernos como [[s0154-cobalt-strike|Cobalt Strike]] (AES-256), Sliver (ChaCha20-Poly1305), Metasploit (XOR/RC4) e [[s1063-brute-ratel-c4|Brute Ratel]] (AES-256). Grupos APT como [[g0007-apt28|APT28]], [[g0016-apt29|APT29]], [[g0010-turla|Turla]] e [[g0032-lazarus-group|Lazarus Group]] implementam criptografia simétrica customizada em seus implantes proprietários. A principal vantagem da criptografia simétrica para adversários é a performance: algoritmos como AES e ChaCha20 são extremamente rápidos, permitindo comunicação C2 de baixa latência mesmo em dispositivos com recursos limitados. A principal fraqueza é a gestão de chaves - a chave deve existir no binário ou ser negociada, criando oportunidades para engenharia reversa e extração. A técnica parent [[t1573-symmetric-cryptography|T1573]] abrange o conceito geral de canais criptografados em mobile, enquanto esta sub-técnica foca específicamente no uso de criptografia simétrica como mecanismo de proteção do tráfego C2 em todas as plataformas. ## Attack Flow ```mermaid graph TB subgraph "Implante no Host" A["🦠 Malware Executado<br/>Implante ativo no endpoint"] B["🔑 Chave Simétrica<br/>Hardcoded ou derivada"] end subgraph "Canal C2 Criptografado" C["📡 Beacon Criptografado<br/>AES/ChaCha20 sobre HTTP(S)"] D["🔄 Troca de Comandos<br/>Payload criptografado bidirecional"] end subgraph "Infraestrutura C2" E["🖥️ Servidor C2<br/>Descriptografa com mesma chave"] F["📋 Painel do Operador<br/>Controle do implante"] end A --> B --> C --> E E --> D --> A E --> F classDef implant fill:#e74c3c,stroke:#c0392b,color:#ecf0f1 classDef crypto fill:#e67e22,stroke:#d35400,color:#ecf0f1 classDef c2 fill:#9b59b6,stroke:#8e44ad,color:#ecf0f1 class A,B implant class C,D crypto class E,F c2 ``` ## Algoritmos e Implementações | Algoritmo | Tipo | Força | Uso em Malware | |-----------|------|-------|----------------| | **AES-256-CBC** | Bloco | Forte | Cobalt Strike, APT29 implants, LockBit C2 | | **AES-128-GCM** | Bloco + auth | Forte | Implantes modernos com autenticação | | **ChaCha20-Poly1305** | Stream + auth | Forte | Sliver C2, implantes mobile modernos | | **XOR** | Stream (trivial) | Fraco | Banking trojans, malware commodity, ofuscação básica | | **RC4** | Stream | Fraco (deprecated) | Legacy malware, Emotet variantes antigas | | **3DES** | Bloco | Obsoleto | Implantes antigos de APTs | | **Custom XOR chain** | Customizado | Variável | Malware brasileiro, implantes one-off | ### Padrões de Gestão de Chaves 1. **Chave hardcoded** - Chave fixa no binário (mais comum, mais fácil de extrair) 2. **Chave derivada** - Gerada a partir de dados do host (hostname, MAC, timestamp) 3. **Troca Diffie-Hellman** - Negociação inicial seguida de sessão simétrica 4. **RSA + AES** - Chave AES criptografada com RSA público do C2 (mais seguro) 5. **Chave por sessão** - Nova chave a cada conexão (dificulta replay analysis) ### Exemplo de Tráfego ``` # Beacon HTTP com payload AES-256 POST /api/v2/check HTTP/1.1 Host: cdn-update.legitimate-site.com Content-Type: application/octet-stream [AES-256-CBC encrypted payload] [IV: 16 bytes | Encrypted data | HMAC: 32 bytes] ``` ## Detecção | Método | Fonte de Dados | Indicadores | |--------|----------------|-------------| | JA3/JA3S fingerprinting | Zeek, Suricata | TLS fingerprints de C2 frameworks conhecidos | | Entropy analysis | Network IDS | Payloads HTTP com alta entropia (dados criptografados) | | Behavioral analysis | NDR (Darktrace, Vectra) | Beacons regulares com payload de tamanho consistente | | Malware RE | Sandbox, YARA | Chaves AES/XOR extraídas de amostras | | Network metadata | Firewall, proxy logs | Comúnicação regular com IPs/domínios não-categorizados | | TLS inspection | SSL proxy | Detecção de camada de criptografia dentro de HTTPS | ### Regra Sigma ```yaml title: Tráfego HTTP com Payload de Alta Entropia (Possível C2 Criptografado) id: 4d6e8f0a-5b3c-4d7e-9f1a-2b3c4d5e6f7a status: experimental description: Detecta requisições HTTP com payload de alta entropia indicando criptografia simétrica logsource: category: proxy product: web detection: selection_method: cs-method: - POST - PUT selection_content: cs-content-type: - 'application/octet-stream' - 'application/x-www-form-urlencoded' filter_legitimate: cs-host|endswith: - '.microsoft.com' - '.google.com' - '.amazonaws.com' - '.cloudflare.com' selection_size: # Payloads C2 tipicamente entre 100 bytes e 10KB sc-bytes|gte: 100 sc-bytes|lte: 10240 condition: selection_method and selection_content and not filter_legitimate and selection_size falsepositives: - Uploads de arquivos binários legítimos - APIs que usam serialização binária level: medium tags: - attack.command_and_control - attack.t1573.001 ``` ## Mitigação - **Inspeção TLS/SSL** - Implementar [[TLS Inspection]] para descriptografar e inspecionar tráfego HTTPS, detectando camada adicional de criptografia - **Network Intrusion Prevention** - Utilizar [[m1031-network-intrusion-prevention|M1031]] com assinaturas para JA3 fingerprints de C2 frameworks conhecidos (Cobalt Strike, Sliver, Metasploit) - **DNS filtering** - Bloquear domínios recém-registrados e não-categorizados que frequentemente hospedam C2 - **Segmentação de rede** - Implementar [[m1030-network-segmentation|M1030]] para limitar comunicação outbound de segmentos críticos - **NDR/NTA** - Soluções de Network Detection and Response para identificar padrões de beaconing com entropia anômala - **Threat intelligence feeds** - Manter IOCs atualizados com IPs e domínios de infraestrutura C2 conhecida - **Egress filtering** - Restringir tráfego de saída a portas e protocolos necessários via [[m1037-filter-network-traffic|M1037]] ## Relevância LATAM/Brasil - **Banking trojans brasileiros** - Famílias como BrasDex, Grandoreiro e Mekotio utilizam XOR customizado ou AES para criptografar comunicação C2, frequentemente com servidores hospedados em provedores brasileiros (Locaweb, HostGator Brasil) - **Cobalt Strike pirata** - Versões crackeadas do [[s0154-cobalt-strike|Cobalt Strike]] são amplamente utilizadas por grupos cibercriminosos que operam no Brasil, com beacons AES-256 configurados para perfis de comunicação que imitam tráfego legítimo - **PIX fraud infrastructure** - Malware mobile brasileiro focado em fraude PIX utiliza AES para proteger comunicação com servidores que processam transferências fraudulentas no [[financial|setor financeiro]] - **Baixa adoção de NDR** - Poucas organizações brasileiras possuem soluções de Network Detection and Response, tornando canais criptografados eficazes para persistência de longo prazo - **Infraestrutura C2 local** - Adversários brasileiros frequentemente hospedam C2 em provedores nacionais para reduzir latência e evitar bloqueio por geolocalização, complicando investigações que dependem de colaboração internacional ## Referências - [MITRE ATT&CK - T1573.001](https://attack.mitre.org/techniques/T1573/001/) - [Recorded Future - C2 Encryption Analysis](https://www.recordedfuture.com/blog/rss.xml) - [Red Canary - Detecting Encrypted C2](https://redcanary.com/blog/) - [Salesforce JA3 - TLS Fingerprinting](https://github.com/salesforce/ja3) - [Cisco Talos - Cobalt Strike Analysis](https://blog.talosintelligence.com/feeds/posts/default)