Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/naacbin/covenantdecryptor
أدوات التشفير/فك التشفيرتحليل الذاكرة الجنائيتحليل الشبكة الجنائيتحليل البرمجيات الخبيثةالتحاليل الرقمية الجنائيةالتشفيرالقيادة والسيطرة
GitHubnaacbin/covenantdecryptor

CovenantDecryptor

يفك تشفير اتصالات Covenant C2 عن طريق استخراج مفاتيح RSA الخاصة من ملفات minidumps، واستعادة مفاتيح جلسة AES، وتحويل التقاطات الشبكة إلى نص صريح.

عرض المستودع
374منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة

CovenantDecryptor

تم تصميم CovenantDecryptor لفك تشفير بيانات الاتصالات الخاصة بحركة مرور Covenant.

إن استخراج المفتاح الخاص من الذاكرة ينطبق على أنظمة C2 الأخرى، مثل Empire، نظرًا لاستخدامها لـ RSACryptoServiceProvider لإنشاء المفتاح.

كيف يعمل تواصل Covenant؟

يتكوّن تهيئة اتصال Covenant من 3 مراحل:

  • المرحلة 0:
    1. يبدأ الوكيل المصاب جلسة RSA عن طريق إرسال مفتاح عام مشفّر باستخدام SetupAESKey، وهو مضمّن في ملف تنفيذي خبيث. وقبل الإرسال، يقوم بتنسيق النص كما هو موصوف في GruntHTTPStager مع ضبط النوع على 0.
    2. ينقل خادم C2 مفتاح SessionKey، مشفّرًا بالمفتاح العام RSA، للاتصالات اللاحقة.
  • المرحلة 1:
    1. يستخدم الوكيل المصاب SetupAESKey لفك تشفير الرسالة، ثم يستعين بالمفتاح الخاص RSA لفك تشفير SessionKey. بعد ذلك، يقوم بتشفير 4 بايتات مولّدة عشوائيًا باستخدام SessionKey وإرسالها. وقبل الإرسال، يقوم بتنسيق النص كما هو موصوف في GruntHTTPStager مع ضبط النوع على 1.
    2. يفك خادم C2 تشفير الـ 4 بايتات باستخدام SessionKey، ويضيف 4 بايتات إضافية مولّدة عشوائيًا وينقل البيانات الناتجة (8 بايتات) إلى الوكيل المصاب.
  • المرحلة 2:
    1. يفك الوكيل المصاب تشفير الـ 8 بايتات باستخدام SessionKey. بعد ذلك، يتحقق مما إذا كانت أول 4 بايتات تطابق البيانات التي أرسلها سابقًا، ويشرع في إرسال آخر 4 بايتات إلى خادم C2. وقبل الإرسال، يقوم بتنسيق النص كما هو موصوف في GruntHTTPStager مع ضبط النوع على 2.
    2. يفك خادم C2 تشفير الـ 4 بايتات ويتحقق من مطابقتها لتلك التي أرسلها سابقًا.

بمجرد اكتمال التحقق، يمكن تبادل البيانات.

كيف يعمل؟

يتكوّن CovenantDecryptor من أداتين. يسترجع سكربت extract_privatekey العددين الأوليين p و q من ملف minidump لبناء مفتاح RSA خاص بالاستعانة بالمعامل العام. ويتكوّن سكربت decrypt_covenant_traffic من 3 أوامر: modulus وkey وdecrypt. يستخرج الأمر الأول المعامل من اتصالات Covenant، بينما يستعيد الثاني مفتاح AES المستخدم لتشفير حركة مرور البيانات. وأخيرًا، يقوم الأمر الثالث بفك تشفير حركة المرور.

ماذا تحتاج؟

  • بيانات حركة مرور Covenant مستخرجة من التقاط شبكة ومخزّنة في ملف منفصل.
  • مفتاح AES المضمّن في الملف الثنائي للمرحلة 0، والمستخدم في بداية الاتصال.
  • ملف minidump لعملية مصابة.

الاستخدام

استخراج المعامل من طلب المرحلة 0 لأحد المضيفين المصابين:

root@kitploit:~
$ python3 decrypt_covenant_traffic.py modulus -i traffic.txt -k "EQCZiHdmVUQzIhEAmYh3ZlVEMyIRAJmId2ZVRDMiEQA=" -t base64
[+] Modulus: 
19574201286059123715221634877085223155972629451020572575626246458715199192950082143183900970133840359007922584516900405154928253156404028820410452946729670930374022025730036806358075325420793866358986719444785030579682635785758091517397518826225327945861556948820837789390500920096562699893770094581497500786817915616026940285194220703907757879335069896978124429681515117633335502362832425521219599726902327020044791308869970455616185847823063474157292399830070541968662959133724209945293515201291844650765335146840662879479678554559446535460674863857818111377905454946004143554616401168150446865964806314366426743287
[+] Exponent: 65537

استعادة المفتاح الخاص RSA من ملف minidump لعملية Covenant مصابة:

root@kitploit:~
$ python3 extract_privatekey.py -i memory.dmp -m 19574201286059123715221634877085223155972629451020572575626246458715199192950082143183900970133840359007922584516900405154928253156404028820410452946729670930374022025730036806358075325420793866358986719444785030579682635785758091517397518826225327945861556948820837789390500920096562699893770094581497500786817915616026940285194220703907757879335069896978124429681515117633335502362832425521219599726902327020044791308869970455616185847823063474157292399830070541968662959133724209945293515201291844650765335146840662879479678554559446535460674863857818111377905454946004143554616401168150446865964806314366426743287 -o ./keys/
[+] Saved private key /home/user/privkey1.pem

سيحاول السكربت الحصول على p و q بصيغتي little endian و big endian.

استعادة SessionKey من استجابة المرحلة 0 لخادم Covenant C2، وهو المفتاح المستخدم لتشفير حركة مرور الشبكة:

root@kitploit:~
$ python3 decrypt_covenant_traffic.py key -i traffic.txt --key "EQCZiHdmVUQzIhEAmYh3ZlVEMyIRAJmId2ZVRDMiEQA=" -t base64 -r mykey.pem -s 1
[+] New AES key : 0011223344556677889900112233445566778899001122334455667788990011

فك تشفير اتصالات Covenant:

root@kitploit:~
$ python3 decrypt_covenant_traffic.py decrypt -i traffic.txt -k "0011223344556677889900112233445566778899001122334455667788990011" -t hex -s 2
[...]
[*] Response message 10 : {"status":"2","output":"Hello.\r\n"}
[...]

TODO

  • extract_privatekey - تحليل ملف خام.
  • extract_privatekey - البحث عن المفاتيح الخاصة استنادًا إلى الترويسة (بدون المعامل).

كما ذُكر في StackOverflow، يمكن أيضًا فك تشفير البيانات من خلال استخدام مفتاح RSA الخاص الخام من Microsoft.

تنزيل الأداة