اگر به دنبال ابزاری برای افزایش امنیت و مبهمسازی فایلهای اجرایی ویندوز هستید، Astral-PE یکی از گزینههای جالب و تخصصی در این حوزه است. این ابزار یک تغییردهنده (mutator) سطح پایین برای فایلهای PE بومی ویندوز (مانند .exe و .dll) محسوب میشود که با بازنویسی ابردادههای ساختاری پس از کامپایل، بدون ایجاد اختلال در اجرای برنامه، امنیت آن را افزایش میدهد .
Astral-PE چیست و چه تفاوتی با سایر ابزارها دارد؟
برخلاف بسیاری از ابزارهای مشابه، Astral-PE یک محافظ (packer)، رمزنگار (cryptor) یا تزریقکننده کد (injector) نیست . در واقع، این ابزار یک پاککننده جراحی ابرداده (surgical metadata cleaner) و مبهمساز هدرها و نقطه ورود (entrypoint) است که به عنوان یک مرحله پسپردازش (post-processing) روی فایلهای از قبل محافظتشده اعمال میشود .
هدف اصلی Astral-PE، تغییر ساختارهای قابل شناسایی در فایل است تا ابزارهای تحلیل خودکار و قوانین YARA نتوانند الگوهای مشخصی را تشخیص دهند . این کار باعث میشود که فرآیند مهندسی معکوس و آنباکس کردن خودکار با مشکل مواجه شود.
ویژگیها و تغییرات اعمالشده توسط Astral-PE
این ابزار تغییرات دقیق و ایمنی را بر روی ساختارهای مختلف فایل PE اعمال میکند که از مهمترین آنها میتوان به موارد زیر اشاره کرد :
- پاکسازی ابردادهها: حذف اطلاعاتی مانند
TimeDateStamp، هدر Rich (که اثر انگشت کامپایلر را نشان میدهد)، اطلاعات دیباگ (مسیرهای PDB)، و اطلاعات نسخه. - تغییر نام بخشها: پاک کردن نام بخشهای استاندارد مانند
.textو.rsrc. - دستکاری جدول ورودی/خروجی: تغییر نام فایلهای DLL و ایجاد یک جدول خروجی جعلی در صورت عدم وجود.
- تغییر نقطه ورود: جایگزینی یا تغییر بایتهای ابتدایی نقطه ورود برنامه.
- بهینهسازی حافظه: فعال کردن قابلیت Large Address Aware برای برنامههای ۳۲ بیتی و افزایش رزرو پشته و هیپ به مقادیر پیشفرض ایمن.
نحوه استفاده
استفاده از Astral-PE بسیار ساده است و از طریق خط فرمان انجام میشود. دستور پایه به این صورت است :
Astral-PE.exe <input.exe> -o <output.exe>
برای مثال:
Astral-PE.exe payload.exe -o payload_clean.exe
همچنین یک گزینه -l یا --legacy-win-compat-mode برای اطمینان از سازگاری با ویندوز ۷، ۸ و ۸.۱ وجود دارد که البته میزان مبهمسازی را کاهش میدهد .
بهترین روش استفاده
توصیه میشود از Astral-PE به عنوان یک مرحله پس از اعمال محافظهای اصلی (مانند packerها) استفاده کنید . برای حداکثر اثربخشی، میتوان آن را در چند مرحله به کار برد :
Build → Astral-PE → Any packer → Astral-PE → Sign → Distribute
محدودیتها
توجه داشته باشید که Astral-PE از فایلهای داتنت (.NET) پشتیبانی نمیکند و صرفاً برای فایلهای بومی ویندوز (Native PE) طراحی شده است .
لینک دانلود
آخرین نسخه این ابزار برای ویندوز و لینوکس به صورت رایگان در دسترس است:
لینک دانلود: https://github.com/DosX-dev/Astral-PE
لینک دانلود: Astral-PE-Windows و همچنین Astral-PE-Linux
