
По време на конференцията RSA, Агенцията за национална сигурност на САЩ обяви откриването на достъп до инструментариума за обратно инженерство „Ghidra“ , който включва интерактивен дизасемблер с поддръжка за декомпилиране на C код и предоставя мощни инструменти за анализ на изпълними файлове.
Проектът се разработва от почти 20 години и се използва активно от американските разузнавателни агенции за идентифициране на маркери, анализ на зловреден код, изучаване на различни изпълними файлове и анализ на компилиран код.
По отношение на възможностите, продуктът е сравним с разширената версия на собствения пакет IDA Pro , но е предназначен изключително за анализ на код и не включва дебъгер.
От друга страна, Ghidra има поддръжка за декомпилиране в псевдокод, наподобяващ C (в IDA тази функция е достъпна чрез плъгини на трети страни), както и по-мощни инструменти за съвместен анализ на изпълними файлове.
ключови характеристики
В рамките на инструментариума за обратно инженерство Ghidra можем да намерим следното:
- Поддръжка за различни набори инструкции на процесора и изпълними файлови формати.
- Изпълним анализ на поддръжка на файлове за Linux, Windows и macOS.
- Включва разглобявач, асемблер, декомпилатор, генератор на графики за изпълнение на програма, модул за изпълнение на скриптове и голям набор от помощни инструменти.
- Възможност за изпълнение в интерактивен и автоматичен режим.
- Поддръжка на добавки с внедряването на нови компоненти.
- Поддръжка за автоматизиране на действията и разширяване на съществуващата функционалност чрез свързване на скриптове на езици Java и Python.
- Наличност на средства за екипна работа на изследователски екипи и координация на работата по време на обратното проектиране на много големи проекти
Интересното е, че няколко часа след пускането на Ghidra, пакетът откри уязвимост в имплементацията на режима за отстраняване на грешки (деактивиран по подразбиране), който отваря мрежов порт 18001 за отдалечено отстраняване на грешки в приложения, използвайки JDWP (Java Debug Wire Protocol).
По подразбиране мрежовите връзки бяха осъществявани през всички налични мрежови интерфейси, а не през 127.0.0.1 , което ви позволява да се свързвате с Ghidra от други системи и да изпълнявате произволен код в контекста на приложението.
Например можете да се свържете с дебъгер и да прекъснете изпълнението, като зададете точка на прекъсване и да замените кода си за по-нататъшно изпълнение, като използвате командата "print new", например »
отпечатайте нов java.lang.Runtime (). exec ('/ bin / mkdir / tmp / dir') ».
Освен това е възможно да се наблюдава публикуването на почти напълно преработено издание на отворения интерактивен дизасемблер REDasm 2.0.
Програмата има разширяема архитектура, която ви позволява да свързвате драйвери за допълнителни набори от инструкции и файлови формати под формата на модули. Кодът на проекта е написан на C ++ (Qt-базиран интерфейс) и се разпространява под лиценза GPLv3. Работа, поддържана от Windows и Linux.
Основният пакет е съвместим с фърмуерните формати PE, ELF, DEX (Android Dalvik), Sony Playstation, XBox, GameBoy и Nintendo64 . Поддържаните набори от инструкции включват x86, x86_64, MIPS, ARMv7, Dalvik и CHIP-8.
Сред функциите можем да споменем поддръжката за интерактивна визуализация в стил IDA, многонишков анализ на приложения , изграждането на визуална диаграма на напредъка, механизма за обработка на цифрови подписи (който работи с SDB файлове) и инструменти за управление на проекти.
Как да инсталирам Ghidra?
За тези, които се интересуват от инсталирането на този комплект инструменти за обратно инженерство „Ghidra“ , трябва да знаят, че трябва да имат поне следното:
- 4 GB RAM
- 1 GB за съхранение в комплект
- Инсталирайте Java 11 Runtime and Development Kit (JDK).
За да изтеглите Ghidra, трябва да посетите официалния уебсайт, където можете да го изтеглите. Линкът е тук.
След като това е направено, ще трябва само да разархивирате изтегления пакет и вътре в директорията ще намерите файла „ghidraRun“, който ще стартира комплекта.
Ако искате да научите повече за това, можете да посетите следния линк.