Ao longo do Bloco VIII, um problema apareceu repetidamente: payloads e ferramentas conhecidos são detectados pelas defesas. Um .exe do msfvenom é bloqueado pelo antivírus; o Meterpreter é reconhecido pelo EDR. O Bloco X é sobre o outro lado dessa moeda — o tradecraft de evasão, as técnicas com que atacantes (e red teamers) escapam da detecção. Começamos pela evasão de antivírus (AV). Esta é uma aula onde a fronteira ética exige atenção: entender evasão é essencial para red teams legítimos e para defensores, mas o objetivo é compreender a corrida, não fornecer receitas de armas. Ensino os conceitos e as categorias, sempre no enquadramento de laboratório e teste autorizado.

Como o antivírus detecta

Comece entendendo como o antivírus detecta, porque cada método de evasão responde a um método de detecção. Historicamente, o AV se baseia em assinaturas: ele mantém um enorme banco de dados de "impressões digitais" de malware conhecido (padrões de bytes, hashes) e compara os arquivos contra ele. Se um arquivo bate com uma assinatura conhecida, é bloqueado. Esse método é rápido e eficaz contra malware conhecido, mas tem uma fraqueza óbvia que define toda a evasão clássica: ele só detecta o que já está no banco. Um payload modificado o suficiente para não bater com nenhuma assinatura passa despercebido. A evasão de AV por assinatura é, portanto, a arte de tornar o payload irreconhecível sem alterar sua função.

As categorias de evasão de assinatura

As categorias de evasão de assinatura, em nível conceitual: A ofuscação transforma a aparência do código sem mudar o que ele faz — renomeia, reordena, insere código inútil, dificultando o reconhecimento de padrões. A codificação/cifragem embaralha o payload de modo que ele não se pareça com nada conhecido em repouso, sendo decodificado/decifrado apenas em tempo de execução (um pequeno "stub" desembrulha o payload real na hora de rodar — a assinatura conhecida só existe na memória, momentaneamente). O packing comprime/empacota o executável, alterando sua forma no disco. E os crypters cifram o payload inteiro, revelando-o só na memória. A ideia comum a todas: o que o AV vê no disco não é o payload conhecido; o payload "real" só se materializa em execução.

Por que o clássico já não engana

Aqui, porém, entra a honestidade profissional que já anunciei na aula Gerando payloads com msfvenom: shells sob medida e que é central: essas técnicas clássicas são cada vez menos eficazes contra defesas modernas. Codificar um payload do msfvenom com um encoder do próprio Metasploit não engana antivírus atuais — eles conhecem os encoders. Os AVs modernos evoluíram muito além da assinatura estática: usam heurística (detectar características suspeitas, não apenas assinaturas exatas), análise comportamental (observar o que o programa faz ao rodar, não só como parece), emulação/sandbox (executar o arquivo suspeito num ambiente controlado antes de liberá-lo, para ver seu comportamento), e machine learning (modelos treinados para reconhecer malware por características gerais). Contra essas camadas, ofuscação simples não basta — um payload que parece diferente mas se comporta como Meterpreter ainda é pego pela análise comportamental.

Estática é fácil; dinâmica é difícil

Isso leva à distinção crucial entre evadir a detecção estática (no disco, por assinatura/aparência) e a dinâmica (em execução, por comportamento). Evadir a estática é relativamente fácil (mude a aparência); evadir a dinâmica é muito mais difícil, porque o comportamento malicioso — injetar em processos, abrir conexão de C2, extrair credenciais — é intrinsecamente detectável independentemente da aparência. É por isso que a evasão moderna migrou de "mudar como o payload parece" para técnicas mais sofisticadas de como e onde ele executa — o que leva ao EDR e ao "living off the land". A evasão de AV clássica é o degrau de entrada; a evasão de defesas modernas é um campo profundo e em constante corrida.

Onde a evasão realmente cabe

Um ponto sobre o lugar dessas técnicas no trabalho legítimo. Num pentest tradicional focado em cobertura, evasão frequentemente não é o objetivo — o cliente sabe que você está testando, e você quer mapear vulnerabilidades, não escapar da detecção. A evasão brilha em red team engagements (aula Red Team vs. Pentest: emulando o adversário de verdade), cujo propósito é justamente testar se a organização detecta um adversário realista. Ali, evadir as defesas é parte do teste — e o valor entregue é revelar as lacunas de detecção. Fora desse contexto, dominar evasão serve principalmente para entender o adversário e para testar as próprias defesas (o Purple Team da aula Red, Blue e Purple: os times da segurança, verificando se o AV/EDR pega o que deveria). O objetivo profissional nunca é "criar malware indetectável para o mal"; é compreender e melhorar a detecção.

Assinatura sozinha é insuficiente

Do lado defensivo, esta aula praticamente é sobre defesa, e a conclusão é clara: a detecção por assinatura sozinha é insuficiente, e a defesa moderna precisa de camadas. As contramedidas: AV/EDR de próxima geração com heurística, comportamento e ML (não apenas assinaturas); application whitelisting (só permitir executáveis aprovados — se o payload evasivo não está na lista, não roda, por mais irreconhecível que seja); detecção comportamental e EDR (focar no que o código faz, o único terreno onde a evasão é intrinsecamente difícil); e defesa em profundidade (mesmo que o payload evada o AV, outras camadas — segmentação, monitoramento de rede, menor privilégio — o contêm). A lição estratégica: como a aparência pode sempre ser mudada, a defesa robusta ancora-se no comportamento e em não confiar apenas em reconhecer o malicioso.

Fontes e leituras recomendadas

  • MITRE ATT&CK — tática Defense Evasion
  • Documentação sobre AV de próxima geração e EDR (conceitos defensivos)
  • Red team / OSEP (Offensive Security) — material sobre evasão em contexto autorizado
  • Blogs de pesquisa de segurança sobre a evolução AV vs. evasão

Exercícios

  1. Como funciona a detecção por assinatura, e qual sua fraqueza fundamental que a evasão clássica explora?

    ✓ Resposta:

    O AV compara arquivos contra um banco de assinaturas (padrões/hashes) de malware conhecido e bloqueia o que bate. A fraqueza é que só detecta o que já está no banco; um payload modificado o suficiente para não bater com nenhuma assinatura passa despercebido.

  2. Descreva duas categorias de evasão de assinatura e a ideia comum a todas elas.

    ✓ Resposta:

    Ofuscação (transforma a aparência do código sem mudar a função), codificação/cifragem (embaralha o payload, decodificado só em execução), packing (comprime/empacota o executável) e crypters (cifram o payload, revelado só na memória). A ideia comum: o que o AV vê no disco não é o payload conhecido — ele só se materializa em execução.

  3. Por que técnicas clássicas de evasão são cada vez menos eficazes? Cite dois métodos de detecção modernos que as superam.

    ✓ Resposta:

    Porque os AVs modernos foram além da assinatura estática. Métodos que as superam: heurística (detectar características suspeitas), análise comportamental (observar o que o programa faz), emulação/sandbox (executar em ambiente controlado antes de liberar) e machine learning. (Dois quaisquer.)

  4. Explique a diferença entre evadir a detecção estática e a dinâmica, e por que a segunda é muito mais difícil.

    ✓ Resposta:

    Evadir a estática é escapar da detecção no disco, por assinatura/aparência (relativamente fácil — basta mudar a aparência). Evadir a dinâmica é escapar da detecção em execução, por comportamento (muito mais difícil, porque ações maliciosas como injeção, C2 e roubo de credenciais são intrinsecamente detectáveis, independentemente da aparência).

  5. Em que contexto de trabalho legítimo a evasão é de fato o objetivo, e qual o propósito profissional de dominá-la fora desse contexto?

    ✓ Resposta:

    A evasão é objetivo real em red team engagements, cujo propósito é testar a capacidade de detecção da organização. Fora desse contexto, dominá-la serve para entender o adversário e testar/melhorar as próprias defesas (Purple Team), nunca para criar malware indetectável para fins maliciosos.