Ghidra, NSA-in alat za obrnuti inženjering

ghidra

Tijekom RSA konferencije, američka Nacionalna sigurnosna agencija (NSA) najavila je otvaranje pristupa alatu za reverzni inženjering „Ghidra“ , koji uključuje interaktivni rastavljač s podrškom za dekompilaciju C koda i pruža moćne alate za analizu izvršnih datoteka.

Projekt se razvija već gotovo 20 godina, a aktivno ga koriste američke obavještajne agencije za identifikaciju markera, analizu zlonamjernog koda, proučavanje raznih izvršnih datoteka i analizu kompiliranog koda.

Što se tiče mogućnosti, proizvod je usporediv s proširenom verzijom vlasničkog IDA Pro paketa , ali je dizajniran isključivo za analizu koda i ne uključuje program za ispravljanje pogrešaka.

S druge strane, Ghidra ima podršku za dekompiliranje u pseudokod koji nalikuje C-u (u IDA-i je ova značajka dostupna putem dodataka trećih strana), kao i moćnije alate za zajedničku analizu izvršnih datoteka.

Glavne osobine

Unutar Ghidra alata za obrnuti inženjering možemo pronaći sljedeće:

  • Podrška za razne skupove procesorskih uputa i formata izvršnih datoteka.
  • Analiza izvršne datoteke za izvršne datoteke za Linux, Windows i macOS.
  • Uključuje rastavljač, asembler, dekompajler, grafički generator za izvršavanje programa, modul za izvršavanje skripti i veliki skup pomoćnih alata.
  • Sposobnost izvođenja u interaktivnom i automatskom načinu rada.
  • Plug-in podrška za implementaciju novih komponenata.
  • Podrška za automatizaciju radnji i proširenje postojeće funkcionalnosti povezivanjem skripti na jezicima Java i Python.
  • Dostupnost sredstava za timski rad istraživačkih timova i koordinaciju rada tijekom obrnutog inženjeringa vrlo velikih projekata.

Zanimljivo je da je nekoliko sati nakon izlaska Ghidre, paket pronašao ranjivost u implementaciji načina rada za otklanjanje pogrešaka (onemogućen prema zadanim postavkama), koji otvara mrežni port 18001 za udaljeno otklanjanje pogrešaka aplikacija pomoću JDWP-a (Java Debug Wire Protocol).

Prema zadanim postavkama, mrežne veze su se uspostavljale preko svih dostupnih mrežnih sučelja, umjesto preko 127.0.0.1 , što vam je omogućilo povezivanje s Ghidrom s drugih sustava i pokretanje bilo kojeg koda u kontekstu aplikacije.

Na primjer, možete se povezati s programom za pronalaženje pogrešaka i prekinuti izvršavanje postavljanjem točke prekida i zamijeniti svoj kôd za daljnje izvršavanje pomoću naredbe "print new", na primjer, »
ispisati novu java.lang.Runtime (). exec ('/ bin / mkdir / tmp / dir') ».

Osim toga, moguće je pratiti objavu gotovo potpuno revidiranog izdanja otvorenog interaktivnog rastavljača REDasm 2.0.

Program ima proširivu arhitekturu koja vam omogućuje povezivanje upravljačkih programa za dodatne skupove uputa i formate datoteka u obliku modula. Kôd projekta napisan je na jeziku C ++ (sučelje temeljeno na Qt) i distribuira se pod licencom GPLv3. Rad podržan na sustavima Windows i Linux.

Osnovni paket kompatibilan je s PE, ELF, DEX (Android Dalvik), Sony Playstation, XBox, GameBoy i Nintendo64 formatima firmvera . Podržani skupovi instrukcija uključuju x86, x86_64, MIPS, ARMv7, Dalvik i CHIP-8.

Među značajkama možemo spomenuti podršku za interaktivnu vizualizaciju u IDA stilu, analizu višenitnih aplikacija , izradu vizualnog grafikona napretka, mehanizam za obradu digitalnog potpisa (koji radi s SDB datotekama) i alate za upravljanje projektima.

Kako instalirati Ghidru?

Za one koji su zainteresirani za instaliranje ovog "Ghidra" kompleta alata za reverzni inženjering , trebali bi znati da moraju imati barem sljedeće:

  • 4 GB RAM-a
  • 1 GB za pohranu u kompletu
  • Neka je instaliran Java 11 Runtime and Development Kit (JDK).

Za preuzimanje Ghidre morate posjetiti njezinu službenu web stranicu. Link je ovdje.

Nakon što to učinite, samo ćete morati raspakirati preuzeti paket i unutar direktorija pronaći ćete datoteku „ghidraRun“ koja će pokrenuti kit.

Ako želite saznati više o tome, možete posjetiti sljedeću poveznicu.


Dodaj kao preferirani izvor na Googleu