العودة إلى التحديثات
New releaseSep 5, 2026

emp3r0r v4.15.0

شبكة Gossip Mesh ذاتية الإصلاح لـ C2 مع اكتشاف الأقران المساعد، وتنفيذ BOF عبر الأنظمة الأساسية، وعوامل قابلة للبرمجة النصية.

مشاركة
emp3r0r

emp3r0r

C2 ذاتي الإصلاح يعمل في الذاكرة فقط لأنظمة Linux وWindows — وكلاء ينجون من الروابط المكسورة، ولا يلمسون القرص أبدًا، ويبرمجون طريقهم عبر Win32 API.


Discord GitHub Sponsors

GitHub go.mod Go version Tests GitHub License GitHub release


emp3r0r-readme

ما هو emp3r0r؟

emp3r0r هو إطار عمل لما بعد الاستغلال وC2 مبني لبيئات Linux وWindows حيث لا يكون التخفي والمرونة أمرًا اختياريًا. فبدلًا من افتراض اتصال موثوق بسيرفر واحد، يشكّل الوكلاء شبكة ذاتية الإصلاح تستمر في العمل عند انقطاع الروابط. وبدلًا من طلب Python أو PowerShell من الهدف، ينفّذون كل شيء في الذاكرة. وبدلًا من حصرك في حيل منصة واحدة، يشغّل emp3r0r وحدات BOF الخاصة بـ Windows، وكائنات Linux، وسكربتات Starlark — كلها بلا ملفات، وكلها داخل العملية.


أبرز المزايا والخصائص الفريدة

🐍 وكلاء قابلون للبرمجة (محرك Starlark مدمج ووكيل Win32 API)

يحمل كل وكيل محرك البرمجة الخاص به، بحيث يمكنك إضافة منطق جديد لما بعد الاستغلال دون تجميع أو إرسال ملفات ثنائية.

  • تعمل السكربتات بالكامل في الذاكرة — دون الحاجة إلى Python أو Bash أو PowerShell على الهدف، ودون تشغيل أي مفسّر أوامر.
  • تغطي مجموعة كاملة من الـ APIs المدمجة عمليات الملفات، وHTTP، وتنفيذ الأوامر، والمزيد، مباشرة من كود السكربت.
  • على Windows، يمكن للسكربتات استدعاء دوال Win32 الأصلية مباشرة — حيث يمرّر الوكيل الاستدعاء مباشرة إلى DLLs النظام.
  • الوحدات هي ملفات Starlark عادية مع بيان JSON صغير، لذا فإن إضافة وحداتك الخاصة سهلة وبلا ملفات.

لماذا هذا مهم: يصبح كتابة وتوسيع وظائف الوكيل ببساطة تحرير سكربت، دون أي أثر لإسقاط مفسّر أو ملف ثنائي جديد على الهدف.


🔐 تثبيت الهوية التشفيرية TOFU

يربط الوكلاء هويتهم بمفتاح تشفيري في أول مرة يتحدثون فيها معك — وهذا الربط لا يتغير أبدًا.

  • إعادة التسجيل ببيانات اعتماد مختلفة تُعتبر انتحالًا وتُرفض.
  • إزالة وكيل هي قرار صريح من المشغّل، وليست شيئًا يمكن لمفتاح مسروق فعله بهدوء.

لماذا هذا مهم: اختطاف الجلسات واستنساخ الوكلاء لا يحدثان ببساطة؛ فكل وكيل تتحدث معه هو الوكيل الذي سجّلته.


🔒 السرية التامة الأمامية (PFS)

يستخدم كل رابط C2 ورابط نظير مفاتيح ECDH مؤقتة مع مفاتيح تشفير مشتقة من الجلسة.

لماذا هذا مهم: حتى لو تم اختراق مفتاح طويل الأمد لاحقًا، فلا يمكن استخدامه لفك تشفير حركة المرور التي مرّت بالفعل.


🕸️ شبكة P2P Gossip Mesh ذاتية التشغيل

يكتشف الوكلاء بعضهم البعض ويمرّرون حركة المرور عبر شبكة gossip، بحيث لا تنهار العملية عند اختفاء رابط أو سيرفر واحد.

  • يتصل النظراء عبر mTLS 1.3 المموّه أو UDP الموثوق (KCP)، مع تشفير كل قفزة.
  • تعيد حركة المرور التوجيه تلقائيًا حول المرحّلات الميتة — دون جراحة يدوية للوكيل في منتصف العملية.
  • تظل الأجزاء التي لا تملك وصولًا مباشرًا إلى C2 قابلة للوصول عبر جيرانها.

لماذا هذا مهم: الشبكة تقوم بالتحويل نيابة عنك. اقطع رابطًا، أو افقد جهازًا، أو احجب C2 — يعيد الوكلاء التوجيه بأنفسهم.


📂 نظام ملفات P2P

تنتقل الملفات بين الوكلاء مباشرة، وليس فقط عبر C2.

  • تتم عمليات النقل عبر أنفاق نظير-إلى-نظير مشفّرة، فلا تختنق الشبكات الداخلية بسبب سيرفرك.
  • تُخزَّن الملفات في ذاكرة الوكيل ككتل مشفّرة وتُقدَّم للنظراء عند الطلب.
  • إذا لم يكن الملف موجودًا لدى أي نظير، يجلبه الوكيل من C2 تلقائيًا.

لماذا هذا مهم: التسليم سريع وغير مرئي تقريبًا لقناة C2 — مثالي للبيئات المقيّدة في الخروج.


📡 مستمعو بروتوكولات متعددة وStagers قابلة للتوصيل

يُعامَل إدخال الوكيل بجدية مثل إبقائه حيًّا.

  • مستمعو HTTP وTCP وUDP مع تأطير موثوق وملفات تعريف HTTP قابلة للتخصيص.
  • stager بحجم ~2KB مبني على استدعاءات نظام Linux المباشرة — بلا libc، وبلا سلسلة أدوات على الهدف.
  • ناقلات stager قابلة للتوصيل وحزم ذاتية التفريغ تتيح لك دمج الوصول الأولي في أي قناة يسمح بها هدفك، وإفشال مطابقة التوقيعات الثابتة في الطريق.
  • يحترم كود المرحلة والوكيل انضباط القراءة/الكتابة/التنفيذ — وليس RWX أبدًا.

لماذا هذا مهم: وصول أولي صغير وقابل للتكيف ونظيف من ناحية الذاكرة يعني أنك تستطيع الوصول إلى أجهزة كانت ستكون خارج المتناول لولا ذلك.


🧩 دعم أصلي متعدد المنصات لـ BOF وPICO (COFF وELF وPICO)

شغّل وحدات C المُجمَّعة داخل العملية على أي من المنصتين:

  • ملفات Windows COFF/BOF الثنائية مع تعبئة وسائط مُنمّطة.
  • كائنات Linux ELF القابلة للنقل تُحمَّل مباشرة في ذاكرة الوكيل.
  • وحدات Crystal-Kit PICO مع تمويه مكدس الاستدعاءات SilentMoonwalk.
  • تأتي Kerbeus-BOF وRemote-OPs ومجموعة Situational Awareness جاهزة للاستخدام.

لماذا هذا مهم: وحدات BOF لا تكون جيدة إلا بقدر محمّلها — يشغّلها emp3r0r داخل العملية دون عملية جديدة ودون ترك أي أثر، على Linux وWindows معًا.


🔑 رموز Windows وجلسات Netonly وتذاكر Kerberos (PTT)

بمجرد وصولك إلى جهاز Windows، يتيح لك emp3r0r أن تصبح المستخدمين الموجودين عليه — دون إسقاط أي أداة على الإطلاق.

  • اسرق رمز وصول من أي عملية قيد التشغيل واستخدمه في كل مكان: وحدات Go، وStarlark، وBOFs.
  • أنشئ جلسات netonly قابلة للتخلص منها باستخدام علم --user الخاص بالوحدة: تحتفظ بهوية وكيلك الخاصة وتستعير هوية المستخدم الهدف فقط للوصول الصادر — أي كلمة مرور تعمل، ولا يتم التحقق من أي شيء أبدًا.
  • استورد تذاكر Kerberos باستخدام علم --ticket لتمرير التذكرة الكامل: تصبح هويتك الشبكية هي هوية التذكرة (مثلًا، Domain Admin) بينما لا تتغير هويتك المحلية أبدًا.
  • تقبل كل وحدة تدعم الرموز --token و--user و--ticket، لذا فإن تبديل الهوية يبعد علمًا واحدًا — بما في ذلك إنشاء جلسة وتحميل تذكرة في أمر واحد.
  • تعيش التذاكر لكل جلسة تسجيل دخول، لذا تبقى مواد DA معزولة في جلسة قابلة للتخلص منها يمكنك تطهيرها، وتبقى عملية الوكيل نفسها نظيفة.

لماذا هذا مهم: تصبح الحركة الجانبية إلى أجهزة لا تشغّل أي وكيل على الإطلاق — مشاركات SMB، والتحكم بالخدمات، وCIFS — جزءًا طبيعيًا من سير عملك، مُصادَقًا عليه كمستخدم استعرته، وليس كأداة على القرص.


🧦 تحويل SOCKS5 وtun2socks على جانب المشغّل

حوّل دون إحراق وكيل آخر: يشغّل C2 وكيل SOCKS5 يمرّر عبر الوكيل الذي تختاره، ويمكن لجانب المشغّل أن يخطو خطوة أبعد باستخدام جهاز TUN شفاف.

  • يمنحك socks_start 1080 نقطة نهاية SOCKS5 على C2 تنفق عبر الوكيل المختار — وجّه proxychains أو أي أداة إليها وستكون داخل شبكة الهدف.
  • ينشئ tun2socks start --route 10.10.0.0/24 جهاز TUN يوجّه فقط الشبكات الفرعية التي تسميها عبر ذلك الوكيل — بينما يستمر كل شيء آخر في استخدام اتصالك العادي.
  • تبدو النتيجة وكأنها صادرة من الوكيل، دون إعداد وكيل لكل أداة.

لماذا هذا مهم: اوصل إلى شبكات كاملة على جانب الوكيل بشفافية — استخدم curl على DC، أو استخدم أي أداة — مع خروج يبدو وكأنه قادم من شبكة الهدف، وليس من جهاز المشغّل.


🎭 ناقل C2 قابل للتوصيل، وتهرّب uTLS JA3، وبروتوكول CBOR

  • اختر استقصاء HTTP بنمط beacon أو بث HTTP/2 — كلاهما بملفات تعريف قابلة للتشكيل.
  • تُعشَّر بصمات TLS باستخدام uTLS، بحيث لا تبرز القناة في القياسات الشبكية.
  • تسير حركة التحكم عبر بروتوكول CBOR مضغوط — أصغر وأسرع وأصعب في التحليل من JSON.

لماذا هذا مهم: قناة C2 مصممة لتبدو كحركة مرور عادية وتبقى خفيفة على الشبكة.


💾 تخزين مشفّر يعطي الأولوية للذاكرة

  • تعمل عمليات ملفات الوكيل على نظام ملفات افتراضي مشفّر بـ AES-GCM في الذاكرة؛ وتُسكَب البيانات الكبيرة على القرص فقط ككتل مشفّرة بلا ترويسات قابلة للتحديد.
  • يخزّن الوكلاء القادرون على P2P ما يجلبونه ويشاركونه مع النظراء، مما يقلّص حركة C2 أكثر.

لماذا هذا مهم: حتى القرص يُعامَل كعدو — لا يبقي الوكيل أي آثار نصية صريحة يمكن العثور عليها.


البدء السريع

1. تثبيت سيرفر C2

يتطلب بناء emp3r0r وجود Docker أو Podman على المضيف — دون سلسلة أدوات Go محلية.

git clone --depth=1 https://github.com/jm33-m0/emp3r0r.git && cd emp3r0r
./install.py

يبني المثبّت كل شيء في حاوية مؤقتة ويجهّز عدة المشغّل. أعلام مفيدة: --lightweight (Linux/Windows amd64 فقط، الأسرع)، --targets OS/ARCH,...، --debug، --skip-build.

شغّل السيرفر:

emp3r0r server --c2-hosts 1.2.3.4 --http-port 12345 --operator-port 13377

2. إعداد جهاز المشغّل

tar --zstd -xpf emp3r0r-operator-kit.tar.zst
cd ./emp3r0r-operator-kit && ./install.py

اتصل باستخدام بيانات اعتماد WireGuard التي طبعها السيرفر:

emp3r0r client --c2-port 13377 \
  --server-wg-key '<SERVER_WG_KEY>' --server-wg-ip '<SERVER_WG_IP>' \
  --operator-wg-ip '<OPERATOR_WG_IP>' --operator-wg-key '<OPERATOR_WG_KEY>' \
  --c2-host 1.2.3.4

3. توليد حمولات الوكيل

داخل وحدة تحكم المشغّل:

# Direct C2 agent
generate --type linux_executable --arch amd64 --cc your.domain.com

# Mesh gateway agent (also reachable from the C2 directly)
generate --type linux_executable --arch amd64 --cc your.domain.com \
  --p2p --direct-c2 --p2p-transport mtls

# Mesh intermediate peer (relays for other agents)
generate --type linux_executable --arch amd64 --cc your.domain.com \
  --p2p --p2p-transport mtls --peers 1.2.3.4

# Windows mesh peer over SMB named pipes (local \\.\pipe, cross-host \\host\pipe),
# AES-GCM framed like the other transports
# (requires the Windows SMB stack / logon session to reach the peer)
generate --type windows_executable --arch amd64 --cc your.domain.com \
  --p2p --p2p-transport smb

قد تشغّل عقد الشبكة ناقلات مختلفة. يعلن كل وكيل عن الناقل والمنفذ الذي يستمع عليه مرحّله، ويستخدم المتصلون دائمًا الناقل المُعلَن من النظير، لذا فإن شبكة مختلطة (مثل عقد Windows SMB إلى جانب عقد Linux mTLS) توجّه عبر نظير يشترك في ناقل قابل للاستخدام بدلًا من افتراض أن الجميع يشغّلون الافتراضي المحلي. يُقبل smb فقط لحمولات Windows؛ بينما يعمل kcp/mtls في كل مكان.


التوثيق والموارد


دعم التطوير

إذا أثبت emp3r0r قيمته في أبحاثك واختباراتك الأمنية، ففكّر في دعم استمرار تطويره عبر GitHub Sponsors.

الفئات