Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ICMP-Ghost-A-Fileless-x64-Assembly-C2-Agent — إطار عمل C2 بدون ملفات بلغة تجميع x64 مع التنقل عبر بروتوكولات ICMP/DNS ثنائية القنوات، تنفيذ استدعاءات النظام المباشرة، وحقن العمليات القائم على ptrace لتنفيذ الأوامر واستخراج البيانات بشكل خفي. | Kitploit
أدوات/GitHubGitHub/jm00nj/icmp-ghost-a-fileless-x64-assembly-c2-agent
تصعيد الامتيازاتأطر الاستغلالالتهرب من IDS/IPSشيل كودما بعد الاستغلالالقيادة والسيطرةالفريق الأحمرتطوير الحمولات

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
GitHub
jm00nj/icmp-ghost-a-fileless-x64-assembly-c2-agent

ICMP-Ghost-A-Fileless-x64-Assembly-C2-Agent

إطار عمل C2 بدون ملفات بلغة تجميع x64 مع التنقل عبر بروتوكولات ICMP/DNS ثنائية القنوات، تنفيذ استدعاءات النظام المباشرة، وحقن العمليات القائم على ptrace لتنفيذ الأوامر واستخراج البيانات بشكل خفي.

عرض المستودعالموقع الإلكتروني
881835منذ 19 أيامتمت المراجعة من قبل Kitploit
 ________  ___  ___  ________  ________  _________       ________  ________   
|\   ____\|\  \|\  \|\   __  \|\   ____\|\___   ___\    |\   ____\|\_____  \  
\ \  \___| \ \  \\\  \ \  \|\  \ \  \___|\|___ \  \_|    \ \  \___|\|____|\  \ 
 \ \  \  __ \ \   __  \ \  \\\  \ \_____  \   \ \  \      \ \  \     ____\_\  \
  \ \  \|\  \ \  \ \  \ \  \\\  \|____|\  \   \ \  \      \ \  \___|\____ \  \
   \ \_______\ \__\ \__\ \_______\____\_\  \   \ \__\      \ \______\\_________\
    \|_______|\|__|\|__|\|_______|\_________\   \|__|       \|______\|_________|
                                 \|_________|                                   

إطار تحكم غير ملفي، مكتوب بلغة التجميع (Assembly) النقية لمعمارية x64، يستخدم بنية قناتين (ICMP / DNS). لا يعتمد على مكتبة libc. لا يترك أثرًا على القرص. غير مرئي لأدوات الكشف المعيارية EDR.


Architecture Language Protocol Protocol OS Version Suricata GitHub stars GitHub license GitHub repo size

Ghost-C2

نظرة عامة

⭐️ إذا وجدت هذا البحث مفيدًا، فيرجى التفكير في منحه نجمة لدعم التطوير المستمر

🚨 البحث الفني الكامل وشيفرة المصدر: هذا المستودع هو ملخص. للحصول على التحليل المعماري الكامل، وتفاصيل تجاوز حماية W^X للذاكرة، وتنفيذ VTable، قم بزيارة صفحة المشروع الرسمية: التحليل الفني لـ ICMP-Ghost

Ghost-C2 هو إطار تحكم وقيادة (C2) مكتوب بالكامل بلغة التجميع الخالصة لـ x64 Linux بدون أي تبعيات من libc. كل عملية تتم عبر استدعاءات نظام مباشرة (syscalls). لا توجد جداول استيراد، ولا آثار لرابط ديناميكي، ولا أي كتابة على القرص.

بُني في الأصل كقناة ICMP متخفية، يقدم الإصدار 3.6.2 بنية "تنقل بروتوكول ثنائي القناة". يمكن للمشغل التبديل بسلاسة بين قناة اتصال الأداة الخفية بين ICMP Raw Sockets الصامت و DNS UDP Tunneling المراوغ أثناء التشغيل. تعيش الأداة حصريًا في الذاكرة RAM، محقونة في عملية نظام قيد التشغيل عبر أداة تحميل مخصصة قائمة على ptrace.

تم بناء هذا المشروع لاستكشاف مدى التخفي في مساحة المستخدم ومزامنة حالة الشبكة دون لمس النواة.


البنية المعمارية

ghost-c2-architecture
┌─────────────────────────────────────────────────────────────┐
│                      جهاز المشغل                            │
│                                                             │
│   ┌──────────────┐                                          │
│   │  client.asm  │  ← واجهة طرفية: عنوان IP/نطاق + أمر       │
│   │  (وحدة تحكم  │    تشفير الحمولة باستخدام XOR دوراني      │
│   │   المشغل)    │    مزامنة الحالة: وضع ICMP / وضع DNS      │
│   └──────┬───────┘                                          │
│          │                                                  │
└──────────┼──────────────────────────────────────────────────┘
           │  القناة 1: ICMP أولي (بدون حالة، بدون منفذ)
           │  القناة 2: DNS UDP المنفذ 53 (غير متماثل)
┌──────────┼──────────────────────────────────────────────────┐
│          │              الجهاز الهدف                         │
│          ▼                                                  │
│   ┌──────────────┐     ┌─────────────────────────────────┐  │
│   │  loader.asm  │────▶│         sniff.asm (PIC)         │  │
│   │  (محمل       │     │         يعيش في الذاكرة فقط     │  │
│   │   شبح)       │     │         داخل عملية مضيفة        │  │
│   └──────────────┘     └────────────────┬────────────────┘  │
│                                         │                   │
│   1. يمسح /proc للعثور على PID الهدف    │ يستمع ICMP/DNS   │
│   2. ptrace ATTACH                      │ يتحقق من المصادقة│
│   3. force remote mmap (RW)             │ يفك تشفير الأمر   │
│   4. حقن shellcode PIC                  │ fork+execve       │
│   5. mprotect → RX                      │ memfd_create      │
│   6. إعادة توجيه RIP ← shellcode        │ ضغط (DPCM-RLE)    │
│   7. ptrace DETACH → خروج               │ تشفير وتجزئة      │
│                                         │ إرسال الرد        │
└─────────────────────────────────────────┼───────────────────┘
                                          │  حركة مرور مشفرة
                                          ▼
                                   [ client.asm ]
                                   استقبال وتحقق
                                   فك تشفير الحمولة
                                   فك ضغط (هجين)
                                   إعادة تجميع وطباعة

المكونات

client.asm — وحدة تحكم المشغل

الطرفية الخاصة بالمهاجم. تتعامل مع واجهة المستخدم، وإدارة الذاكرة الديناميكية، ومزامنة حالة الهدف. يمكنها إرسال الحزم إما كطلبات ICMP Echo أو استعلامات DNS TXT. تستمع للردود المجزأة، وتمنع تجاوز سعة المخزن المؤقت، وتعيد بناء المخرجات. تتضمن وحدة "إعادة الاتصال بالهدف النشط" لإنقاذ الجلسات المفقودة.

sniff.asm — أداة PIC الخفية (العميل)

الأداة التي تعمل على الهدف. تُجمَع كملف ثنائي خام (مستقل عن الموقع، بدون رؤوس ELF) بحيث يمكن حقنها في عناوين ذاكرة عشوائية. تقوم بتحديث VTable الداخلي ديناميكيًا للتبديل بين استماع ICMP وربط UDP DNS بناءً على أوامر التوجيه من المشغل.

Phantom_Loader/loader.asm — محرك الحقن

آلية التسليم. يفحص /proc، ويجد عملية مستهدفة باسم comm، ويحقن shellcode PIC فيها باستخدام آلة حالة ptrace متعددة المراحل. يخرج بشكل نظيف بعد الحقن — لا يترك أي أثر.


تقنيات التخفي والمراوغة

تنقل بروتوكول ثنائي القناة (ICMP ↔ DNS)

يتيح Ghost-C2 v3.6.2 للمشغل تبديل بروتوكول الشبكة دون فقدان الوكيل. بإرسال أوامر توجيه محددة، يتم الكتابة فوق جداول VTables في كل من السيد والوكيل ديناميكيًا:

  • !D (التحويل إلى DNS): يغلق كلا العقدتين مآخذ ICMP ويبدآن اتصال UDP بالمنفذ 53. مثالي لتجاوز التصفية الصارمة للطبقة الثالثة عن طريق الاندماج في حركة DNS الخاصة بالشركات.
  • !I (التحويل إلى ICMP): يغلق الوكيل مآخذ UDP، ويقتل ارتباطات المنافذ، ويعود إلى الاستماع الصامت عبر Raw Socket. مثالي لوضع التخفي "الشبح".

ضاغط DPCM-RLE الهجين لـ x64

يستخدم محرك نقل بيانات Ghost-C2 طبقة ضغط وتشفير هجينة محسّنة بشدة في لغة التجميع x86-64.

  • DPCM (تعديل كود النبض التفاضلي): يحسب ويرسل الفرق الرياضي (Delta) بين حرف مرجعي والأحرف التالية، مما يقلل من إنتروبيا البيانات.
  • RLE (ترميز طول التشغيل): يحزم المسافات المتتالية والكتل المتكررة على مستوى البت.
  • النتيجة: يقلل حجم الحمولة الإجمالية بنسبة 40% إلى 55%، مما يقلل البصمة الشبكية وعدد الحزم المحقونة.

محاكاة بروتوكول ICMP

كل حزمة ICMP صادرة منظمة بحيث لا يمكن تمييزها عن أمر ping القياسي في Linux:

  • طوابع زمنية RDTSC ديناميكية تحاكي struct timeval.
  • الحشو الدقيق لـ iputils في Linux (0x10 إلى 0x1F) يتجاوز جدران الحماية الإرشادية الأساسية.

تشفير XOR دوراني

يتم تشفير كلا الاتجاهين بمفتاح QWORD يتغير تدريجيًا. هذا يحافظ على إنتروبيا شانون منخفضة (على عكس AES الذي يسجل حوالي 8.0 ويؤدي إلى شذوذ في DPI). ينتج XOR الدوراني إنتروبيا تشبه البيانات المزعجة الطبيعية. لا توجد ثوابت تشفير، ولا صناديق S، ولا شيء لتطابقه YARA.

مصادقة غير متماثلة

تتجاهل الأداة الخفية جميع حزم ICMP حيث ID + SEQ ≠ 45,000. ترد الأداة بحزم حيث ID + SEQ = 55,000. هذا يمنع الارتباك مع صدى نظام التشغيل ويصفي الماسحات الضوئية للإنترنت أو أجهزة الاستشعار (honeypots).

تنزيل الأداة