
Revenant - A 3rd party agent for Havoc that demonstrates evasion techniques in the context of a C2 framework
Revenant هو وكيل طرف ثالث لـ Havoc مكتوب بلغة C، ومبني على Talon. يهدف هذا الإمبلانت إلى التوسع في إمبلانت Talon من خلال تنفيذ طرق تنفيذ خفية، وقدرات قوية، والمزيد من التخصيص.

يهدف هذا المشروع إلى أن يكون إمبلانت Havoc C2 قائمًا بذاته. وظيفة المستخدم النهائي المستهدفة هي كما يلي:
- نزّل المستودع
- فك ضغط Revenant.zip
- pip install black
- شغّل Havoc (./havoc server --profile ./profiles/havoc.yaotl -v --debug & ./havoc client )
- انتقل إلى المجلد الجذر
- python Revenant.py
- ???
- الربح
توافق x86 و Win 7:
- تعطيل NativeAPI
ملاحظة: يستخدم Revenant دالة NtCreateUserProcess لتوفير وظيفة NativeAPI. NtCreateUserProcess غير مدعوم على x86 أو Win 7
- pwsh - ينفّذ الأوامر عبر powershell.exe -> pwsh ls
- shell - ينفّذ الأوامر عبر cmd.exe -> shell dir
- download - ينزّل ملفًا إلى مجلد الغنائم -> download C:\test.txt
- upload - يرفع ملفًا إلى المجلد المطلوب -> upload /home/test.txt C:\temp\test.txt
- exit - يُنهي الإمبلانت الحالي -> exit
- Sleep - ضبط مدة النوم بالثواني
- Polymorphic - تفعيل/تعطيل تعدد الأشكال في وقت البناء ووقت التشغيل
- Obfuscation - تعتيم السلاسل النصية باستخدام XOR
- Arch - x86/x64
- Native - استخدام NativeAPI حيثما تم تنفيذه
- AntiDbg - استخدام فحوصات مكافحة التصحيح عند التهيئة
- RandCmdIDs - جعل معرّفات الأوامر عشوائية
- Unhooking - طريقة GhostFart/Perun's Fart لفك الربط وتنفيذ الأمر ثم إعادة الربط
ملاحظة: يقوم RandCmdIDs بجعل CmdIDs في الملف التنفيذي الناتج عشوائيةً. Revenant لا يخزّن هذه CmdIDs العشوائية؛ وستعمل فقط مع الجلسة النشطة. إذا كنت تريد ملفًا تنفيذيًا قابلاً لإعادة الاستخدام، لا تفعّل هذا الخيار.
- إضافة exec-assembly
- إضافة أوامر cd و ls و whoami
- تقليل الإنتروبيا