Webinar # 17
Análise de Malware




    Davidson Boccardo
drboccardo@inmetro.gov.br
Introdução




 • Avaliar as ameaças de um malware
 • Erradicar infecções
 • Fortalecer suas defesas
 • Realizar análise forense
 • Construir um ferramental para análise
Análise de malware



 • 2 fases
    • Análise comportamental
    • Análise de código

 • Buscar a maior quantidade de informações através da
   análise comportamental
    • Execução em ambiente controlado
    • Monitoramento das interações
    • Criação de estímulos

 • Preencher possíveis brechas que sobraram através da
   análise de código
Motivação para análise




 • Comportamento não usual de uma estação de trabalho
    • Conexões de entrada para a porta TCP 113
    • Conexões de saída para a porta TCP 6667
    • Processo estranho em execução
    • Antivírus não detecta nenhum código malicioso
Preparação do ambiente


 • Utilizaremos o Vmware
    • Emula hardware Intel (Windows, Linux, etc)
    • Possui recursos de rede (ex. DHCP)
    • Permite isolamento de rede
       • Host-only
       • Máquinas virtuais interagem com o host de uma
          maneira limitada
    • Recursos de snapshot
Preparação do ambiente
Análise de strings




 • Permite revelar:
    • Nomes de arquivo
    • Nomes de hosts
    • Chaves de regitros


 • Permite verificar:
    • Se o código está ofuscado
Packing




 • Processo de esconder um código em outro executável
 • Inserção de uma rotina de unpacking
 • Embarca o código como dados
 • Código é criptografado e compactado
 • Dificulta a análise do código e de seu comportamento por
   ferrmentas de engenharia reversa
Demonstração




               Malware Slackbot
Análise de strings
Unpacking
Análise de strings
Análise do tráfego rede




 • Executar Wireshark
    • Ctrl+E para iniciar a captura
    • Execute o malware por um determinado tempo
    • Ctrl+E para interromper a captura
Análise do tráfego rede
Modificação do ambiente



         ...system32driversetchosts
         192.168.13.128 => malware.clavis.com.br
Análise do tráfego de rede
Modificação do ambiente



 • Com cada experimento, vamos entendendo o que o
   malware precisa e moldamos o ambiente para que o
   malware consiga interagir como se tivesse executando no
   mundo real

 • Vamos fazendo isso, passo a passo, para que tenhamos
   uma visão controlada do comportamento do malware

 • Vamos então iniciar um servidor de IRC através do
   comando ircd start

 • Comandos IRC (/join #canal, /leave, /list, /quit )
Análise do tráfego de rede
Análise do tráfego de rede
Análise do tráfego de rede
Análise do tráfego de rede
Ofuscação de strings



 • Métodos simples de ofuscar strings dentro do executável
   • XOR (exclusive OR)
   • ROL (rotate left)
   • ROR (rotate right)

 • XorSearch
    • http://blog.didierstevens.com/programs/xorsearch
Revelação de strings importantes
Autenticação e controle
Autenticação e controle
Muito Obrigado!
       Davidson Boccardo
   drboccardo@inmetro.gov.br

Webinar # 17 – Análise de Malware em Forense Computacional

  • 1.
    Webinar # 17 Análisede Malware Davidson Boccardo drboccardo@inmetro.gov.br
  • 2.
    Introdução • Avaliaras ameaças de um malware • Erradicar infecções • Fortalecer suas defesas • Realizar análise forense • Construir um ferramental para análise
  • 3.
    Análise de malware • 2 fases • Análise comportamental • Análise de código • Buscar a maior quantidade de informações através da análise comportamental • Execução em ambiente controlado • Monitoramento das interações • Criação de estímulos • Preencher possíveis brechas que sobraram através da análise de código
  • 4.
    Motivação para análise • Comportamento não usual de uma estação de trabalho • Conexões de entrada para a porta TCP 113 • Conexões de saída para a porta TCP 6667 • Processo estranho em execução • Antivírus não detecta nenhum código malicioso
  • 5.
    Preparação do ambiente • Utilizaremos o Vmware • Emula hardware Intel (Windows, Linux, etc) • Possui recursos de rede (ex. DHCP) • Permite isolamento de rede • Host-only • Máquinas virtuais interagem com o host de uma maneira limitada • Recursos de snapshot
  • 6.
  • 7.
    Análise de strings • Permite revelar: • Nomes de arquivo • Nomes de hosts • Chaves de regitros • Permite verificar: • Se o código está ofuscado
  • 8.
    Packing • Processode esconder um código em outro executável • Inserção de uma rotina de unpacking • Embarca o código como dados • Código é criptografado e compactado • Dificulta a análise do código e de seu comportamento por ferrmentas de engenharia reversa
  • 9.
    Demonstração Malware Slackbot
  • 10.
  • 11.
  • 12.
  • 13.
    Análise do tráfegorede • Executar Wireshark • Ctrl+E para iniciar a captura • Execute o malware por um determinado tempo • Ctrl+E para interromper a captura
  • 14.
  • 15.
    Modificação do ambiente ...system32driversetchosts 192.168.13.128 => malware.clavis.com.br
  • 16.
  • 17.
    Modificação do ambiente • Com cada experimento, vamos entendendo o que o malware precisa e moldamos o ambiente para que o malware consiga interagir como se tivesse executando no mundo real • Vamos fazendo isso, passo a passo, para que tenhamos uma visão controlada do comportamento do malware • Vamos então iniciar um servidor de IRC através do comando ircd start • Comandos IRC (/join #canal, /leave, /list, /quit )
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
    Ofuscação de strings • Métodos simples de ofuscar strings dentro do executável • XOR (exclusive OR) • ROL (rotate left) • ROR (rotate right) • XorSearch • http://blog.didierstevens.com/programs/xorsearch
  • 23.
  • 24.
  • 25.
  • 26.
    Muito Obrigado! Davidson Boccardo drboccardo@inmetro.gov.br