العودة إلى التحديثات
New releaseJul 24, 2026

emp3r0r v4.7.0

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

مشاركة
emp3r0r

emp3r0r

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


Discord GitHub Sponsors

GitHub go.mod Go version Tests GitHub License GitHub release


emp3r0r

ما هو emp3r0r؟

emp3r0r هو إطار عمل متقدم للاستغلال بعد الاختراق ونظام أوامر وتحكم (C2) قائم على مبدأ الثقة الصفرية، مصمم لبيئات Linux وWindows المستهدفة. مبني من الصفر للعمل في بيئات شديدة الأمان، يجمع emp3r0r بين شبكة Gossip Mesh مستقلة، وتنفيذ بدون ملفات في الذاكرة فقط، وتحميل BOF عبر المنصات، ونقل ملفات بين العوامل، وعوامل قابلة للبرمجة داخل الذاكرة لتحقيق تمويه فائق، وتحكم تشغيلي، وأمان تشغيلي (OPSEC).


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

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

تتميز عوامل emp3r0r بمحرك Starlark مدمج للبرمجة النصية (لهجة من بايثون منفذة بلغة Go بشكل خالص). تُنفَّذ النصوص بدون ملفات في الذاكرة دون الحاجة إلى تثبيت Python أو Bash أو PowerShell على الهدف.

  • صفر اعتماديات على المضيف: ينفّذ نصوصًا مستقلة دون استدعاء مترجمات أوامر (/bin/sh, powershell.exe) أو الاعتماد على بيئات تشغيل مثبتة.
  • واجهات Go مدمجة في العامل: دوال مكشوفة لعمليات نظام الملفات (read_file, write_file, list_dir, mkdir, remove, exists)، واتصالات HTTP (http_get, http_post)، وتنفيذ الأوامر (exec_cmd)، والتجزئة (crypto_hash).
  • وكيل Win32 API ديناميكي: على أهداف Windows، يمكن لنصوص Starlark تحميل مكتبات النظام DLL ديناميكيًا وتنفيذ واجهات Win32 الأصلية (win_call, win_alloc, win_free, win_read_mem) مباشرة من كود النص دون ترجمة كود C أصلي.
  • تكامل معياري: تُعرَّف نصوص Starlark باستخدام ملفات وصف JSON (config.json) لتحليل وسائط سطر الأوامر وتوزيعها بسلاسة.

سبب الأهمية: تتطلب وحدات C2 النصية التقليدية مترجمات على المضيف أو استدعاء عمليات، مما يترك آثارًا ثقيلة على القرص أو في سطر الأوامر. العوامل القابلة للبرمجة في emp3r0r تنفّذ منطقًا معقدًا بالكامل في الذاكرة مع تفاعل أصلي مع النظام.


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

يفرض emp3r0r مبدأ الثقة عند أول استخدام (TOFU) مع تثبيت صارم للمعرّف UUID والمفتاح العام عند تسجيل العامل.

  • ربط غير قابل للتغيير: بمجرد التسجيل، يُثبَّت UUID الخاص بالعامل إلى مفتاحه العام المشفر. أي إعادة تسجيل ببيانات اعتماد معدلة تُرفض كمحاولة انتحال.
  • إعادة تعيين مضبوطة: إلغاء التسجيل يتطلب إذنًا صريحًا من المشغل عبر forget_agent.

سبب الأهمية: يمنع اختطاف الجلسات، واستنساخ العوامل، وانحراف الهوية الصامت عبر البيئات التشغيلية.


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

جميع اتصالات C2 والأقران تفرض تبادل مفاتيح ECDH مع مفاتيح جلسة مشتقة عبر HKDF.

  • مفاتيح مؤقتة: كل جلسة تولّد مفاتيح تشفير فريدة.
  • أمان منفصل: اختراق المفاتيح طويلة الأمد أو عامل فردي لا يمكنه اختراق الاتصالات السابقة أو المتوازية.

سبب الأهمية: يمنع فك التشفير الاستعادي لعمليات التقاط الشبكة المعترضة.


🕸️ شبكة Gossip Mesh مستقلة من نظير إلى نظير

تكتشف العوامل في الأجزاء الشبكية المقيدة بالاتصالات الصادرة أو المعزولة الأقران تلقائيًا وتنقل الحركة عبر شبكة Gossip (Memberlist).

  • ناقلات أقران قابلة للتبديل: دعم لـ mTLS 1.3 بتمويه (باستخدام شهادات مؤقتة) وKCP (UDP موثوق).
  • تشفير شامل: جميع قفزات الشبكة بين العوامل مغلّفة بتشفير AES-GCM.
  • بصمة شبكة منخفضة: الترحيل المباشر بين العوامل يلغي ضوضاء البث غير الضرورية وعُقد اختناق اتصال C2 المركزية.

سبب الأهمية: التنقل عبر الشبكات المقسمة يحدث تلقائيًا دون الحاجة إلى تدخل مستمر من المشغل أو إعدادات وكيل ثابتة.


📂 نظام ملفات من نظير إلى نظير

مشاركة ملفات مباشرة بين العوامل عبر ناقل ترحيل P2P (mTLS/KCP) لتسريع تسليم الملفات عبر الشبكات الداخلية.

  • أنفاق P2P مشفرة: نقل الملفات عبر الأقران باستخدام mTLS/KCP لتجاوز قيود الاتصالات الصادرة وتقليل اختناقات نطاق C2 المركزي.
  • تخزين مؤقت ذكي للملفات في الذاكرة: تُخزَّن الملفات مؤقتًا في ذاكرة العامل ككتل مشفرة؛ ويمكن تقديمها بسلاسة لعوامل أخرى للتنزيل عند الطلب. عند طلب ملف، تبحث العوامل أولًا في memfs المحلي، ثم الأقران الآخرين، وأخيرًا C2.
  • تراجع تلقائي لترحيل C2: إذا كان العامل المستهدف يفتقر إلى الملف المطلوب، فإنه يجلبه ديناميكيًا ويبثّه من خادم C2 عند الطلب.

سبب الأهمية: المشاركة المباشرة للملفات بين العوامل تزيد سرعة النقل، وتتجاوز عُقد الاختناق، وتقلل ظهور حركة C2 المباشرة.


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

Stagers مرنة لتنزيل المرحلة 0 ومستمعات بروتوكولات للوصول الأولي وتسليم الحمولة.

  • مستمعات متعددة البروتوكولات: مستمعات HTTP وTCP وUDP مدمجة ومستقلة مع تأطير موثوق لتسلسل الاستلام (sequence-acknowledgment) وملامح HTTP مخصصة.
  • Stager تنزيل C مستقل: مبني باستدعاءات نظام Linux مباشرة دون الاعتماد على libc للتوافق عبر التوزيعات دون أخطاء رموز.
  • حجم حمولة صغير جدًا: بينما يبلغ حجم ثنائيات عامل emp3r0r حوالي 20 ميجابايت بدون ضغط، فإن هذا الـ stager أقل من 1.5 كيلوبايت؛ والحمولة الشبيهة بـ sRDI التي يجلبها من مستمع emp3r0r تبلغ حوالي 8 ميجابايت (مضغوطة من ثنائي العامل بصيغة كائن مشترك ELF).
  • صيغ مرنة: يُترجم إلى شيل كود خام مستقل عن العنوان (.bin)، أو ملفات ELF قابلة للتنفيذ مستقلة، أو كائنات مشتركة (.so).
  • تقوية في الذاكرة: يخصص ذاكرة المرحلة بصلاحيات قراءة-كتابة، ويزيل إخفاء الحمولات، ويفرض صلاحيات قراءة-تنفيذ قبل التنفيذ الانعكاسي للمرحلة 1.

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

تنفيذ وحدات ثنائية في الذاكرة على أهداف Windows وLinux معًا:

  • محملات COFF لنظام Windows: تشغيل ثنائيات BOF على ويندوز بدون ملفات مع تعبئة وسائط بنوع محدد (int, short, cstr, wstr, binary).
  • محملات ELF لنظام Linux: تحميل ملفات كائنات ELF القابلة للنقل (.o) مباشرة في ذاكرة العامل على Linux.
  • مجموعات BOF مرفقة: دعم مدمج لمجموعات وحدات Kerbeus-BOF وRemote-OPs وSituational Awareness (SA).

سبب الأهمية: يلغي الحمل الناتج عن إنشاء العمليات ويتجاوز مراقبة سطر الأوامر عبر تشغيل وحدات C مترجمة داخل العملية نفسها.


🎭 ناقل C2 قابل للتبديل، وتجنب JA3 عبر uTLS، وبروتوكول CBOR

  • أوضاع C2 قابلة للتبديل: اتصال beacon مرن (http_poll) مع ملامح HTTP قابلة للتشكيل، واتصال تدفقي (h2conn) عبر HTTP/2.
  • عشوائية بصمة JA3: يستخدم uTLS لعشوائية بصمات TLS Client Hello، مما يهزم توقيعات الشبكة الثابتة.
  • بروتوكول ثنائي على السلك: يستخدم CBOR (تمثيل ثنائي موجز للكائنات) لجميع بيانات التحكم وتسلسل الأسلاك، مما يقلل أحجام حمولات الشبكة بنسبة 30-40% مقارنة بـ JSON.

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

  • نظام ملفات افتراضي مشفر في الذاكرة: جميع عمليات الملفات في العامل تستخدم نظام ملفات افتراضي AES-GCM في الذاكرة. تتناثر البيانات الكبيرة تلقائيًا إلى تخزين مشفر على القرص دون ترويسات أو امتدادات يمكن التعرف عليها.
  • تخزين مؤقت ذكي مدعوم بـ P2P: كل عامل مفعّل P2P يخزن مؤقتًا الملفات التي يجلبها من C2 في memfs؛ ثم يجعلها متاحة لأقران آخرين، مما يقلل بصمة حركة C2 مع الاستفادة من الاتصالات السريعة بين العوامل.

بدء الاستخدام

1. تثبيت خادم C2

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

# Clone repository
git clone --depth=1 https://github.com/jm33-m0/emp3r0r.git && cd emp3r0r

# Build inside a container and install locally
./install.sh

المثبّت يترجم الثنائيات الأساسية داخل حاوية مؤقتة، وينشئ حزمة emp3r0r-operator-kit.tar.zst المجمّعة مسبقًا، ويكوّن صلاحيات Linux المطلوبة (setcap)، ويضبط أدلة تشغيل النظام.

الخيارات:

./install.sh [--debug] [--disable-garble] [--prefix /usr/local] [--skip-build]

شغّل خادم C2:

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

ملاحظة: إذا تم التثبيت باستخدام المستخدم root بدلاً من sudo القياسي، فقد لا يتمكن المستخدم الحالي من تشغيل emp3r0r لأن المثبّت لا يمكنه ضبط الصلاحيات بشكل صحيح. الأمر نفسه ينطبق على أجهزة المشغل لديك أيضًا.


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

انقل حزمة emp3r0r-operator-kit.tar.zst المولّدة إلى جهاز المشغل وشغّل المثبّت:

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

اربط عميل المشغل بخادم C2 باستخدام بيانات اعتماد نفق 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. توليد حمولات العوامل

استخدم أمر generate داخل واجهة مشغل emp3r0r لإنشاء الحمولات.

عامل C2 مباشر:

generate --type linux_executable --arch amd64 --cc your.domain.com

عامل بوابة الشبكة (Mesh Gateway):

generate --type linux_executable --arch amd64 --cc your.domain.com \
  --p2p --direct-c2 --p2p-transport mtls

عقدة وسيطة في الشبكة:

generate --type linux_executable --arch amd64 --cc your.domain.com \
  --p2p --p2p-transport mtls --peers 1.2.3.4

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


دعم التطوير

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

الفئات