A Agência Nacional de Segurança dos Estados Unidos (NSA) divulgou ontem o GHIDRA versão 9.0 gratuitamente — a secreta ferramenta para reverse engineering que os investigadores da agência usam internamente há mais de uma década para “caçar” bugs de segurança em softwares e aplicações.
GHIDRA é uma estrutura de engenharia reversa baseada em Java que apresenta uma interface gráfica (GUI) e foi projetada para ser executada em uma grande variedade de plataformas, incluindo Windows, macOS e Linux.
A engenharia reversa de um programa ou software envolve o disassembling, ou seja, a conversão de instruções binárias em código assembly quando o código-fonte não está disponível, ajudando engenheiros de software, especialmente analistas de malware, a entender algumas das funcionalidades do código e as informações reais de design e implementação.
A existência do GHIDRA foi revelada publicamente pela primeira vez pelo WikiLeaks nos leaks da CIA Vault 7.
Agora a NSA divulgou publicamente a ferramenta na conferência da RSA, tornando-a uma ótima alternativa para ferramentas de engenharia reversa como IDA-Pro, Radare, Capstone e Hopper.
“It [GHIDRA] helps analyze malicious code and malware like viruses, and can give cybersecurity professionals a better understanding of potential vulnerabilities in their networks and systems,” NSA official website says while describing GHIDRA.
Download GHIDRA — Software Reverse Engineering Tool
- Github — source code (will be available soon)
- Download GHIDRA 9.0 — software package, slides, and exercises
- Installation Guide — basic usage documentation
- Cheat Sheet — keyboard shortcuts
- Issue Tracker — report bugs
Speaking at RSA Conference, Senior NSA Adviser Robert Joyce assures GHIDRA contains no backdoor, saying “This is the last community you want to release something out to with a backdoor installed, to people who hunt for this stuff to tear apart.“
Joyce também disse que a GHIDRA inclui todos os recursos esperados nas ferramentas comerciais high-end, suporta uma variedade de conjuntos de instruções do processador, formato executável e pode ser executado em ambos os modos user-interactive and automated mode.
Ghidra processor modules: X86 16/32/64, ARM/AARCH64, PowerPC 32/64, VLE, MIPS 16/32/64,micro, 68xxx, Java / DEX bytecode, PA-RISC, PIC 12/16/17/18/24, Sparc 32/64, CR16C, Z80, 6502, 8051, MSP430, AVR8, AVR32, Others+ variants as well. Power users can expand by defining new ones
— Rob Joyce (@RGB_Lights) March 5, 2019
GHIDRA recebeu calorosas boas-vindas da comunidade infosec, e investigadores e developers já começaram a contribuir para o projeto reportando bugs e falhas de segurança no issue tracker da ferramenta no Github.
Hickey notou que a tool abre a porta de debug JDWP 18001 para todas as interfaces quando um utilizador inicia o GHIDRA no modo de debug, permitindo que qualquer pessoa dentro da rede execute remotamente código arbitrário no sistema do analista.
Embora o modo de debug não esteja ativado por padrão e deva funcionar como esperado, o software deve receber apenas as conexões de debug do host local, em vez de qualquer outra máquina na rede.
O problema pode ser corrigido apenas mudando uma linha de código no software, de acordo com Hickey.