Análise de malware em um ambiente de testes – Estudo de caso
Introdução
Um malware pode ser definido como um programa que possui funções e objetivos maliciosos, e diante disso se faz necessário realizar a sua análise, que tem como principal objetivo entender o funcionamento deste software malicioso.
Observe que a análise de malware é uma das aplicações da engenharia reversa de software, afinal o objetivo é destrinchar o software malicioso, muitas vezes burlando proteções que eles mesmos possam conter, para procurar dados e informações relevantes acerca daquele software malicioso e seu funcionamento.
Análise de Malware – Estudo de caso
É importante ressaltar que em uma análise de malware é de extrema importância tomar medidas de segurança, como, por exemplo, a utilização de máquinas virtuais, de modo a tornar a análise mais segura e facilitá-la por conta dos recursos disponíveis às máquinas virtuais.
O estudo de caso apresentado, tem como objetivo desafiar o analista a responder algumas perguntas sobre a atividade maliciosa dele, entretanto, não será aplicada a análise estática e não nos aprofundaremos na análise dinâmica.
Na oportunidade, aproveitamos para ressaltar que, caso você deseje entender os fundamentos da forense digital e sobre a análise de malware, a Academia de Forense Digital possui um treinamento que servirá como seu ponto de partida, apresentando os temas relacionados a forense digital e suas subáreas, caso queira conhecer mais sobre clique aqui.
Analisando um Malware – Estudo de Caso
Após a execução da amostra do software é apresentando a tela a seguir declinada, a qual nos apresenta algumas informações, que informam procedimentos a serem realizados antes e depois da infecção. Além do mais, será apresentado um alerta que será aberto uma backdoor não maliciosa, para o analista procurar.
É importante frisar que um malware deve ser executado somente em um ambiente controlado, de preferência com privilégios de administrador e sem sistemas de proteção, com objetivo de entender a capacidade total dele sem barreiras e para que nossa análise dinâmica não possua nenhuma interferência desses sistemas de proteção.
Para resolver este estudo de caso é possível utilizar o Process Explorer, que faz parte do Sysinternals. Saiba mais sobre a identificação e análise de malware com Sysinternals, clicando aqui.
Observe a estrutura de processos do Process Explorer, em específico, a arvore de processos do “Lab Windows.exe”
Como observado na imagem acima, é possível identificar sem muitos esforços, o malware em execução, qual seja “Lab Windows.exe”.
Veja que o Process Explorer nos permite submeter o hash do executável no VirusTotal, nos trazendo alguns resultados sobre o executável.
O Process Explorer permite ainda, visualizar as conexões ativas em um processo, basta abrir a caixa de opções no processo desejado e selecionar a opção “Properties”, logo em seguida, selecione a aba “TCP/IP”, a qual levará a uma tela similar a abaixo.
É possível utilizar outras ferramentas como TCPView ou Wireshark, contudo essas informações já são suficientes para completar desafio.
Respondendo às questões levantadas
É importante lembrar que neste caso em específico algumas respostas irão mudar a cada execução, ou seja, a cada execução, as respostas serão diferentes, necessitando que o processo de identificação e análise seja realizado novamente.
Em qual porta TCP o backdoor está escutando?
Como observado nas propriedades do processo do Powershell.exe na aba TCP/IP, temos como resposta a porta 49722:
Qual é o PID da backdoor?
O Processo que desempenha o papel de backdoor é o powershell.exe, observe que o software em si não é malicioso, contudo, está realizando uma função com objetivos maliciosos, ou seja, nem todo software que executa funções consideradas “maliciosas”, realmente é um malware. Afinal, muitos softwares legítimos podem executar funções consideradas maliciosas, contudo possuírem objetivos legítimos.
O PID do mesmo pode ser identificado no Process Explorer na coluna “PID”, o qual nos traz que o PID do powershell.exe é 1592:
Qual é o PID do processo pai da backdoor?
O processo pai da backdoor, que no caso está sendo desempenhado pelo powershell.exe, é o Lab Windows.exe, que é identificado pelo processo de número 5180:
Qual a mensagem recebida ao se conectar a backdoor?
Com base nas informações coletadas na análise dinâmica será feito a conexão nessa backdoor. A backdoor está realizando uma Bind Shell, sendo necessário nos conectar nela para receber a mensagem.
Após realizar a conexão na backdoor com telnet, nos é retornado a seguinte mensagem “TheFlagisBlack709469804”
Basta responder a pergunta com a mensagem recebida, e, diante disso, finalizamos nosso estudo de caso.
Conheça o treinamento de fundamentos de forense digital, a qual apresentará os conceitos fundamentais sobre o mercado de trabalho, legislações, metodologias aplicáveis e uma breve introdução a cada subárea da Forense Digital, confira clicando aqui.
Conclusão
Como constatado nesse estudo de caso, é possível entender o funcionamento de um programa malicioso com base em sua análise dinâmica, ou seja, com o malware em execução.
Contudo, é importante lembrar que a análise dinâmica e análise estática são complementares, ou seja, para extrair o máximo de informações sobre o funcionamento de um malware, é necessário utilizar as duas técnicas de forma complementar.
Sobre o autor do artigo
- Nome: João Tsukahara (https://www.linkedin.com/in/joaotsukahara/)
- Sua Minibiografia: Pesquisador de forense digital e segurança da informação.
- Treinamentos concluídos na AFD:
- Forense em Dispositivos Móveis;
- Forense em Internet e OSINT;
- Computação Forense;
- Fundamentos de Forense Digital.