# T1560.002 - Archive via Library ## Descrição Antes de exfiltrar dados coletados, adversários frequentemente comprimem e/ou criptografam os arquivos utilizando **bibliotecas de terceiros** integradas diretamente ao código do malware ou ao script de ataque. Diferentemente do uso de utilitários externos como `zip` ou `7z` - que exigem a criação de um subprocesso e são mais facilmente detectáveis - a abordagem via biblioteca ocorre dentro do processo malicioso já em execução, reduzindo drasticamente a superfície de detecção comportamental. Bibliotecas amplamente utilizadas incluem `zlib`, `libzip`, `bzip2` (pré-instalada em macOS e Linux), `rarfile` para [[t1059-006-python|Python]], e implementações customizadas baseadas em algoritmos como LZ77 e RC4. Em Windows, a biblioteca `Cabinet.dll` é nativa e frequentemente abusada. A criptografia adiciona uma camada de ofuscação que dificulta a inspeção de conteúdo por soluções de DLP e análise de tráfego. No contexto **Brasil e LATAM**, essa técnica é parte recorrente do arsenal de grupos de espionagem corporativa e APTs que atacam o setor financeiro, energia e governo. O [[g0032-lazarus-group|Lazarus Group]] - ativo contra bancos brasileiros em operações de fraude SWIFT - utiliza compressão e criptografia via biblioteca como estágio padrão antes da exfiltração. A técnica é especialmente eficaz em ambientes onde o monitoramento foca em processos externos (execução de `7z.exe`, `winrar.exe`) sem inspeção de chamadas de API de compressão em nível de processo. > **Técnica pai:** [[t1560-archive-collected-data|T1560 - Archive Collected Data]] > **Tática:** [[collection|Collection]] --- ## Attack Flow ```mermaid graph TB A([Acesso ao Sistema<br/>T1078 / T1566]) --> B([Coleta de Dados<br/>T1005 / T1039]) B --> C{T1560.002\nCompressão via Biblioteca}:::highlight C --> D([Dados Comprimidos<br/>zlib / libzip / bzip2]) C --> E([Dados Criptografados<br/>RC4 / AES via lib]) D --> F([Staging<br/>Arquivo único empacotado]) E --> F F --> G([Exfiltração<br/>T1048 / T1071]) classDef highlight fill:#e74c3c,color:#fff,stroke:#c0392b,stroke-width:2px ``` --- ## Como Funciona ### Passo 1 - Integração da Biblioteca ao Código Malicioso O adversário compila ou carrega dinâmicamente uma biblioteca de compressão/criptografia no contexto do processo malicioso. Em implants escritos em [[t1059-006-python|Python]], isso pode ser tão simples quanto `import zlib` ou `import rarfile`. Em malware nativo (C/C++), a biblioteca é linkada estáticamente durante a compilação - o que significa que nenhum arquivo de biblioteca externo precisa estar presente no sistema alvo, eliminando artefatos adicionais em disco. ### Passo 2 - Compressão e Criptografia dos Dados Coletados Os dados de interesse (documentos, credenciais, capturas de tela, keylog dumps) são passados para as funções da biblioteca em memória. A saída é um buffer comprimido e, opcionalmente, cifrado. Malwares como [[s0260-invisimole|InvisiMole]] e [[s0053-seaduke|SeaDuke]] implementam essa etapa com algoritmos customizados derivados de `zlib`, tornando a identificação por assinatura mais difícil. O [[s0467-tajmahal|TajMahal]] utiliza múltiplas camadas de compressão antes de preparar o payload para exfiltração. ### Passo 3 - Preparação do Arquivo para Exfiltração O conteúdo processado é gravado em um único arquivo de staging - frequentemente com extensão `.dat`, `.tmp` ou disfarçado como arquivo legítimo (ex: `.jpg`, `.pdf`) - que será exfiltrado via [[t1048-exfiltration-over-alternative-protocol|T1048]] ou por canais C2 já estabelecidos. A ausência de chamadas a utilitários externos (`CreateProcess` para `zip.exe`) torna o comportamento invisível para soluções que monitoram apenas execução de processos. --- ## Detecção ### Event IDs Relevantes | Plataforma | Evento | Descrição | |------------|--------|-----------| | Windows | Event ID `4688` | Criação de processo - detecta se utilitário externo for chamado | | Windows (Sysmon) | Event ID `1` | Criação de processo com linha de comando suspeita | | Windows (Sysmon) | Event ID `11` | Criação de arquivo - arquivo `.dat`/`.tmp` de grande volume criado por processo incomum | | Windows (Sysmon) | Event ID `7` | Carregamento de imagem (DLL) - `cabinet.dll`, `ntdll.dll` chamadas de compressão | | Linux / macOS | Auditd `syscall=write` | Escrita de grande volume de bytes em arquivo por processo não-interativo | | EDR (genérico) | API Call Monitoring | Chamadas a `RtlCompressBuffer`, `zlib_deflaté`, `BZ2_bzCompress` por processo suspeito | ### Sigma Rule - Compressão In-Process por Processo Suspeito ```yaml title: Compressão de Dados via Biblioteca por Processo Não-Interativo id: b7e3c2a1-4d5f-4b8e-a2c3-1e9f7d6b4a8c status: experimental description: > Detecta uso de APIs de compressão nativas do Windows (Cabinet API / RtlCompressBuffer) por processos que não são utilitários legítimos de arquivamento. Pode indicar uso de T1560.002 para preparar dados para exfiltração sem criar subprocessos detectáveis. logsource: category: process_access product: windows service: sysmon detection: selection_api: EventID: 7 ImageLoaded|endswith: - '\cabinet.dll' - '\ntdll.dll' Image|not|endswith: - '\7z.exe' - '\winrar.exe' - '\winzip.exe' - '\explorer.exe' - '\svchost.exe' selection_file: EventID: 11 TargetFilename|endswith: - '.dat' - '.tmp' - '.bin' CreatedFileSize|gt: 10485760 # > 10 MB condition: selection_api or selection_file fields: - Image - ImageLoaded - TargetFilename - ProcessId falsepositives: - Aplicações legítimas de backup - Agentes de EDR/AV que comprimem logs internamente level: medium tags: - attack.collection - attack.t1560.002 ``` --- ## Mitigação | Controle | Ação Recomendada para Organizações Brasileiras | Prioridade | |----------|------------------------------------------------|------------| | **Monitoramento de API de Compressão** | Implementar EDR com capacidade de hooking de API para detectar chamadas a `RtlCompressBuffer`, `zlib_deflaté` e `Cabinet API` por processos não autorizados | Alta | | **Controle de Execução (Application Whitelisting)** | Utilizar AppLocker ou WDAC para restringir execução de scripts Python e binários não assinados que possam carregar bibliotecas de compressão | Alta | | **Monitoramento de Criação de Arquivos Grandes** | Alertar sobre criação de arquivos `.dat`/`.tmp` acima de 10 MB por processos não identificados como backups legítimos | Média | | **Análise de Tráfego de Rede** | Implementar inspeção TLS (SSL inspection) em proxies corporativos para identificar exfiltração de dados comprimidos/criptografados via HTTP/S | Alta | | **Segmentação de Rede** | Isolar workstations com acesso a dados sensíveis. Bloquear conexões de saída não autorizadas (padrão deny-all outbound), especialmente relevante para ambiente bancário brasileiro | Crítica | | **Resposta a Incidente** | Incluir análise de artefatos de compressão em playbooks de IR. Verificar processos com alto consumo de CPU/IO que indiquem operação de compressão em andamento | Média | --- ## Threat Actors e Software Associado ### Grupos que Utilizam T1560.002 - [[g0032-lazarus-group|Lazarus Group]] - grupo norte-coreano com ampla documentação de uso de compressão via biblioteca em campanhas contra o sistema financeiro global, incluindo operações contra bancos brasileiros no contexto de fraudes SWIFT (ex: [[operation-dream-job|Operation DreamJob]]). Utiliza implementações customizadas de `zlib` integradas a implants como [[s0520-blindingcan|BLINDINGCAN]] e variantes. - [[g0027-threat-group-3390|Threat Group-3390]] (APT27 / Emissary Panda) - grupo chinês de espionagem que utiliza compressão e criptografia de dados em operações de longo prazo contra governo, defesa e energia. Ativo em campanhas que afetaram subsidiárias de empresas multinacionais na América Latina. ### Malware com T1560.002 Documentado - [[s0467-tajmahal|TajMahal]] - framework de espionagem altamente sofisticado com múltiplas camadas de compressão de dados antes da exfiltração - [[s0260-invisimole|InvisiMole]] - RAT modular que comprime capturas de tela e keylog dumps via biblioteca integrada antes de enviar ao C2 - [[s0053-seaduke|SeaDuke]] - backdoor Python do APT29 que utiliza `zlib` para comprimir comúnicações C2 - [[s0127-bbsrat|BBSRAT]] - backdoor que aplica compressão em dados coletados antes de staging - [[s1141-lunarweb|LunarWeb]] - implant que usa compressão customizada como parte do protocolo de comúnicação C2 - [[s0091-epic|Epic]] - usado pelo [[g0010-turla|Turla Group]] com compressão de arquivos coletados via biblioteca nativa - [[s0348-cardinal-rat|Cardinal RAT]] - RAT que aplica compressão zlib em comúnicações e dados exfiltrados A técnica frequentemente precede [[t1048-exfiltration-over-alternative-protocol|T1048 - Exfiltration Over Alternative Protocol]] e é combinada com [[t1027-obfuscated-files-or-information|T1027 - Obfuscated Files or Information]] para maximizar evasão. --- *Fonte: [MITRE ATT&CK - T1560.002](https://attack.mitre.org/techniques/T1560/002)*