Ghidra, pripomoček za povratni inženiring NSA

ghidra

Med konferenco RSA je ameriška nacionalna varnostna agencija napovedala odprtje dostopa do kompleta orodij za obratni inženiring »Ghidra« , ki vključuje interaktivni razstavljalec s podporo za dekompilacijo kode C in ponuja zmogljiva orodja za analizo izvedljivih datotek.

Projekt se razvija že skoraj 20 let in ga ameriške obveščevalne agencije aktivno uporabljajo za prepoznavanje označevalcev, analizo zlonamerne kode, preučevanje različnih izvedljivih datotek in analizo prevedene kode.

Glede na zmogljivosti je izdelek primerljiv z razširjeno različico lastniškega paketa IDA Pro , vendar je zasnovan izključno za analizo kode in ne vključuje razhroščevalnika.

Po drugi strani pa ima Ghidra podporo za dekompiliranje v psevdokod, ki je podobna jeziku C (v IDA je ta funkcija na voljo prek vtičnikov drugih proizvajalcev), pa tudi zmogljivejša orodja za skupno analizo izvedljivih datotek.

Glavne značilnosti

V zbirki orodij za reverzni inženiring Ghidra lahko najdemo naslednje:

  • Podpora različnim nizom navodil procesorja in oblik izvršljivih datotek.
  • Analiza izvršljive datoteke za Linux, Windows in macOS.
  • Vključuje demontažer, sestavljalec, dekompilator, generator grafov za izvajanje programa, modul za izvajanje skriptov in velik nabor pomožnih orodij.
  • Sposobnost nastopanja v interaktivnem in samodejnem načinu.
  • Vtična podpora pri uvajanju novih komponent.
  • Podpora za avtomatizacijo dejanj in razširitev obstoječih funkcij s povezavo skriptov v jezikih Java in Python.
  • Razpoložljivost sredstev za timsko delo raziskovalnih skupin in koordinacijo dela med obratnim inženiringom zelo velikih projektov.

Zanimivo je, da je paket nekaj ur po izdaji Ghidre odkril ranljivost v implementaciji načina odpravljanja napak (privzeto onemogočen), ki odpre omrežna vrata 18001 za oddaljeno odpravljanje napak aplikacij z uporabo protokola JDWP (Java Debug Wire Protocol).

Privzeto so bile omrežne povezave vzpostavljene prek vseh razpoložljivih omrežnih vmesnikov in ne prek 127.0.0.1 , kar vam je omogočilo povezavo z Ghidro iz drugih sistemov in zagon katere koli kode v kontekstu aplikacije.

Na primer, lahko se povežete z razhroščevalnikom in prekinite izvajanje tako, da nastavite točko prekinitve in nadomestite kodo za nadaljnje izvajanje z ukazom "natisni novo", na primer »
natisni novo java.lang.Runtime (). exec ('/ bin / mkdir / tmp / dir') ».

Poleg tega je mogoče opaziti objavo skoraj popolnoma prenovljene izdaje odprtega interaktivnega razstavljalca REDasm 2.0.

Program ima razširljivo arhitekturo, ki omogoča povezavo gonilnikov za dodatne sklope navodil in oblike datotek v obliki modulov. Koda projekta je napisana v jeziku C ++ (vmesnik, ki temelji na Qt) in se distribuira pod licenco GPLv3. Delo je podprto v sistemih Windows in Linux.

Osnovni paket je združljiv s formati vdelane programske opreme PE, ELF, DEX (Android Dalvik), Sony Playstation, XBox, GameBoy in Nintendo 64. Podprti nabori ukazov vključujejo x86, x86_64, MIPS, ARMv7, Dalvik in CHIP-8.

Med funkcijami lahko omenimo podporo za interaktivno vizualizacijo v slogu IDA, analizo večnitnih aplikacij , izdelavo vizualnega grafikona napredka, mehanizem za obdelavo digitalnih podpisov (ki deluje z datotekami SDB) in orodja za upravljanje projektov.

Kako namestiti Ghidro?

Za tiste, ki jih zanima namestitev tega kompleta orodij za obratni inženiring »Ghidra« , je pomembno, da imajo vsaj naslednje:

  • 4 GB RAM
  • 1 GB za shranjevanje v kompletu
  • Namestite Java 11 Runtime and Development Kit (JDK).

Za prenos Ghidre morate obiskati njeno uradno spletno stran, kjer jo lahko prenesete. Povezava je tukaj.

Ko je to storjeno, boste morali le še razpakirati preneseni paket in v imeniku boste našli datoteko »ghidraRun«, ki bo zagnala komplet.

Če želite izvedeti več o tem, lahko obiščete naslednjo povezavo.


Dodaj kot prednostni vir v Googlu