
Durante a conferência RSA, a Agência de Segurança Nacional dos EUA anunciou a abertura do acesso ao kit de ferramentas de engenharia reversa "Ghidra" , que inclui um desassemblador interativo com suporte para descompilar código C e fornece ferramentas poderosas para analisar executáveis.
O projeto está em desenvolvimento há quase 20 anos e é usado ativamente por agências de inteligência dos EUA para identificar marcadores, analisar código malicioso, estudar diversos arquivos executáveis e analisar código compilado.
Em termos de funcionalidades, o produto é comparável à versão estendida do pacote proprietário IDA Pro , mas foi projetado exclusivamente para análise de código e não inclui um depurador.
Por outro lado, o Ghidra oferece suporte à descompilação em pseudocódigo semelhante a C (no IDA, esse recurso está disponível por meio de plugins de terceiros), além de ferramentas mais poderosas para análise conjunta de arquivos executáveis.
Características principais
No kit de ferramentas de engenharia reversa Ghidra, podemos encontrar o seguinte:
- Suporte para vários conjuntos de instruções de processador e formatos de arquivo executáveis.
- Análise de suporte a arquivos executáveis para Linux, Windows e macOS.
- Inclui um desmontador, um montador, um descompilador, um gerador de gráficos de execução de programa, um módulo para execução de scripts e um grande conjunto de ferramentas auxiliares.
- Capacidade de atuar nos modos interativo e automático.
- Suporte a plug-ins com implementação de novos componentes.
- Suporte para automatizar ações e estender a funcionalidade existente por meio da conexão de scripts nas linguagens Java e Python.
- Disponibilidade de fundos para o trabalho em equipe das equipes de pesquisa e coordenação dos trabalhos durante a engenharia reversa de projetos de grande porte.
Curiosamente, poucas horas após o lançamento do Ghidra, o pacote encontrou uma vulnerabilidade na implementação do modo de depuração (desativado por padrão), que abre a porta de rede 18001 para depuração remota de aplicativos usando o JDWP (Java Debug Wire Protocol).
Por padrão, as conexões de rede eram feitas através de todas as interfaces de rede disponíveis, em vez de 127.0.0.1 , permitindo que você se conectasse ao Ghidra a partir de outros sistemas e executasse qualquer código no contexto do aplicativo.
Por exemplo, você pode se conectar a um depurador e abortar a execução definindo um ponto de interrupção e substituir seu código para execução posterior usando o comando "imprimir novo", por exemplo, »
imprimir novo java.lang.Runtime (). exec ('/ bin / mkdir / tmp / dir') ».
Além disso, é possível observar a publicação de uma edição quase completamente revisada do desassemblador interativo de código aberto REDasm 2.0.
O programa possui uma arquitetura extensível que permite conectar drivers para conjuntos adicionais de instruções e formatos de arquivo na forma de módulos. O código do projeto é escrito em C ++ (interface baseada em Qt) e distribuído sob a licença GPLv3. Trabalho com suporte em Windows e Linux.
O pacote básico é compatível com os formatos de firmware PE, ELF, DEX (Android Dalvik), Sony Playstation, Xbox, Game Boy e Nintendo 64. Os conjuntos de instruções suportados incluem x86, x86_64, MIPS, ARMv7, Dalvik e CHIP-8.
Entre as funcionalidades, podemos citar o suporte para visualização interativa no estilo IDA, análise de aplicações multithread , a construção de um gráfico de progresso visual, o mecanismo de processamento de assinatura digital (que funciona com arquivos SDB) e ferramentas para gerenciamento de projetos.
Como instalar o Ghidra?
Para aqueles interessados em instalar este kit de ferramentas de engenharia reversa “Ghidra” , é importante saber que precisam ter pelo menos o seguinte:
- 4 GB RAM
- 1 GB para armazenamento do kit
- Tenha o Java 11 Runtime and Development Kit (JDK) instalado.
Para baixar o Ghidra, você precisa acessar o site oficial, onde poderá fazer o download. O link está aqui.
Feito isso, você só precisará descompactar o pacote baixado e, dentro do diretório, encontrará o arquivo “ghidraRun”, que executará o kit.
Se você quiser saber mais sobre isso, pode visitar o seguinte link.