Pular para conteúdo

Assinatura do arquivo por bytes mágicos

É uma técnica de identificação da extenção de malwares através de bytes mágicos, ou seja, padrões binários típicos daquela extensão de arquivo. Normalmente encontram-se no cabeçalho ou final do arquivo.

Técnicas de Obfuscação de Extensão de arquivos

  • Mudança de nome.
  • Dupla extensão: adicionar mais uma extensão no nome do arquivo. Exemplo: foto_com_nome_grande.png.exe.
  • Arquivos de auto extração.
  • Empacotadores.

Bytes Mágicos

Padrões

Entre as assinaturas, ou padrões, mais comuns dos arquivos, estão:

  • Todos os arquivos executáveis Windows:
    • Começarão com "MZ" nos bytes 0 e 1.
    • Sempre apresentarão os bytes em posição hexagonal 000e0 e 000e1 como "P" e "E" (numa representação por tabela ASCII).
  • Todo arquivo PDF terá %PDF- seguido pela versão mínima do requerida pelo carregador do PDF. Esse trecho pode aparecer em qualquer lugar nos primeiros 1024 bytes.
  • Arquivos de documentos antigos do Office começarão com os números hexagonais D0CF11E0.
  • Arquivos comprimidos Zip sempre começam com "PK" em seus bytes 0 e 1. Atente-se que o formato Zip é usado como base a muitos formatos, como:
    • Android APK.
    • Arquivos .JAR
    • Novo modelo de coumentos do Office.

Ferramentas de identificação por bytes mágicos

Ferramentas automatizadas podem fazer esse trabalho de identificar os tipos de arquivos por bytes mágicos. Entre eles, estão:

File

É uma ferramenta padrão da maioria dos sistemas UNIX. Ela analisa o cabeçalho do arquivo alvo e o compara como uma série de padrões de bytes mágicos. Se algum padrão bater, a ferramenta retorna o tipo de arquivo que você está lidando.

Utilizamos File da seguinte forma, mesmo com extensões duplas:

file arquvivo.extensao

Infelizmente a ferramenta não gera mais informação além disso.

Exeinfo PE

Ferramenta GUI ou CLI que analisa e procura por cabeçalhos de executáveis do Windows. A ferramenta pode dizer quais compiladores foram usados para construir a aplicação, assim como identificar executáveis criados por empacotadores e dizer qual que foi usado. Por fim, a ferramenta ainda lhe dá dicas de como desempacotar o executável.

Detect it Easy

Identifica propriedades e características do binário, além de detectar possíveis packers embutidos.

TrID

Em uma abordagem um pouco diferente do tópico, o TrID não busca exatamente por assinaturas de bytes mágicos. Ao invés disso, o TrID usa identificação baseada em padrões típicos em arquivos, o que também pode ser considerado um tipo de determinar uma assinatura. O TrID é CLI e possui uma base de dados regularmente atualizada com os padrões e os consulta quando precisa analisar um arquivo. Dessa forma, ele é útil quando os atacantes tentam remover ou esconder os bytes mágicos.

O TrID mostra as chances do arquivo ser de determinados tipos e acaba gerando mais informação do que o clássico file.

PEStudio

Entre suas várias funções, também mostra o tipo do arquivo.