فریم ورک Ghidra یکی از محبوب ترین فریم ورک های مهندسی معکوس برای متخصصان امنیت است. در این مقاله نحوه نصب آن در لینوکس آورده شده است.
فریم ورک Ghidra
با ابزارهای تحلیلی Ghidra SRE، سفر خود را آغاز کنید تا یک معکوس کننده ماهر باشید. در این مقاله راهنمای نحوه نصب و راه اندازی Ghidra بر روی دستگاه لینوکس را بررسی میکنیم.
Ghidra چیست؟
Ghidra توسط NSA ایجاد شده است، یک چارچوب مهندسی معکوس نرمافزار پیچیده و متن باز است که ابزارهای درجه را برای تجزیه و تحلیل و معکوس کردن باینری های نرمافزار ارائه میدهد. با Ghidra، می توانید یک نرم افزار باینری را مهندسی معکوس یا دیکامپایل کنید و کد منبع زیر آن را مطالعه کنید.
این اغلب چارچوب مورد استفاده در تجزیه و تحلیل بدافزار و مهندسی معکوس است و رقابت نزدیکی با IDA، یک چارچوب مهندسی معکوس نرم افزاری با قد و قواره مشابه دارد.
مرحله 1: نصب JDK 11
قبل از شروع فرآیند نصب Ghidra، باید مطمئن شوید که سیستم شما JDK 11 را نصب و راهاندازی کرده است. بدون جاوا بر روی سیستم شما، Ghidra حتی از راهاندازی خودداری می کند.
می توانید JDK 11 را به صورت دستی با دانلود tarball نصب کنید یا آن را از طریق مدیر بسته لینوکس خود نصب کنید. در حالت ایده آل، نصب از طریق مدیر بسته راه حلی بسیار سریعتر و بی دردسرتر از روش عملی قبلی است.
برای نصب JDK 11 بر روی دسکتاپ لینوکس، ترمینال را روشن کنید و دستورات زیر را بسته به مدیر بسته توزیع خود اجرا کنید:
در سیستم های مبتنی بر Debian/Ubuntu:
sudo apt-get install openjdk-11-jdk
در سیستم های مبتنی بر Arch:
sudo pacman -S jdk11-openjdk
در سیستم های Fedora/CentOS/RHEL:
sudo dnf install java-latest-openjdk
مرحله دوم: نصب Chidra
Ghidra SRE معمولاً در یک سیستم نصب نمیشود، و یک نصب کننده سنتی همراه با فایل انتشار Ghidra وجود ندارد. شما فقط باید باینری ها را دانلود کنید، آنها را با استفاده از دستور chmod قابل اجرا کنید، و آنها را از ترمینال اجرا کنید.
دانلود Ghidra
برای شروع، آخرین فایل ZIP منتشر شده Ghidra را از منبع رسمی دانلود کنید و آن را در فهرستی استخراج کنید. پس از استخراج فایل ها، با استفاده از دستور cd به فهرست راهنما بروید.
توجه داشته باشید که دانلود نسخه های قدیمی تر میتواند پرخطر باشد زیرا Ghidra یک برنامه جاوا است که طعمه آسیبپذیری log4shell بود. این نقص امنیتی در به روز رسانی 10.1.1 برطرف شد. بنابراین به عنوان یک اقدام ایمنی، سعی کنید از استفاده از نسخه های قبلی خودداری کنید.
Download: Ghidra (Free)
اجرای Ghidra
در بین فایل های استخراج شده، فایلی به نام ghidraRun را خواهید دید. این یک اسکریپت Bash برای راه اندازی Ghidra است. یک پوسته در پوشه باز کنید، فایل را با استفاده از دستور chmod قابل اجرا کنید و با استفاده از دستورات زیر آن را از خط فرمان اجرا کنید:
chmod +x ghidraRun
این دستور باید Ghidra SRE را روشن کند. روی «Agree» کلیک کنید، و با صفحه نمایش Ghidra مواجه خواهید شد.
مرحله 3: ایجاد یک میانبر دسکتاپ برای Ghidra
همانطور که قبلا ذکر شد، Ghidra با نصب کننده ارسال نمی شود. بنابراین نمی توانید Ghidra را در منوی برنامه ها یا با جستجو در کشوی برنامه در دسکتاپ لینوکس خود پیدا کنید.
اگر مرتب از Ghidra استفاده می کنید، جستجو و پیدا کردن هر باره دایرکتوری به صورت دستی و روشن کردن آن از ترمینال مشکل ساز است.
یک راه حل ساده برای ساده کردن این فرآیند، ایجاد میانبر دسکتاپ برای Ghidra است. نحوه ایجاد میانبر دسکتاپ برای Ghidra SRE:
یک فایل ورودی دسکتاپ ایجاد کنید و آن را با داده های زیر پر کنید:
[Desktop Entry]
Version=10.0
Type=Application
Terminal=false
Icon=/home/artemix/ghidra/support
Exec=sh /home/artemix/ghidra/ghidraRun.sh
Name=Ghidra
مکان نماد Ghidra و اسکریپت راهاندازی را در قسمت های Icon و Exec جایگزین کنید.
فایل را به عنوان “Ghidra.desktop” در فهرست دسکتاپ ذخیره کنید.
روی فایل کلیک راست کرده و آن را روی Allow Launching تنظیم کنید یا یک ترمینال را روشن کنید و از دستور chmod استفاده کنید تا آن را برای همه کاربران قابل اجرا کنید.
chmod a+x Ghidra.desktop
اکنون می توانید Ghidra را مستقیماً از میانبر دسکتاپ که ایجاد کرده اید راهاندازی کنید. هر بار که نیاز به کار با Ghidra دارید، میانبر دسکتاپ در زمان و تلاش شما صرفه جویی می کند.
ابزارهای مهندسی معکوس در لینوکس
مهندسی معکوس فرآیند کامپایل کردن یک باینری نرم افزار برای مطالعه و اصلاح کد منبع آن است. این کار یک تکنیک پیچیده است که توسط متخصصان امنیتی برای تجزیه و تحلیل و خنثی کردن بدافزارها استفاده می شود.
اگرچه ماژولار بودن، قابل حمل بودن و مجموعه ویژگی های گسترده Ghidra آن را به محبوبیت طرفداران در بین حرفه ای ها و آماتورها تبدیل کرده است، اما گزینه های مبتنی بر امنیت زیادی وجود دارد که می توانید از بین آنها انتخاب کنید.