# T1027.002 - Software Packing
## Técnica Pai
Esta é uma sub-técnica de [[t1027-obfuscated-files|T1027 - T1027 - Obfuscated Files or Information]].
## Descrição
**Software Packing** é uma subtécnica de [[t1027-obfuscated-files-or-information|T1027 - Obfuscated Files or Information]] na qual adversários comprimem, cifram ou virtualizam código executável com o objetivo de modificar a assinatura do binário e dificultar a detecção por soluções de segurança baseadas em assinatura. Utilitários como UPX (Ultimaté Packer for eXecutables) e MPRESS são os exemplos mais conhecidos e amplamente utilizados tanto por desenvolvedores legítimos quanto por atores maliciosos. No contexto ofensivo, o packing é quase sempre uma camada de [[t1562-impair-defenses|evasão de defesas]], e não o payload final.
O processo de descompressão ocorre geralmente em memória durante a execução, o que significa que o código malicioso real nunca é gravado em disco em sua forma original - dificultando análise estática. Uma variante mais sofisticada é a **proteção por máquina virtual (VM)**: o código original é traduzido para um bytecode proprietário que só pode ser executado por uma VM embutida no binário. Ferramentas como Themida, VMProtect e Enigma Protector implementam essa abordagem, tornando a engenharia reversa extremamente custosa.
Adversários frequentemente combinam packing com outras técnicas de evasão: múltiplas camadas de packing (packing aninhado), uso de packers customizados que não deixam artefatos de packers conhecidos, e integração com técnicas de [[t1055-process-injection|Process Injection]] para descomprimir e executar o payload diretamente em processos legítimos do sistema operacional.
**Contexto Brasil/LATAM:** O ecossistema de malware bancário brasileiro é um dos mais prolíficos do mundo no uso de software packing. Trojans bancários como [[s0531-grandoreiro|Grandoreiro]], Guildma e Javali - desenvolvidos localmente e distribuídos principalmente no Brasil e em outros países latino-americanos - fazem uso extensivo de múltiplas camadas de packing para evadir antivírus. O [[ta505|TA505]], grupo com histórico de ataques a instituições financeiras brasileiras, empregou [[s0447-lokibot|Lokibot]] com packing personalizado em campanhas direcionadas à região. A indústria de malware-as-a-service no Brasil frequentemente oferece ferramentas pré-empacotadas como diferencial competitivo nos fóruns underground locais.
## Attack Flow
```mermaid
graph TB
A[Desenvolvimento<br/>do Payload] --> B[Aplicação<br/>de Packer]
B --> C{T1027.002\nSoftware Packing}:::highlight
C --> D[Entrega ao<br/>Alvo]
D --> E[Execução em<br/>Memória]
classDef highlight fill:#e74c3c,color:#fff
```
## Como Funciona
### 1. Preparação - Seleção e Aplicação do Packer
O adversário compila o malware e seleciona um packer adequado ao objetivo: UPX para compressão simples e rápida, ou packers customizados para maior evasão. O binário original é processado pelo packer, que gera um novo executável contendo o código original cifrado/comprimido e uma rotina de descompressão (stub). O hash e a assinatura do arquivo resultante são completamente diferentes do original.
### 2. Execução - Descompressão em Memória
Quando executado, o stub do packer aloca memória, decifra/descomprime o payload original e o transfere para a área alocada. Em seguida, redireciona a execução para o ponto de entrada do código original na memória. Todo esse processo ocorre sem que o payload real sejá gravado em disco, contornando verificações de assinatura estática de antivírus e soluções de [[Antimalware]].
### 3. Pós-execução - Operação Furtiva
Com o payload em execução na memória, o adversário prossegue com os objetivos da operação - coleta de credenciais, exfiltração de dados, [[t1018-remote-system-discovery|reconhecimento da rede]], instalação de persistência. Soluções de EDR comportamental têm maior capacidade de detectar o payload em memória, razão pela qual atacantes avançados combinam packing com [[t1055-process-injection|injeção em processos legítimos]] para reduzir a superfície de detecção.
## Detecção
**Event IDs relevantes (Windows):**
| Event ID | Fonte | O que monitora |
|----------|-------|----------------|
| 4688 | Security | Criação de processo - linha de comando e hash do executável |
| 8 | Sysmon | CreateRemoteThread - indicador de injeção após descompressão |
| 7 | Sysmon | ImageLoaded - DLLs carregadas por processo suspeito |
| 10 | Sysmon | ProcessAccess - acesso a memória de outros processos |
| 1 | Sysmon | ProcessCreaté - processo filho inesperado após execução de binário |
**Sigma Rule - Detecção de Binário com Características de Packing:**
```yaml
title: Possível Execução de Binário Empacotado com UPX
id: b2c5d4e3-2f6a-4b9c-8d1e-4g7h8i9j0k1l
status: experimental
description: >
Detecta execução de binários com características típicas de packers
como UPX - cabeçalho modificado ou seções de PE anômalas.
Combinar com análise de entropia para reduzir falsos positivos.
author: RunkIntel
daté: 2026-03-24
logsource:
category: process_creation
product: windows
detection:
selection_pe_sections:
# Binários UPX têm seções nomeadas UPX0, UPX1
Image|contains:
- 'UPX'
selection_suspicious_path:
Image|startswith:
- 'C:\Users\Public\'
- 'C:\ProgramData\'
- 'C:\Windows\Temp\'
CommandLine|contains:
- '-d' # UPX decompress flag
condition: selection_pe_sections or selection_suspicious_path
falsepositives:
- Aplicativos legítimos empacotados com UPX (alguns instaladores)
- Ferramentas de desenvolvimento que usam compressão
level: medium
tags:
- attack.defense_evasion
- attack.t1027.002
```
## Mitigação
| Controle | Mitigação | Aplicação Prática para Organizações Brasileiras |
|----------|-----------|------------------------------------------------|
| [[Antimalware]] | Detecção baseada em comportamento e heurística | Priorizar soluções com análise de entropia e unpacking automático - essencial dado o volume de malware bancário brasileiro |
| Análise de Entropia | Alta entropia indica packing/criptografia | Implementar regras YARA com limiar de entropia para identificar binários suspeitos antes da execução |
| Sandboxing Dinâmico | Executar em ambiente isolado para revelar payload real | Ferramentas como Hybrid Analysis ou Cuckoo Sandbox descomprimem e analisam o binário original em runtime |
| EDR Comportamental | Detectar comportamento pós-unpack | Monitorar alocações de memória executável, writes em regiões RWX e redirecionamentos de execução característicos de stubs de packer |
| Bloqueio de Execução em Paths Temporários | Impedir execução em %TEMP%, %APPDATA% | Muitos packers extraem e executam o payload em diretórios temporários - bloquear execução nesses locais reduz significativamente a superfície |
## Threat Actors
- [[g0089-the-white-company|The White Company]] - Grupo com histórico de uso de payloads altamente evasivos com múltiplas camadas de packing em operações de espionagem
- [[g1018-ta2541|TA2541]] - Grupo financeiramente motivado que utiliza packing em campanhas de malware distribuído via phishing na aviação e transporte
- [[g0096-apt41|APT41]] - APT chinês com dupla missão (espionagem + crime); emprega packing sofisticado para manter persistência prolongada
- [[g0070-dark-caracal|Dark Caracal]] - Grupo com foco em vigilância; utiliza [[s0543-spark|Spark]] e outros malwares empacotados em campanhas de espionagem no Oriente Médio
- [[g1007-aoqin-dragon|Aoqin Dragon]] - Grupo de espionagem com longa atividade na Ásia; emprega packing em malwares de acesso inicial
- [[g1019-moustachedbouncer|MoustachedBouncer]] - Grupo que utiliza interceptação de rede e malware empacotado em operações de vigilância direcionadas
- [[g0087-apt39|APT39]] - APT iraniano com foco em telecomúnicações; usa packing para manter baixo perfil durante campanhas de coleta de dados
- [[ta505|TA505]] - Grupo criminoso com histórico de campanhas no Brasil usando [[s0447-lokibot|Lokibot]] e [[cuba|Cuba]] em versões empacotadas
- [[g1017-volt-typhoon|Volt Typhoon]] - APT chinês com foco em infraestrutura crítica; usa [[s0588-goldmax|GoldMax]] com packing avançado para evasão de longo prazo
- [[g0093-gallium|GALLIUM]] - Grupo com foco em telecomúnicações; emprega [[s0020-china-chopper|China Chopper]] em versões modificadas/empacotadas
## Software Associado
- [[s0588-goldmax|GoldMax]] - Backdoor utilizado pelo [[g1017-volt-typhoon|Volt Typhoon]] com packing customizado para evadir detecção em alvos de infraestrutura crítica
- [[s0447-lokibot|Lokibot]] - Infostealer amplamente distribuído no Brasil e LATAM em versões empacotadas; especializado em coleta de credenciais
- [[cuba|Cuba]] - Ransomware que emprega packing para evadir soluções de segurança durante a fase de implantação
- [[s0257-vermin|VERMIN]] - RAT utilizado em operações de espionagem com técnicas de packing para dificultar análise forense
- [[s0020-china-chopper|China Chopper]] - Web shell modular frequentemente ofuscado e empacotado para persistência em servidores comprometidos
- [[s1130-raspberry-robin|Raspberry Robin]] - Worm distribuído via USB com múltiplas camadas de ofuscação e packing para evasão
- [[s0565-raindrop|Raindrop]] - Loader utilizado na cadeia de ataque SolarWinds com packing personalizado de alto nível
- [[s1196-troll-stealer|Troll Stealer]] - Infostealer com packing avançado utilizado em campanhas de espionagem direcionadas
- [[s0022-uroburos|Uroburos]] - Rootkit sofisticado do grupo Turla com proteção de código por VM e múltiplas camadas de packing
- [[s0543-spark|Spark]] - Backdoor utilizado pelo [[g0070-dark-caracal|Dark Caracal]] com packing para evasão em campanhas de vigilância
---
*Fonte: [MITRE ATT&CK - T1027.002](https://attack.mitre.org/techniques/T1027/002)*