Pular para conteúdo

Textos Embutidos em Malwares

Analisando o binário de um arquivo, é possível extrair as strings utilizadas internamnete. Várias strings podem aparecer em malwares, como: - caminhos de importação e exportação - URLs e IPs. - Entidades envolvidas e alvos. - Etc.

É sem dúvida uma das técnicas mais simples de análise de malware e por isso, muitas produtores de malware tentam ofuscar as strings com criptografia e codificação. Alguns até colocam strings com informações falsas! Então tome cuidado com strings, usa-as somente como pistas.

Aqui veremos estratégias de atacantes e defensores em relação a strings escondidas.

O que procurar em análises manuais de strings

  • Qualquer informação relevante, mesmo que cortada, separada ou com algum caractere extra.
  • Endereços de serviços muito comuns, como URL do google, podem significar que o Malware tenta se conectar ao site para testar se não está em uma sandbox.
  • Nomes ou referências a aplicativos e softwares utilizados por análise de malware ou redes pode significar que o Malware tem capacidade de anti-análise.
  • Aplicações, arquivos, diretórios, bibliotecas, etc. Podem ser alvos ou dar dicas das TTPs do malware.
    • É comum achar textos de bilbiotecas utilizadas, então tome cuidado com falsos positivos.
  • Sempre procure por sinais de codificações e qual base foi usada.
    • A base64 costuma ter ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890+/ como string em alguma parte do código.

Escondendo strings

Formas comuns e conhecidas

  • Separando as strings para depois juntar. Isso pode:
    • Dificultar a leitura quando há análise simples de strings.
    • Diminuir o tamanho das strings analisadas.
  • Codificação e encriptação de strings. Isso pode:
    • Dificultar a leitura quando há análise simples de strings.

Ferramentas de Extração e Análise de Strings

Cuidados ferramentas de extração de Strings

  • Falsos positivos: muitas ferramentaas de strings interpretam bytes de dados como bytes de strings, gerando strings sem sentido.
  • Tamanho mínimo de strings: muitas ferramentas ignoram strings de menor tamanho. Informações importantes podem ter tamanho pequeno também, então sempre conheça o tamanho mínimo da sua ferramenta.
  • Ferramentas exclusivas para ASCII: muitas ferramentas procuram somente strings ASCII (1 byte). Textos em outros padrões, como UTF16 (Unicode de 2 bytes ou 16 bits) podem mostrar strings legítmas em formatos estranhos.

Ferramentas Somente de Extração

  • Microsoft Strings (strings.exe)
    • Extrai ASCII e Unicode simultaneamente.
    • Mínimo de 3 caracteres em strings por padrão. Permite mudança de valor.
    • Mostra a localização das strings com a opção -o ou --offset.
  • Bintext
    • Extrai ASCII e Unicode simultaneamente.
    • Mínimo de 5 caracteres por padrão.
    • Mostra a localização das strings por padrão.

Ferramentas de Extração e Análise

  • Virus Total YARA
  • FLOSS