
În timpul conferinței RSA, Agenția Națională de Securitate a SUA a anunțat deschiderea accesului la setul de instrumente de inginerie inversă „Ghidra” , care include un dezasamblator interactiv cu suport pentru decompilarea codului C și oferă instrumente puternice pentru analiza executabilelor.
Proiectul este în dezvoltare de aproape 20 de ani și este utilizat activ de agențiile de informații americane pentru a identifica markeri, a analiza cod malițios, a studia diverse fișiere executabile și a analiza cod compilat.
În ceea ce privește capacitățile, produsul este comparabil cu versiunea extinsă a pachetului proprietar IDA Pro , dar este conceput exclusiv pentru analiza codului și nu include un depanator.
Pe de altă parte, Ghidra oferă suport pentru decompilarea în pseudocod asemănător cu C (în IDA, această funcție este disponibilă prin plugin-uri terțe), precum și instrumente mai puternice pentru analiza comună a fișierelor executabile.
caracteristici cheie
În cadrul setului de instrumente de inginerie inversă Ghidra putem găsi următoarele:
- Suport pentru diferite seturi de instrucțiuni ale procesorului și formate de fișiere executabile.
- Analiza fișierului executabil pentru Linux, Windows și macOS.
- Acesta include un dezasamblator, un asamblator, un decompilator, un generator de grafic de execuție a programului, un modul pentru executarea scripturilor și un set mare de instrumente auxiliare.
- Capacitatea de a efectua în moduri interactive și automate.
- Suport plug-in cu implementarea de noi componente.
- Suport pentru automatizarea acțiunilor și extinderea funcționalității existente prin conectarea scripturilor în limbile Java și Python.
- Disponibilitatea fondurilor pentru munca în echipă a echipelor de cercetare și coordonarea muncii în timpul ingineriei inverse a proiectelor foarte mari.
Interesant este că, la câteva ore după lansarea Ghidra, pachetul a descoperit o vulnerabilitate în implementarea modului de depanare (dezactivat în mod implicit), care deschide portul de rețea 18001 pentru depanarea aplicațiilor la distanță folosind JDWP (Java Debug Wire Protocol).
În mod implicit, conexiunile de rețea au fost realizate prin toate interfețele de rețea disponibile, în loc de 127.0.0.1 , permițându-vă să vă conectați la Ghidra de pe alte sisteme și să rulați orice cod în contextul aplicației.
De exemplu, vă puteți conecta la un depanator și anulați execuția setând un punct de întrerupere și înlocuiți codul pentru o execuție ulterioară utilizând comanda „print new”, de exemplu, »
print new java.lang.Runtime (). exec ('/ bin / mkdir / tmp / dir') ».
În plus, este posibil să se observe publicarea unei ediții aproape complet revizuite a dezasamblatorului interactiv deschis REDasm 2.0.
Programul are o arhitectură extensibilă care vă permite să conectați drivere pentru seturi suplimentare de instrucțiuni și formate de fișiere sub formă de module. Codul proiectului este scris în C ++ (interfață bazată pe Qt) și distribuit sub licența GPLv3. Lucru acceptat pe Windows și Linux.
Pachetul de bază este compatibil cu formatele de firmware PE, ELF, DEX (Android Dalvik), Sony Playstation, XBox, GameBoy și Nintendo64 . Seturile de instrucțiuni acceptate includ x86, x86_64, MIPS, ARMv7, Dalvik și CHIP-8.
Printre caracteristici, putem menționa suportul pentru vizualizare interactivă în stil IDA, analiza aplicațiilor multi-threaded , construirea unei diagrame vizuale de progres, motorul de procesare a semnăturilor digitale (care funcționează cu fișiere SDB) și instrumente pentru managementul proiectelor.
Cum se instalează Ghidra?
Cei interesați să instaleze acest set de instrumente de inginerie inversă „Ghidra” , ar trebui să știe că trebuie să aibă cel puțin următoarele:
- 4 GB RAM
- 1 GB pentru depozitare Kit
- Aveți instalat Java 11 Runtime și kitul de dezvoltare (JDK).
Pentru a descărca Ghidra, trebuie să accesați site-ul său oficial, de unde îl puteți descărca. Linkul este aici.
După ce ați terminat, va trebui doar să dezarhivați pachetul descărcat, iar în director veți găsi fișierul „ghidraRun” care va rula kitul.
Dacă doriți să aflați mai multe despre asta, puteți vizita următorul link.