
مُحمل شيلكود بلغة Go يدمج تقنيات تهرب متعددة
Hades هو مُحمّل (loader) كإثبات مفهوم يجمع بين عدة تقنيات تجنب بهدف تجاوز آليات الدفاع التي تُستخدم عادةً بواسطة برامج مكافحة الفيروسات الحديثة وأنظمة كشف الاستجابة (AV/EDRs).
أسهل طريقة هي على الأرجح بناء المشروع على Linux باستخدام make.
git clone https://github.com/f1zm0/hades && cd hades
make
ثم يمكنك نقل الملف التنفيذي إلى جهاز يعمل بنظام x64 Windows وتشغيله باستخدام .\hades.exe [options].
PS > .\hades.exe -h
'||' '||' | '||''|. '||''''| .|'''.|
|| || ||| || || || . ||.. '
||''''|| | || || || ||''| ''|||.
|| || .''''|. || || || . '||
.||. .||. .|. .||. .||...|' .||.....| |'....|'
الإصدار: dev [11/01/23] :: @f1zm0
الاستخدام:
hades -f <filepath> [-t selfthread|remotethread|queueuserapc]
الخيارات:
-f, --file <str> مسار ملف السيلكود (.bin)
-t, --technique <str> تقنية الحقن [selfthread, remotethread, queueuserapc]
حقن سيلكود يُشغّل calc.exe باستخدام تقنية queueuserapc:
.\hades.exe -f calc.bin -t queueuserapc
تجاوز ربط وضع المستخدم (user-mode hooking) عبر ترتيب RVA لاستدعاءات النظام (تم ربط NtQueueApcThread باستخدام frida-trace و معالج مخصص)

تجاوز استدعاءات رد الاتصال الخاصة بالأدوات (instrumentation callback) باستخدام استدعاءات النظام غير المباشرة (indirect syscalls) (DLL المُحقَن هو من syscall-detect بواسطة jackullrich)

في الإصدار الأخير، تم استبدال قدرات استدعاءات النظام المباشرة باستدعاءات غير مباشرة مقدمة من acheron. إذا كنت ترغب لسبب ما في استخدام الإصدار السابق من المُحمّل الذي كان يستخدم استدعاءات مباشرة، فعليك تمرير وسم direct_syscalls صراحةً إلى المترجم، وسيقوم بتحديد الملفات التي يجب تضمينها واستبعادها من البناء.
GOOS=windows GOARCH=amd64 go build -ldflags "-s -w" -tags='direct_syscalls' -o dist/hades_directsys.exe cmd/hades/main.go
تحذير
تم إنشاء هذا المشروع لأغراض تعليمية فقط، لتجربة تطوير البرمجيات الخبيثة بلغة Go، والتعرف أكثر على حزمة unsafe وبناء جملة Go Assembly الغريبة. لا تستخدمه على أنظمة لا تملكها. مطور هذا المشروع ليس مسؤولاً عن أي ضرر ناتج عن الاستخدام غير السليم لهذه الأداة.
شكر خاص للأشخاص التاليين الذين شاركوا معرفتهم وكودهم الذي ألهم هذه الأداة:
هذا المشروع مرخص بموجب رخصة GPLv3 - راجع ملف LICENSE للتفاصيل.