# T1048 - Exfiltration Over Alternative Protocol ## Descrição Adversários podem roubar dados exfiltrando-os por um protocolo diferente daquele utilizado no canal de comando e controle principal. Os dados também podem ser enviados para um destino de rede alternativo ao servidor C2 principal - um servidor FTP adversarial, um bucket de armazenamento em nuvem, ou uma caixa de e-mail controlada pelo atacante, por exemplo. Essa separação entre o canal de controle e o canal de exfiltração dificulta a correlação de eventos e pode contornar regras de detecção que monitorem apenas o tráfego C2. Protocolos alternativos frequentemente explorados incluem FTP, SFTP, SMTP, DNS, SMB, ICMP, IRC, entre outros que não coincidam com o protocolo principal do canal C2. Adversários podem também optar por criptografar e/ou ofuscar esses canais alternativos para dificultar ainda mais a inspeção. Em sistemas macOS e Linux, utilitários nativos como `curl`, `wget`, `scp`, `rsync` e `nc` (netcat) podem ser utilizados para invocar protocolos como HTTP/S, FTP/S ou SSH/SCP para exfiltrar dados de forma "living-off-the-land", evitando a necessidade de ferramentas externas que possam ser detectadas. Em ambientes de nuvem (IaaS e SaaS), plataformas como Microsoft Exchange, Microsoft SharePoint, GitHub e AWS S3 suportam o download direto de arquivos, e-mails, código-fonte e outras informações sensíveis via console web ou [[t1059-009-cloud-api|Cloud API]]. Adversários com credenciais válidas (obtidas via [[t1078-valid-accounts|T1078 - Valid Accounts]] ou [[t1528-steal-application-access-token|T1528 - Steal Application Access Token]]) podem abusar dessas interfaces legítimas para exfiltrar dados volumosos sem precisar de malware adicional, tornando a detecção ainda mais desafiadora. ## Como Funciona O adversário seleciona um protocolo de rede distinto do canal C2, frequentemente escolhendo um que estejá menos monitorado pelo time de segurança da vítima ou que sejá permitido pelas regras de firewall de saída. O processo típico envolve: 1. **Reconhecimento de protocolos permitidos**: identificar quais protocolos têm saída liberada no firewall da organização-alvo (DNS, SMTP, FTP, etc.). 2. **Configuração da infraestrutura de recepção**: preparar um servidor FTP, caixa de e-mail, bucket S3 ou servidor DNS adversarial para receber os dados. 3. **Coleta e preparação dos dados**: agregar arquivos de interesse via [[t1074-data-staged|T1074 - Data Staged]], comprimindo e potencialmente criptografando o payload. 4. **Transmissão pelo protocolo alternativo**: executar a exfiltração usando o protocolo escolhido - ex.: `ftp` para upload de arquivos, `nslookup` com dados codificados em subdomínios DNS, `sendmail` para envio de e-mails com anexos, ou `curl` para upload a buckets S3. 5. **Recuperação no destino adversarial**: os dados chegam ao servidor de destino controlado pelo atacante prontos para análise. A técnica é especialmente eficaz quando o protocolo escolhido tem baixa visibilidade nos logs de segurança da organização - por exemplo, DNS é frequentemente monitorado apenas para resolução de nomes, não para volume de dados transportado. ## Attack Flow ```mermaid graph TB A[Acesso estabelecido no sistema comprometido] --> B[Coleta e estagiamento de dados sensíveis - T1074] B --> C[Reconhecimento dos protocolos de saída permitidos] C --> D[Seleção do protocolo alternativo: DNS / FTP / SMTP / ICMP / SMB] D --> E[Preparação da infraestrutura de recepção adversarial] E --> F[Compressão e cifragem do payload coletado] F --> G[Transmissão pelo protocolo alternativo escolhido] G --> H[Dados recebidos no servidor adversarial controlado] ``` ## Sub-técnicas - [[t1048-001-exfiltration-over-symmetric-encrypted-non-c2-protocol|T1048.001 - Exfiltration Over Symmetric Encrypted Non-C2 Protocol]] - [[t1048-002-exfiltration-over-asymmetric-encrypted-non-c2-protocol|T1048.002 - Exfiltration Over Asymmetric Encrypted Non-C2 Protocol]] - [[t1048-003-exfiltration-over-unencrypted-non-c2-protocol|T1048.003 - Exfiltration Over Unencrypted Non-C2 Protocol]] ## Exemplos de Uso **TeamTNT - Campanhas de cryptomining em contêineres Docker** O grupo [[g0139-teamtnt|TeamTNT]] utilizou protocolos de transferência de arquivos não-C2 para exfiltrar credenciais de nuvem coletadas de contêineres Docker comprometidos, incluindo tokens AWS, credenciais do Docker Hub e chaves SSH, transmitindo-as via HTTP para servidores de coleta dedicados separados da infraestrutura C2. **Play Ransomware - Exfiltração pré-criptografia** O grupo [[g1040-play|Play]] (ransomware) documentadamente utiliza ferramentas como WinSCP e RClone para exfiltrar dados de vítimas via SFTP e integrações com serviços de armazenamento em nuvem como Mega.nz e Dropbox, utilizando protocolos HTTPS e FTP/S como canais de exfiltração alternativos antes de executar a criptografia dos arquivos. **APT32 (OceanLotus) - Exfiltração DNS em campanhas no Sudeste Asiático e Brasil** O [[g0050-apt32|APT32]] utilizou tunelamento DNS para exfiltrar dados de ambientes comprometidos, codificando os dados em consultas DNS para subdomínios de domínios controlados pelo grupo - técnica que contorna muitas políticas de firewall que permitem DNS irrestrito. **FIN7 - Exfiltração via SMTP em ataques ao setor financeiro** O [[g0046-fin7|FIN7]] utilizou canais SMTP para enviar dados coletados de sistemas POS (point-of-sale) como anexos de e-mail criptografados para caixas de correio adversariais, explorando o fato de que muitas organizações de varejo têm SMTP de saída menos monitorado do que tráfego web. **Bundlore e PoetRAT - Malware com exfiltração alternativa** O [[s0482-bundlore|Bundlore]] (macOS adware) e o [[s0428-poetrat|PoetRAT]] utilizaram protocolos HTTP/S alternativos e FTP para exfiltrar dados de navegadores e sistemas de arquivos, aproveitando utilitários nativos do sistema operacional. ## Detecção ```yaml title: Exfiltração de dados via protocolo alternativo ao canal C2 status: experimental logsource: category: network_connection product: windows detection: selection_ftp_upload: dst_port: - 21 - 22 - 990 - 2121 network_direction: egress bytes_sent|gte: 1048576 selection_dns_exfil: query_length|gte: 50 query_count_per_minute|gte: 100 dst_port: 53 selection_smtp_attachment: dst_port: - 25 - 465 - 587 bytes_sent|gte: 2097152 selection_suspicious_process: Image|endswith: - '\ftp.exe' - '\bitsadmin.exe' - '\certutil.exe' - '\rclone.exe' - '\winscp.exe' Initiated: 'true' condition: selection_ftp_upload or selection_dns_exfil or selection_smtp_attachment or selection_suspicious_process level: high tags: - attack.exfiltration - attack.t1048 ``` Pontos adicionais de detecção: - **DNS**: consultas excessivamente longas (subdomain > 50 caracteres) ou volume anormal de queries DNS para um único domínio externo indicam possível tunelamento DNS para exfiltração. - **ICMP**: pacotes ICMP de tamanho incomum (payload > 64 bytes) saindo de workstations podem indicar exfiltração via ICMP tunneling. - **Ferramentas de sincronização em nuvem**: presença e execução de `rclone`, `megaSync`, `restic` ou `duplicati` em servidores corporativos sem justificativa de negócio é indicador de alto risco. - **Análise de baseline**: comparar o volume de tráfego por protocolo com a baseline histórica - um host que nunca enviou FTP e começa a fazê-lo com volume significativo merece investigação imediata. ## Mitigação | ID | Mitigação | Descrição | |----|-----------|-----------| | M1030 | [[m1030-network-segmentation\|M1030 - Network Segmentation]] | Segmentar a rede de forma que servidores internos e workstations não tenham acesso direto à internet via protocolos alternativos (FTP, DNS externo irrestrito, SMTP direto); forçar o uso de proxies inspecionados | | M1057 | [[m1057-data-loss-prevention\|M1057 - Data Loss Prevention]] | Implementar DLP com visibilidade sobre múltiplos protocolos (FTP, SMTP, HTTP, DNS) para detectar e bloquear transferências de dados sensíveis para destinos externos não autorizados | | M1037 | [[m1037-filter-network-traffic\|M1037 - Filter Network Traffic]] | Bloquear protocolos desnecessários de saída (FTP direto, ICMP externo, DNS exceto para resolvers corporativos) utilizando firewall de próxima geração com inspeção de protocolo | | M1031 | [[m1031-network-intrusion-prevention\|M1031 - Network Intrusion Prevention]] | Implantar IPS com assinaturas para tunelamento DNS, exfiltração via ICMP e uso de ferramentas de sincronização (RClone, WinSCP) em contextos anômalos | | M1022 | [[m1022-restrict-file-and-directory-permissions\|M1022 - Restrict File and Directory Permissions]] | Restringir permissões de acesso a dados sensíveis para limitar o que um adversário com acesso inicial pode coletar antes de exfiltrar | | M1018 | [[m1018-user-account-management\|M1018 - User Account Management]] | Aplicar princípio de menor privilégio para contas de serviço e usuários; monitorar o uso de credenciais de serviço de nuvem (AWS, Azure, GCP) por processos não-autorizados | ## Contexto Brasil/LATAM O T1048 é especialmente relevante no Brasil por três fatores convergentes: a ampla adoção de serviços de armazenamento em nuvem (OneDrive, Google Drive, Dropbox) por empresas de todos os portes; a presença histórica de grupos como [[g0046-fin7|FIN7]] e [[g0050-apt32|APT32]] com operações documentadas na região; e a maturidade ainda crescente dos programas de monitoramento de rede no mercado médio brasileiro. O abuso de DNS como canal de exfiltração é de particular preocupação no contexto brasileiro, onde muitas organizações - especialmente fora do eixo São Paulo/Rio de Janeiro - ainda não implementam monitoramento de DNS além da resolução básica de nomes. Grupos de ransomware ativos no Brasil, como os que operam variantes de [[g1040-play|Play]] e LockBit, utilizam RClone e WinSCP para exfiltrar dados antes da criptografia, explorando conexões SFTP e integrações com serviços de armazenamento como Mega.nz. Recomenda-se que organizações brasileiras priorizem: (1) a implementação de DNS recursivo interno com logging completo de queries; (2) o bloqueio de FTP direto à internet substituído por proxies SFTP inspecionados; e (3) a criação de alertas para o uso de ferramentas de sincronização em nuvem (RClone, Mega) por processos não-interativos em servidores. ## Referências - [[t1048-001-exfiltration-over-symmetric-encrypted-non-c2-protocol|T1048.001 - Exfiltration Over Symmetric Encrypted Non-C2 Protocol]] - [[t1048-002-exfiltration-over-asymmetric-encrypted-non-c2-protocol|T1048.002 - Exfiltration Over Asymmetric Encrypted Non-C2 Protocol]] - [[t1048-003-exfiltration-over-unencrypted-non-c2-protocol|T1048.003 - Exfiltration Over Unencrypted Non-C2 Protocol]] - [[g1040-play|Play Ransomware]] - [[g0139-teamtnt|TeamTNT]] - [[g0050-apt32|APT32 - OceanLotus]] - [[g0046-fin7|FIN7]] - [[s0482-bundlore|Bundlore]] - [[s0428-poetrat|PoetRAT]] - [[t1074-data-staged|T1074 - Data Staged]] - [[t1078-valid-accounts|T1078 - Valid Accounts]] - [[m1030-network-segmentation|M1030 - Network Segmentation]] - [[m1057-data-loss-prevention|M1057 - Data Loss Prevention]] *Fonte: MITRE ATT&CK - T1048*