# T1552.004 - Private Keys > [!info] Técnica MITRE ATT&CK > **Tática:** Credential Access · **ID:** T1552.004 · **Técnica pai:** T1552 - Unsecured Credentials · **Plataformas:** Windows, Linux, macOS, Network Devices ## Descrição A sub-técnica **T1552.004 - Private Keys** descreve a busca e exfiltração de chaves criptográficas privadas e certificados armazenados de forma insegura em sistemas comprometidos. Chaves privadas são o componente mais sensível de qualquer infraestrutura de identidade digital: quem as possui pode se autenticar como a entidade legítima, decifrar comúnicações históricas, assinar código malicioso com certificados válidos ou assumir o controle de serviços de infraestrutura crítica. Os formatos de arquivo mais comuns para chaves privadas e certificados incluem: `.key`, `.pem`, `.pfx`, `.p12`, `.ppk`, `.pgp`, `.gpg`, `.cer`, `.p7b`, `.asc`. Adversários sistematicamente varrem o sistema de arquivos procurando por essas extensões, especialmente em diretórios como `~/.ssh/` (Linux/macOS), `C:\Users\<usuário>\.ssh\` (Windows), `%APPDATA%\` e diretórios de configuração de aplicações como clientes FTP, browsers e ferramentas de desenvolvimento. Quando dispositivos de rede (roteadores, firewalls, switches gerenciáveis) são comprometidos, a técnica [[t1059-008-network-device-cli|Network Device CLI]] pode ser usada para exportar chaves PKI via comandos como `crypto pki export` em equipamentos Cisco IOS. Essa variante é especialmente utilizada por grupos de espionagem como [[g1017-volt-typhoon|Volt Typhoon]], que comprometeu infraestrutura de rede crítica nos EUA e em aliados para preparar operações de longo prazo. Grupos como [[g1015-scattered-spider|Scattered Spider]] exploram extensivamente chaves SSH e certificados de code signing para movimento lateral em ambientes de nuvem (AWS, GCP, Azure), enquanto [[g0139-teamtnt|TeamTNT]] e [[g0106-rocke|Rocke]] focam em chaves SSH de servidores Linux para propagação horizontal em clusters Kubernetes e ambientes de CI/CD. O [[g1053-storm-0501|Storm-0501]] combina coleta de chaves com o uso de [[mimikatz|Mimikatz]] para extrair materiais de autenticação de dispositivos Microsoft Entra ID (Azure AD) registrados em endpoints comprometidos. **Técnica pai:** [[t1552-unsecured-credentials|T1552 - Unsecured Credentials]] ## Como Funciona O processo de exploração da técnica T1552.004 segue etapas bem definidas, variando de acordo com o sistema operacional alvo: **Sistemas Linux/macOS:** O atacante executa comandos de busca no sistema de arquivos procurando extensões de chave: ``` find / -name "*.pem" -o -name "*.key" -o -name "*.ppk" 2>/dev/null find ~/.ssh/ -type f ``` Chaves SSH sem passphrase podem ser usadas diretamente para conexão em outros servidores onde a chave pública estejá registrada em `~/.ssh/authorized_keys`. Chaves com passphrase são submetidas a ataques offline com ferramentas como `ssh2john` + Hashcat/JtR. **Sistemas Windows:** Além do diretório `%USERPROFILE%\.ssh\`, adversários buscam chaves em: - Gerenciadores de credenciais: `cmdkey /list`, `vaultcmd /listcreds` - Certificados no Certificaté Store: `certutil -store My`, `certutil -exportPFX` - Repositórios de aplicações: PuTTY (registro HKCU\Software\SimonTatham\PuTTY\SshHostKeys), WinSCP, FileZilla - Chaves de code signing em repositórios de desenvolvimento: `.pfx` em pastas de projetos **Dispositivos de Rede:** Em equipamentos Cisco IOS comprometidos, o comando `show crypto pki certificates verbose` lista todos os certificados instalados, e `crypto pki export <trustpoint> pem` exporta a chave privada associada. Isso permite ao adversário impersonar o dispositivo ou decifrar tráfego VPN capturado anteriormente. **Microsoft Entra ID (Azure AD):** Em dispositivos registrados no Entra ID, são gerados automaticamente uma Device Key e uma Transport Key. Com acesso ao sistema, ferramentas como [[s0677-aadinternals|AADInternals]] podem exportar essas chaves para impersonar o dispositivo e obter tokens de acesso a recursos de nuvem sem precisar de credenciais do usuário. **Chaves com Passphrase:** Quando a chave privada está protegida por senha, o adversário pode: 1. Usar [[t1056-input-capture|Input Capture]] (keylogging) para capturar a passphrase durante o uso legítimo 2. Exportar o arquivo cifrado e realizar ataque de força bruta offline ([[t1110-brute-force|Brute Force]]) 3. Usar engenharia social para obter a passphrase do proprietário ## Attack Flow ```mermaid graph TB A["Acesso inicial ao sistema<br/>(endpoint, servidor, dispositivo de rede)"] --> B["Reconhecimento local<br/>(processos, usuários, diretórios)"] B --> C["Varredura por arquivos de chave<br/>(.pem, .key, .ppk, .pfx, .p12)"] C --> D1["Chaves SSH sem passphrase<br/>(~/.ssh/id_rsa, id_ed25519)"] C --> D2["Certificados e PFX<br/>(code signing, TLS, VPN)"] C --> D3["Chaves de dispositivo de rede<br/>(Cisco, Fortinet, Juniper)"] C --> D4["Chaves Entra ID / Azure AD<br/>(AADInternals)"] D1 --> E["Verificação de authorized_keys<br/>(quais servidores aceitam a chave?)"] D2 --> F1["Impersonação e assinatura<br/>(código malicioso com cert válido)"] D3 --> F2["Decifração de tráfego VPN<br/>(sessões capturadas via T1040)"] D4 --> F3["Tokens de acesso à nuvem<br/>(sem credenciais de usuário)"] E --> G["Movimento lateral via SSH<br/>(T1021.004 - SSH)"] F1 --> H["Persistência e evasão<br/>(malware assinado, bypass de AV)"] F2 --> I["Exfiltração de dados<br/>(T1041 - Exfiltration Over C2)"] F3 --> J["Acesso a recursos cloud<br/>(Storage, VMs, Key Vault)"] G --> K["Comprometimento em escala<br/>(lateral movement + privilege escalation)"] H --> K I --> K J --> K ``` ## Exemplos de Uso ### TeamTNT - Propagação em clusters Kubernetes via SSH Keys O [[g0139-teamtnt|TeamTNT]] é especializado em comprometer ambientes de contêineres e mineração de criptomoedas. Após obter acesso inicial a um nó Kubernetes via credenciais expostas ou API server sem autenticação, o grupo executa scripts que varrem o sistema de arquivos em busca de chaves SSH. Com as chaves encontradas, o malware [[s0599-kinsing|Kinsing]] se propaga para outros nós do cluster e servidores acessíveis, plantando mineradores de criptomoeda ([[xmrig|XMRig]]). ### Volt Typhoon - Exfiltração de chaves de dispositivos de rede críticos O [[g1017-volt-typhoon|Volt Typhoon]] (grupo APT patrocinado pela China) comprometeu roteadores e firewalls de edge em infraestrutura crítica americana utilizando vulnerabilidades em produtos Cisco, Fortinet e Netgear. Após o acesso inicial, o grupo usou comandos de CLI de dispositivos de rede para exportar certificados e chaves privadas PKI. Esse material foi usado para manter acesso persistente e se preparar para potenciais operações de sabotagem. ### Scattered Spider - Roubo de chaves em ambientes cloud corporativos O [[g1015-scattered-spider|Scattered Spider]] frequentemente combina engenharia social com coleta técnica de chaves. Após comprometer um helpdesk via vishing e obter acesso a um endpoint corporativo, o grupo busca chaves SSH e tokens de API armazenados em arquivos de configuração de ferramentas de desenvolvimento (`.env`, `config.yml`, `credentials`). Com chaves AWS/Azure exfiltradas, o grupo expande o acesso a toda a infraestrutura de nuvem da organização. ### Machete - Campanha de espionagem LATAM com coleta de chaves PGP O malware [[g0095-machete|Machete]], associado a campanhas de espionagem direcionadas a governos e forças armadas da América Latina, inclui módulo específico para coleta de chaves PGP e certificados digitais. O objetivo é decifrar comúnicações protegidas de alvos de alto valor - correspondências diplomáticas, contratos militares - que foram capturadas e armazenadas cifradas em dispositivos comprometidos. ## Detecção ### Detecção de acesso a arquivos de chave privada (Sigma - Linux) ```yaml title: Suspicious Private Key File Access on Linux status: experimental logsource: category: file_access product: linux service: auditd detection: selection: type: SYSCALL syscall: - open - openat path|contains: - '.pem' - '.key' - '.ppk' - '.pfx' - '.p12' - 'id_rsa' - 'id_ed25519' - 'id_dsa' filter_legitimate: comm: - sshd - ssh-agent - gpg condition: selection and not filter_legitimate level: high tags: - attack.credential_access - attack.t1552.004 ``` ### Detecção de varredura por chaves privadas (Sigma - Windows) ```yaml title: Private Key File Enumeration via PowerShell or CMD status: experimental logsource: category: process_creation product: windows detection: selection_cmd: CommandLine|contains: - '.pfx' - '.pem' - '.ppk' - '.p12' - 'id_rsa' - 'certutil -exportPFX' - 'crypto pki export' selection_process: Image|endswith: - '\powershell.exe' - '\cmd.exe' - '\wmic.exe' condition: selection_cmd and selection_process level: high tags: - attack.credential_access - attack.t1552.004 ``` ### Detecção de exportação de certificados (Sigma - Windows) ```yaml title: Certificaté Export via CertUtil status: experimental logsource: category: process_creation product: windows detection: selection: Image|endswith: '\certutil.exe' CommandLine|contains: - '-exportPFX' - '-export' - '-p ' condition: selection level: high tags: - attack.credential_access - attack.t1552.004 - attack.t1553.004 ``` **Fontes de dados recomendadas:** - Auditd (Linux) - monitoramento de acesso a arquivos por extensão e diretório - Sysmon (Windows) - FileAccess events para extensões `.pem`, `.pfx`, `.ppk`, `.p12` - EDR com monitoramento de processos - detecção de `certutil`, `openssl`, `ssh-keygen` em contextos suspeitos - DLP (Data Loss Prevention) - bloqueio de transferência de arquivos com extensões de chave - CSPM (Cloud Security Posture Management) - auditoria de chaves e certificados em ambientes cloud ## Mitigação | ID | Mitigação | Descrição | |---|-----------|-----------| | M1027 | [[m1027-password-policies\|M1027 - Password Policies]] | Exigir passphrase forte para todas as chaves privadas; não permitir chaves SSH sem senha em servidores de produção. Implementar política de rotação periódica de chaves. | | M1022 | [[m1022-restrict-file-and-directory-permissions\|M1022 - Restrict File and Directory Permissions]] | Restringir permissões de arquivos de chave a `600` (apenas o dono lê/escreve); garantir que `~/.ssh/` tenha permissão `700`. Em Windows, usar ACLs para limitar acesso a arquivos `.pfx`/`.p12`. | | M1047 | [[m1047-audit\|M1047 - Audit]] | Auditar regularmente o inventário de chaves e certificados na organização. Usar ferramentas de gerenciamento de certificados (HashiCorp Vault, AWS Certificaté Manager). Alertar sobre chaves sem passphrase ou com válidade expirada. | | M1041 | [[m1041-encrypt-sensitive-information\|M1041 - Encrypt Sensitive Information]] | Armazenar chaves privadas exclusivamente em Hardware Security Modules (HSM) ou vaults de segredo (HashiCorp Vault, AWS KMS, Azure Key Vault). Nunca armazenar chaves privadas em texto plano no sistema de arquivos de servidores de aplicação. | ## Threat Actors que Usam - [[g1015-scattered-spider|Scattered Spider]] - coleta de chaves SSH e tokens de API em ambientes cloud corporativos - [[g0139-teamtnt|TeamTNT]] - propagação em clusters Kubernetes e ambientes Linux via chaves SSH comprometidas - [[g1053-storm-0501|Storm-0501]] - exfiltração de chaves de dispositivos Entra ID para acesso persistente a nuvem Azure - [[g0106-rocke|Rocke]] - grupo de mineração de cripto que usa chaves SSH para propagação lateral em servidores Linux - [[g1017-volt-typhoon|Volt Typhoon]] - espionagem de infraestrutura crítica com exfiltração de chaves de dispositivos de rede ## Software Associado - [[g0095-machete|Machete]] - malware de espionagem LATAM com módulo de coleta de chaves PGP e certificados - [[mimikatz|Mimikatz]] - ferramenta de extração de credenciais com módulos para chaves de certificados Windows - [[s0599-kinsing|Kinsing]] - malware de mineração em containers que coleta e usa chaves SSH para propagação - [[s0601-hildegard|Hildegard]] - malware direcionado a Kubernetes que busca chaves SSH e credenciais - [[s1060-mafalda|Mafalda]] - implant de espionagem com capacidade de coleta de chaves criptográficas - [[s1196-troll-stealer|Troll Stealer]] - stealer que coleta chaves SSH, certificados e credenciais de browsers - [[s0661-foggyweb|FoggyWeb]] - backdoor em servidores ADFS que intercepta tokens e chaves de federação - [[s0363-empire|Empire]] - framework de pós-exploração com módulos de enumeração e exfiltração de chaves - [[s0677-aadinternals|AADInternals]] - ferramenta de exploração de Entra ID para exportação de chaves de dispositivo - [[s0377-ebury|Ebury]] - rootkit Linux/UNIX especializado em coleta de chaves SSH e credenciais ## Contexto Brasil/LATAM O Brasil é o maior ecossistema de desenvolvimento de software e infraestrutura de TI da América Latina, o que cria uma superfície de ataque significativa relacionada a chaves criptográficas: **Infraestrutura bancária e de pagamentos:** O setor financeiro brasileiro opera uma das infraestruturas de pagamento digital mais avançadas do mundo (PIX, Open Banking). Certificados digitais ICP-Brasil são amplamente utilizados para autenticação de pessoas físicas e jurídicas, assinatura de documentos e acesso a serviços governamentais. O comprometimento de chaves privadas ICP-Brasil é um vetor crítico - permite assinar documentos jurídicos, acessar sistemas da Receita Federal e realizar operações bancárias em nome de terceiros. **Campainha Machete - Alvos LATAM:** O malware [[g0095-machete|Machete]], atribuído a um grupo de espionagem de língua espanhola ativo desde pelo menos 2010, foi documentado comprometendo forças armadas, ministérios de relações exteriores e empresas de energia no Brasil, Venezuela, Equador, Colômbia e Argentina. O módulo de coleta de chaves PGP é central na operação, permitindo decifrar comúnicações diplomáticas e militares capturadas. **Ambientes de desenvolvimento inseguros:** Pesquisas do CERT.br e da comunidade de segurança brasileira identificam recorrentemente repositórios Git públicos (GitHub, GitLab, Bitbucket) de empresas e desenvolvedores brasileiros contendo chaves privadas AWS, certificados `.pem` e tokens de API acidentalmente comitados. Ferramentas como truffleHog e GitLeaks são usadas por atacantes para harvesting automatizado. **Infraestrutura crítica:** Após a expansão de [[g1017-volt-typhoon|Volt Typhoon]] e grupos similares para infraestrutura crítica global, o Brasil - como maior economia da região e operador de infraestrutura elétrica, de telecomúnicações e de água - é considerado alvo prioritário para coleta de chaves de dispositivos de rede. Equipamentos Cisco, Fortinet e Juniper sem hardening adequado são pontos de entrada para essa técnica. **Uso de chaves SSH em ambientes de nuvem:** Com a acelerada migração para cloud no Brasil (AWS São Paulo, Azure Brasil Sul, GCP São Paulo), empresas frequentemente cometem erros de segurança como armazenar chaves de acesso em instâncias EC2 ou configurar buckets S3/Blob Storage com acesso público inadvertido. Grupos como [[g0139-teamtnt|TeamTNT]] monitoram continuamente APIs de cloud expostas e repositórios públicos para coleta automatizada dessas chaves. ## Referências - [MITRE ATT&CK - T1552.004](https://attack.mitre.org/techniques/T1552/004) - [MITRE ATT&CK - T1552 - Unsecured Credentials (técnica pai)](https://attack.mitre.org/techniques/T1552) - [CISA - Volt Typhoon Advisory (AA23-144A)](https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-144a) - [Kaspersky LATAM - Machete APT](https://latam.kaspersky.com/blog/operation-machete) - [Microsoft - Detect and respond to AADInternals attacks](https://docs.microsoft.com/azure/active-directory) - [CERT.br - Relatório de Atividade Maliciosa 2024](https://www.cert.br/stats/) - [HashiCorp Vault - Secrets Management Best Practices](https://developer.hashicorp.com/vault/docs) - [[m1022-restrict-file-and-directory-permissions|M1022 - Restrict File and Directory Permissions]] - [[m1047-audit|M1047 - Audit]]