
Ao final desse artigo indicarei aonde você poderá estudar sobre engenharia reversa e outros temas relevantes para entende-la.
A Engenharia reversa consiste no processo de descobrir o funcionamento de um sistema através da análise da sua estrutura.
Portanto, quando se trata de um malware a engenharia reversa consiste em abrir esse código malicioso e estudá-lo a fim de entender cada parte do seu programa sem ter acesso ao código-fonte original.
E isso não é tão fácil, os malwares, muitas vezes, são protegidos para prevenir que outros examinem o código, através de diversas técnicas tais como criptografia, binders, joiners, wrapper e polimorformismo¹.
Para analisar o malware, podemos utilizar duas abordagens, estática ou dinâmica.
Na análise estática analisamos o arquivo sem executá-lo, ou executamos apenas trechos do seu código com ajuda de debuggers². Nesta análise é exigido conhecimento de sistema operacional e linguagem assembly. Essa análise exige mais estudo pois quase todo trabalho é feito manualmente.
Na análise dinâmica, executamos o arquivo e monitoramos como ele se comporta, essa análise também pode ser chamada de comportamental.
Aqui, identificamos sua interação com o sistema operacional, deixamos o malware agir e o observamos, é como se deixássemos um suspeito criminal dentro de uma sala com uma câmera filmando para observar seu comportamento, o suspeito pode quebrar a janela, ou simplesmente ficar quieto esperando alguém entrar para agir de modo malicioso.
Para essa análise, contamos com ajuda de ferramentas. Portanto, essa análise pode ser automatizada, existem sites que nos auxiliam a analisar os malwares.
A fim de auxiliar nesse processo, podemos utilizar essas ferramentas, algumas gratuitas e disponíveis na internet.
Malwares podem mascarar o tipo de arquivo, ou seja, não sabemos se dentro de um PDF existe um arquivo executável, ou se a extensão que estamos vendo é confiável. Seguem abaixo algumas ferramentas que podem auxiliar nessa e em outros tipos de análise:
Exeinfo PE - ferramenta gratuita que identifica arquivos e possui mais de 617 assinaturas.
RDG Packer Detector - identifica packers, cryptor, compiladores e algoritmos de criptografia.
Wireshark - ferramenta opensource para análise de pacotes de rede. É a ferramenta mais popular para capturar pacotes de rede.
² Debuggers: Software que permite a observação do programa enquanto ele está sendo executado. Permitindo navegar através do código e estabelecer breakpoints. Nesta ferramenta, é possível executar a linha do código assembly e "assistir" como a CPU executa as instruções do malware. Podemos entender trechos complexos do código, portanto essa ferramenta é muito valiosa para nós.
Como posso começar a treinar minha análise?
Antes de tudo, lembre-se que para executar um malware é necessário ter um ambiente seguro, lembra que comentamos que quando o analisamos é como se prendêssemos um suspeito em uma sala e observássemos seu comportamento?
Agora se deixássemos o suspeito livre pelo ambiente, com a porta destrancada? Sabe-se lá o que ele seria capaz de fazer.
É a mesma coisa com o malware, não podemos executá-lo em nossa máquina, imagina se o malware é um ransomware e criptografa toda minha máquina?
Portanto, para fazer isso de forma segura e evitar surpresas desagradáveis utilizamos uma máquina virtual.

Dessa forma, o SO convidado fica isolado do host, a menos que haja uma vulnerabilidade 0-day na máquina virtual, mas caso o SO da máquina seja danificada podemos restaurá-la para o estado original. Por conter poucos arquivos a máquina virtual trabalha bem rapidamente nesses processos.
As máquinas virtuais mais utilizadas são: VMWare e Oracle VirtualBox.
Cuidados a tomar: manter o software de virtualização atualizado, corrigir as falhas de segurança da plataforma. E também precisamos ficar atentos à conexão de rede da máquina virtual, caso esta esteja mal configurada o malware pode infectar o computador que está rodando a VMWare, e outros hosts da rede caso esteja em uma LAN. E você pode fazer com que a VMWare se torne um bot e ataque máquina de terceiros enviando spam, etc...
Não deixe na máquina virtual nenhuma informação que possa te identificar, nenhum documento ou nome de host com o seu próprio nome.
Podemos simular também um ambiente de rede com uma ferramenta, dessa forma, permitirá que a rede responda as requisições dos protocolos HTTPS, HTTP, DNS, SMTP e ICMP.
Depois de configurar sua máquina virtual escolhendo a rede, e ao instalar a ferramenta podemos analisar por exemplo caso o malware solicite o download de algum arquivo a rede fake irá fornecer um arquivo genérico a fim de deixar a simulação mais realista.
Caso o malware solicite algum download poderemos analisar de qual site ele está baixando e podemos analisar também esses arquivos baixados.
O tráfego que o malware gerou fica salvo e podemos abri-lo em outra ferramenta tal como o Wireshark para analisá-lo.
Acima, vimos um exemplo, e são muitas as análises possíveis. Sugiro que antes de realizar laboratórios você estude bastante para não comprometer a sua rede e a de outras pessoas.
Lembre-se hackers éticos ajudam na construção de melhores políticas de segurança, na implantação de sistemas mais seguros, pois ao entender como o ataque funciona fica muito mais fácil escolher qual será a defesa!
Comments