Analisamos as diferenças entre a análise dinâmica e estática de malware e separamos algumas das diversas ferramentas gratuitas disponíveis para realizar essas atividades. No final deste artigo, destacamos alguns links para outros conteúdos e recursos úteis relacionados à análise de malware.
Análise de malware: estática x dinâmica
A análise estática baseia-se no processo de análise de um arquivo suspeito sem executá-lo. O objetivo deste método é realizar uma análise inicial para extrair informações úteis do binário suspeito a fim de tomar uma decisão informada sobre como classificá-lo ou analisá-lo e onde concentrar os esforços de análise adicionais. Já a análise dinâmica, conhecida como análise comportamental, envolve a execução de uma amostra em um ambiente isolado para monitorar suas atividades, interação e efeito.
Ferramentas para análise estática de malware
Pestudio
Este software permite que os analistas de malware examinem e analisem arquivos .exe e suas bibliotecas dinâmicas .dll.
A ferramenta nos mostra vários arquivos que podemos investigar para descobrir quais ações ele realiza ao serem executados. Desta forma, podemos descobrir se é um malware e, se for o caso, observar quais ações a ameaça é capaz de realizar.
O Pestudio é uma ferramenta avançada que, caso a máquina virtual contem com uma conexão com a Internet, pode verificar os arquivos contidos no executável e enviá-los ao VirusTotal. Além disso, o Pestudio é capaz de detectar as APIs usadas no malware em potencial. Alguns exemplos de APIs comumente usadas por códigos maliciosos são GetProcAddress, LoadLibraryA, GetModuleHandleA, ExitProcess, VirtualAlloc, WriteFile, entre outros.
Algumas das seções mais importantes que temos no Pestudio são:
- Indicators: esta seção fornece informações sobre o motivo pelo qual o binário é suspeito e o classifica de acordo com o nível de gravidade.
- Libraries: identifica os .dll's carregados pelo binário que devem ser analisados. Ele recupera as bibliotecas e funções referenciadas no arquivo suspeito. O Pestudio vem com uma lista predefinida de bibliotecas e funções comumente usadas por códigos maliciosos.
- Imports: identifica os .dlls que o binário carrega junto com os parâmetros usados.
- Resources: fornece informações de upload de arquivos do estilo paylaod.
- Strings: por meio da lista pré-configurada <strings.xml> compara as strings no binário a ser analisado para definir se o arquivo é suspeito.
PEBear
O PE-bear é um freeware que realiza engenharia reversa de arquivos PE e tem como objetivo fornecer uma rápida visão geral do comportamento do arquivo.
Uma das vantagens de usar o PE-bear no início da análise é poder verificar as seções, pois os binários geralmente são empacotados, por exemplo, com o UPX.
CFF Explorer
Com o CFF Explorer, é possível inspecionar programas do tipo PE (Portable Executable), como o Pestudio e o PE-bear. Uma das principais vantagens de usar esta ferramenta é que ela permite que sejam feitas modificações no PE.
O CFF Explorer também oferece a possibilidade de entender a composição básica, extraindo informações sobre a data de construção, o tipo de arquitetura ou as importações de biblioteca.
Neste caso, os .dlls chamados pelo binário analisado usam quatro bibliotecas:
- dll
- dll
- dll
- dll
Embora essas .dll's não sejam maliciosas, às vezes são modificadas por cibercriminosos para executar outras tarefas no computador da vítima.
Outras funcionalidades que podem ser encontradas no CFF Explorer são: o visualizador de processos, a opção de extrair strings, um editor hexadecimal, entre outras.
Resource Hacker
Outra das ferramentas mais comumente usadas para a interpretação de arquivos executáveis PE é o Resource Hacker. Esta ferramenta permite extrair informações de arquivos binários do Windows. Por exemplo, caso esteja analisando um binário que se revela um dropper, com o Resource Hacker é possível detectar o PE adicional dentro dos recursos.
Na imagem abaixo, podemos ver como a ferramenta foi utilizada pelo RAT do Bankdook na campanha Bandidos.
Ferramentas para análise dinâmica de malware
Process Hacker
É uma ferramenta para monitorar os recursos do sistema e os processos em execução no sistema.
Além disso, o Process Hacker permite inspecionar os atributos dos processos gerados a partir da execução do binário malicioso, como explorar os serviços, conexões de rede, etc.
Process Explorer
O Process Explorer é uma ferramenta pertencente ao conjunto de ferramentas do SysInternals que tem a funcionalidade de monitorar processos e serviços no Windows.
Durante a análise dinâmica de malware, o Process Explorer é usado para identificar os processos criados a partir do binário infectado, o que torna mais fácil para os analistas distinguir quais processos maliciosos estão sendo executados para que possam ser separados para análise posterior.
RegShot
O Regshot é uma ferramenta que permite que os analistas tirem “snapshots” do sistema antes e depois da execução da amostra de malware a ser analisada. É uma ferramenta simples que permite identificar rapidamente os registros criados pelo binário malicioso. A análise pode ser exportada de um arquivo HTML ou até mesmo de um arquivo .txt.
Autoruns
O Autoruns é uma ferramenta desenvolvida pela Sysinternals, como o Process Explorer, que examina rapidamente um sistema Windows para encontrar programas configurados para iniciar automaticamente quando o sistema operacional é inicializado. Ela também lista quais extensões são carregadas nos processos do Windows, como os processos carregados pelo Internet Explorer.
Wireshark
Para finalizar, não podemos esquecer de mencionar o Wireshark, uma ferramenta desenvolvida com a finalidade de analisar o tráfego de rede que pode ser usada de diferentes maneiras. Já falamos há algum tempo sobre o Wireshark com relação ao uso de filtros e opções de gráficos.
Ao executar o malware como parte da análise dinâmica que queremos realizar, o Wireshark pode ser usado para verificar quais canais de comunicação o malware usa, ou seja, ao capturar os pacotes de rede, é possível verificar como o atacante se comunica com a vítima.
Conclusão
É importante observar que, embora a análise dinâmica forneça muito mais informações sobre o comportamento, ela deve ser combinada com a análise estática para acelerar o processo de análise da amostra maliciosa.
Aqui estão alguns links interessantes para que você possa começar a analisar malware: