Pular para o conteúdo
Categoria: Forense9 min de leitura

Analise de Malware em Lab Isolado: Setup Seguro com FlareVM e Remnux

Por Lucas Andrade ·

Como montar um laboratorio air-gapped com FlareVM e REMnux para reverse engineering de amostras reais sem contaminar a sua rede ou vazar IOCs.

Analise de Malware em Lab Isolado: Setup Seguro com FlareVM e Remnux

Voce puxou um sample suspeito de uma campanha de phishing real, descompactou no desktop e percebeu tarde demais que o Defender ja mandou o hash para o MAPS. Parabens: voce acabou de queimar um indicador, contaminar telemetria e talvez avisar o adversario. Antes de tocar qualquer binario com extensao .exe, .iso ou .lnk, voce precisa de um lab isolado, reproduzivel e descartavel. A dupla FlareVM para analise no Windows e REMnux para rede e tooling defensivo no Linux e o padrao de facto desde 2020. Este guia monta tudo do zero no VirtualBox com snapshots versionados e uma rede host-only que nao roteia para nada real, e depois percorre o workflow completo de detonacao que transforma um blob opaco em capacidades nomeadas e indicadores compartilhaveis.

Por que o isolamento nao e negociavel

Malware e codigo escrito para fazer algo a um host, e no momento em que ele roda numa maquina que alcanca seus arquivos, sua rede ou a internet, voce entregou exatamente o que ele quer. Analistas se queimam de tres formas: o sample liga para casa e avisa o operador que detonou; ele se espalha lateralmente por uma rede em bridge ate ativos reais; ou um antivirus na nuvem o envia em silencio e destroi a confidencialidade da investigacao. O lab existe para quebrar as tres. Tudo acontece dentro de maquinas virtuais sem shared folders, sem clipboard, sem drag and drop, sem USB passthrough, e com uma rede que termina numa caixa de servicos falsos em vez de um gateway. Se um sample nao consegue perceber que esta sendo observado e nao consegue escapar, voce e o dono do encontro.

Hypervisor e topologia de rede

VirtualBox 7.1 ou VMware Workstation 17 servem os dois; evite KVM cru a menos que ja domine libvirt e VLANs, porque configurar mal uma bridge e expor o sample a sua LAN de casa e um erro real e comum. Crie duas maquinas virtuais: um Windows 10 22H2 (nao o 11, porque alguns implants checam o build) com quatro vCPU, 8 GB de RAM e um disco dinamico de 80 GB que vira FlareVM, e um Ubuntu que vira REMnux. Desative toda integracao com o host. Use uma rede host-only sem DHCP e atribua 10.66.66.10 ao Windows e 10.66.66.20 ao REMnux na mao. Nao ha rota default para a internet; a unica coisa com que o Windows consegue falar e a caixa Linux fingindo ser o mundo inteiro.

Montando a caixa de analise FlareVM

A instalacao do FlareVM exige um Windows recem-instalado, fora de dominio, sem updates pendentes, com o Defender temporariamente desativado por local policy para o instalador nao brigar com a protecao em tempo real. O install.ps1 da Mandiant no repo FLARE-VM baixa dezenas de pacotes Chocolatey: x64dbg, IDA Free, Ghidra, dnSpy, PE-bear, Detect It Easy, FLOSS, CAPA e pestudio. Reserve cerca de duas horas e 30 GB de download. Quando terminar, tire um snapshot chamado Clean-FlareVM-Base antes de rodar qualquer sample. Esse snapshot e seu rollback sagrado: todo sample detonado volta para ele, garantindo que o experimento dois comece no mesmo estado do experimento um. Registre cada versao de ferramenta num arquivo versionado, porque CAPA 7.x e 8.x produzem outputs incompativeis e a reprodutibilidade depende de saber exatamente o que rodou.

REMnux e INetSim: fingir a internet

REMnux serve como tap passivo e servidor de servicos falsos. Em vez de instalar do zero, pegue a appliance OVA oficial do Lenny Zeltser, importe, e no primeiro boot rode remnux update e depois remnux upgrade. Configure o INetSim em /etc/inetsim/inetsim.conf para bindar em 10.66.66.20 com HTTP, HTTPS, DNS, SMTP, IRC e FTP ativos. No lado do FlareVM, aponte o gateway default e o DNS para esse endereco. O resultado e que qualquer servidor de command-and-control que o malware tente alcancar cai no INetSim, que responde com binarios falsos e loga cada byte. Voce tem a mesma visibilidade que um proxy web da, mas em nivel de pacote cru, e o sample acredita que alcancou o operador quando so falou com a sua armadilha.

A captura de trafego e o segundo pilar

Rode Wireshark no REMnux em modo promiscuo no adaptador host-only, e rode tcpdump em paralelo escrevendo PCAPs rotacionados de 100 MB para nao perder nada se a GUI travar. Coloque Suricata como IDS com o ruleset ET Open, somando Emerging Threats Pro se tiver licenca de pesquisa, para que familias conhecidas acendam por assinatura. Para samples que falam TLS, suba o mitmproxy com um root cert empurrado para o trust store do Windows. Sim, isso quebra o certificate pinning, mas a maioria dos stealers commodity como Redline, Vidar e Lumma nao implementa, entao voce le os beacons em claro. Equipamento mais pesado como beacons de Cobalt Strike ou implants de Sliver pode exigir unhooking e manuseio mais deliberado, uma disciplina a parte da triagem.

Analise estatica antes de rodar qualquer coisa

Copie o sample com shared folders desativados; use scp do REMnux para o FlareVM sobre um servico SSH temporario e depois mate o servico. Calcule o SHA-256 com Get-FileHash e registre junto com fonte, data e hipotese inicial. Rode FLOSS para extrair strings ofuscadas e de stack, CAPA para mapear capacidades para tecnicas MITRE ATT&CK, e Detect It Easy para fingerprintar o packer e o compilador. PE-bear revela a tabela de secoes, imports e entropia: uma secao de texto com entropia acima de 7.0 grita packing. pestudio marca imports suspeitos como VirtualAllocEx e WriteProcessMemory que insinuam process injection. Nada disso executa o codigo, e uma quantidade surpreendente do veredito ja esta visivel antes de a primeira instrucao rodar.

Analise dinamica: o workflow de detonacao

Agora inicie os monitores e detone. Abra o Procmon com um filtro na arvore de processos do sample e o Process Hacker para ver handles, threads e memoria injetada em tempo real, depois rode o binario. Fique de olho nos indicadores de filesystem e registro conforme aparecem: uma copia para %APPDATA%, uma chave Run para persistencia, uma tarefa agendada, um mutex que evita dupla execucao. Correlacione isso com o trace de rede no INetSim para ver o padrao de callback. Se o sample estiver packeado, a analise estatica trava no stub de unpacking; um binario packeado com UPX cede a upx -d, enquanto um packer custom precisa de x64dbg com ScyllaHide contra anti-debug, um breakpoint no original entry point e um dump de memoria naquele instante. Quando terminar, volte ao snapshot limpo e verifique que a caixa esta intacta antes da proxima rodada.

A seguranca operacional separa o pro do paciente zero

Higiene e o que evita que voce vire a vitima. Nunca conecte a VM de analise a sua LAN real, nunca faca login numa conta pessoal dentro dela, e trate cada hash como potencialmente ligado a um ator capaz de retaliacao. Submissoes ao VirusTotal sao publicas, entao assuma que um adversario sofisticado monitora os proprios hashes e descobre no momento em que voce faz upload; use apenas quando o sample ja for amplamente conhecido. Colete do Malware Bazaar, triage no Any.Run para detonacao publica quando suas regras de engajamento permitirem, e mantenha os samples cifrados em conteineres VeraCrypt offline para que um duplo clique acidental nunca rode malware vivo contra a sua propria workstation.

Armadilhas e um checklist de reprodutibilidade

Os erros classicos sao previsiveis: deixar shared folders ativos para o sample escapar ao host; esquecer o snapshot para a segunda rodada ficar contaminada pela primeira; confiar no veredito de uma unica ferramenta; e rodar samples com acesso a internet porque o INetSim pareceu setup demais. Antes de declarar o lab pronto, confirme que todas as integracoes com o host estao desligadas, que Clean-FlareVM-Base existe, que o INetSim responde em cada protocolo configurado, que Wireshark e tcpdump ambos capturam, e que um sample conhecido do Malware Bazaar com tag Emotet ou AgentTesla se comporta identico em dois ciclos consecutivos de detonar e reverter. Se voce nao consegue reproduzir o mesmo resultado duas vezes, o lab nao esta pronto e qualquer investigacao real que voce rodar nele ja e suspeita.

Da triagem a forensica de memoria

A triagem de comportamento diz o que um sample faz; a forensica de memoria diz o que ele escondeu. Muitos loaders modernos nunca escrevem seu payload real no disco, decifram direto numa regiao recem-alocada e rodam ali, entao um snapshot de RAM e o unico lugar onde o codigo desempacotado existe. Capture no pico da infeccao com uma ferramenta como WinPMEM ou DumpIt, depois analise a imagem crua com o Volatility 3. Os plugins cavalo de batalha sao windows.pslist e windows.pstree para a hierarquia de processos, windows.malfind para revelar memoria injetada e executavel mas sem lastro, windows.netscan para recuperar os sockets de C2 que o INetSim ja logou, e windows.dlllist para detectar carregamentos de modulo suspeitos. Como voce tirou a captura dentro de uma VM com snapshot, pode rerodar a detonacao e pegar uma segunda imagem em outra etapa, depois diffar as duas para ver a persistencia e a injecao se desenrolarem. A analise de memoria fecha o ciclo que a triagem estatica e dinamica deixam aberto, e e onde ameacas fileless enfim ficam visiveis.

FAQ

O malware consegue detectar que roda numa VM e se recusar a detonar? Sim; muitas familias checam artefatos do VirtualBox, poucos cores, discos pequenos ou uptime curto e ficam dormentes. Contorne com um perfil de hardware realista, escondendo strings do hypervisor, aquecendo a maquina antes de detonar e, para samples teimosos, migrando para um host de analise bare-metal que voce reimagina entre as rodadas.

Ainda preciso de um lab se posso so subir para um servico de sandbox? Sandboxes publicos sao otimos para triagem mas sao publicos, podem perder gatilhos especificos do ambiente e tiram a decisao de confidencialidade das suas maos. Um lab local da visibilidade total de pacotes, manuseio privado e a capacidade de interagir com o sample, o que sandboxes automaticos nao conseguem.

Takeaway pratico: gaste seu primeiro fim de semana montando o lab e batendo em samples conhecidos do Malware Bazaar, porque as tags Emotet e AgentTesla sao excelentes rodinhas de apoio. Rode tres ciclos de detonar, reverter e verificar que o INetSim capturou o trafego exatamente como esperado antes de tocar num sample real de cliente. Reprodutibilidade ganha da velocidade toda vez, e um lab em que voce pode confiar duas vezes vale mais do que uma resposta rapida que voce nao consegue defender.

Leituras relacionadas

Nenhum comentário ainda

Seja o primeiro a comentar.

Deixe seu comentário

Entre com sua conta Canverly para comentar. Você pode usar a mesma conta em qualquer site da rede.

Entrar com Canverly