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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
C2concealer — يُولّد ملفات تعريف C2 قابلة للتشكيل وعشوائية ومُتحقق منها بواسطة أداة الفحص البرمجي لـ Cobalt Strike، مما يُؤتمت تكوين إشارات HTTP/S وDNS وSMB وSSH مع إمكانية تخصيص عشوائية مؤشرات IOC. | Kitploit
أدوات/GitHubGitHub/redsiege/c2concealer
أطر اختبار الاختراقتوليد الحمولةالقيادة والسيطرةالفريق الأحمر
GitHubredsiege/c2concealer

C2concealer

يُولّد ملفات تعريف C2 قابلة للتشكيل وعشوائية ومُتحقق منها بواسطة أداة الفحص البرمجي لـ Cobalt Strike، مما يُؤتمت تكوين إشارات HTTP/S وDNS وSMB وSSH مع إمكانية تخصيص عشوائية مؤشرات IOC.

عرض المستودع
1.1k1723منذ 4 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

C2concealer

C2concealer هي أداة سطر أوامر تُنشئ ملفات تعريف C2 قابلة للتشكيل (Malleable Profiles) عشوائية لاستخدامها في Cobalt Strike.

التثبيت

root@kitploit:~
git clone https://github.com/RedSiege/C2concealer.git
cd C2concealer
python3 -m venv .venv
source .venv/bin/activate
pip3 install -e .

التثبيت عبر Docker

راجع تعليمات Docker

مثال على الاستخدام

root@kitploit:~
Usage:
	$ C2concealer --hostname google.com --variant 3

Flags:
	
	(optional)
	--hostname 
		اسم المضيف المستخدم في إعدادات جانب العميل والخادم HTTP. القيمة الافتراضية هي None.
	--variant 
		رقم صحيح يحدد عدد المتغيرات (variants) لجانب العميل/الخادم HTTP المراد إنشاؤها. 
		يوصى بما بين 1 و5. الحد الأقصى 10.

مثال على مخرجات الكونسول

root@kitploit:~
root@kali:~# C2concealer --variant 1 --hostname google.com
[i] Searching for the c2lint tool on your system (part of Cobalt Strike). Might take 10-20 seconds.
[i] Found c2lint in the /opt/cobaltstrike/c2lint directory.

Choose an SSL option:
1. Self-signed SSL cert (just input a few details)
2. LetsEncrypt SSL cert (requies a temporary A record for the relevant domain to be pointed to this machine)
3. Existing keystore
4. No SSL

[?] Option [1/2/3/4]:

نصيحة: استخدم دائمًا شهادة SSL. ويفضل شهادة من LetsEncrypt أو ما شابه. نصيحة: تتيح لك متغيرات HTTP اختيار مؤشرات IOCs مختلفة لحركة HTTP على بيقونات مختلفة. يوصى بقيمة لا تقل عن 1.

كيف يعمل

لقد درسنا بدقة توثيق Cobalt Strike وحددنا نطاقات من القيم المنطقية لكل سمة من سمات الملف التعريفي (profile). في بعض الأحيان تكون هذه البيانات بسيطة مثل عدد صحيح عشوائي ضمن نطاق معين، وفي أحيان أخرى نحتاج إلى اختيار قيمة عشوائية من قاموس Python. على أية حال، بدأنا إنشاء الأداة بتحديد البيانات التي ستشكل ملف تعريف صالحًا.

ثم قمنا بتقسيم كل قسم (أو كتلة) من الملف التعريفي القابل للتشكيل إلى ملف .py منفصل، يحتوي على المنطق لسحب قيم عشوائية مناسبة لكل سمة ثم إخراج سلسلة منسّقة لكتلة الملف التعريفي تلك. نقوم بدمج جميع كتل الملف التعريفي معًا، ونجري بعض الفحوصات السريعة للاتساق، ثم نمرر الملف التعريفي من خلال مدقق (linter) Cobalt Strike (c2lint). الناتج هو ملف تعريف يجب أن يعمل في مهامك. نوصي دائمًا باختبار الملف التعريفي (بما في ذلك حقن العمليات والتشغيل) قبل بدء حملة.

إذا كنت تتصفح الكود، ننصحك بالبدء بهذين الملفين: /C2concealer/main.py و /C2concealer/profile.py. بعد مراجعة التعليقات، اطلع على مولدات كتل الملف التعريفي الفردية في المجلد: /C2concealer/components.

تخصيص الأداة

هذا أمر بالغ الأهمية. هذه أداة مفتوحة المصدر. يمكن للبائعين بسهولة كتابة توقيعات (signatures) للملفات التعريفية التي تُنشئها. بينما يوفر تشغيل الأداة بداية ممتازة لبناء ملف تعريف قابل للتشكيل لـ Cobalt Strike، نوصي بالتعمق في المجالات التالية لتخصيص البيانات المستخدمة لملء الملفات التعريفية المُنشأة:

/C2concealer/data/

  • dns.py (تخصيص النطاقات الفرعية DNS)
  • file_type_prepend.py (تخصيص كيفية ظهور استجابات http-get-server ... بمعنى تعليمات التحكم في C2)
  • params.py (قاموسان يحتويان على أسماء بارامترات شائعة وقائمة كلمات عامة)
  • post_ex.py (قائمة عمليات spawn_to ... يجب تغيير هذا بالتأكيد)
  • reg_headers.py (رؤوس HTTP نموذجية مثل User-Agent وServer)
  • smb.py (أسماء أنابيب SMB للاستخدام عند انتقال الاتصالات عبر SMB)
  • ssh.py (أسماء أنابيب SSH وشعارات البانر عند استخدام بيقونات SSH)
  • stage.py (بيانات لتغيير مؤشرات IOCs المتعلقة بالـ stager)
  • transform.py (تحويلات بيانات الحمولة... لا داعي لتغيير هذا)
  • urls.py (أنواع الملفات ومكونات مسار URL المستخدمة لبناء URIs في جميع أنحاء الأداة... يجب تغيير هذا بالتأكيد)

بالإضافة إلى ذلك، يمكنك تخصيص سمات مختلفة في جميع مراحل عملية إنشاء الملف التعريفي. على سبيل المثال، في الملف: /C2concealer/components/stageblock.py، يمكنك تغيير النطاق الذي يتم منه سحب قيمة حجم الصورة PE (بالقرب من السطور 73-74). يرجى الاطلاع على جميع الملفات المختلفة في مجلد components.

إذا وصلت إلى هنا، فنحن على يقين من أنك ستحصل على فائدة كبيرة من هذه الأداة. الطريقة التي نوصي بها لرؤية هذه الأداة هي أننا بنينا الكود الهيكلي لإنشاء هذه الملفات التعريفية تلقائيًا. الآن الأمر متروك لك للتفكير في القيم المنطقية لكل سمة لحملاتك وتحديث مصادر البيانات.

تخصيص إضافي للملف التعريفي الخاص بك

بينما قمنا بتغطية العديد من الخيارات الممكنة للغة الملف التعريفي القابل للتشكيل لـ C2، هناك العديد من الخيارات التي لا نضبطها. نشجعك بشدة على مراجعة توثيق Malleable Command and Control وتعديل ملف التعريف الخاص بك.

الخيارات التالية غير مضبوطة، أو مضبوطة بشكل ثابت بواسطة C2concealer، ويجب أن تفكر في تغييرها.

كتلة http-config

الخيار المفقودملاحظات
set block_useragentsمنع أنماط User-Agent غير الخاصة بالبيقون
set allow_useragentsقائمة السماح بأنماط User-Agent (CS 4.3+)

كتلة stage

الخيار المفقودملاحظات
set allocatorمشفر بشكل ثابت VirtualAlloc؛ يفتقد HeapAlloc, MapViewOfFile للعشوائية
set magic_mz_x86 / magic_mz_x64تزييف رأس MZ
set magic_peتزييف علامة PE
set rich_headerتزييف بيانات المترجم الوصفية
set module_x86 / module_x64استبدال الوحدة النمطية (module stomping)
set copy_pe_header—
set data_store_size—
set eaf_bypassتجاوز فحص EAT
set syscall_methodNone/Direct/Indirect (CS 4.8+)
set rdll_loaderPrependLoader/StompLoader
set rdll_use_syscalls—
set rdll_use_driploading—
set rdll_dripload_delay—
كتلة transform-obfuscateخيارات base64, lznt1, rc4, xor غائبة تمامًا
append في transform-x86/x64يتم استخدام prepend و strrep فقط

كتلة process-inject

الخيار المفقودملاحظات
set allocatorمشفر بشكل ثابت VirtualAllocEx؛ يفتقد NtMapViewOfSection للعشوائية
set use_driploading—
set dripload_delay—
append في transform-x86/x64يتم استخدام prepend فقط
التنفيذ: NtQueueApcThreadغير موجود في كتلة التنفيذ
التنفيذ: NtQueueApcThread-sغير موجود في كتلة التنفيذ
التنفيذ: ObfSetThreadContextغير موجود في كتلة التنفيذ
التنفيذ: SetThreadContextغير موجود في كتلة التنفيذ
تزييف دالة التنفيذبناء module!function+0x## غير مدعوم

كتلة post-ex

الخيار المفقودملاحظات
set pipenameالأنبوب المُسمى (named pipe) لمهام ما بعد الاستغلال

كتلة dns-beacon

الخيار المفقودملاحظات
set ns_responseمعالجة NS: drop/idle/zero. القيمة الافتراضية drop إذا لم تُضبط.
set dns_stager_prependإلحاق بيانات بالحمولات المرحّلة (staged payloads)

تحويلات البيانات (جميع سياقات التحويل)

التحويل المفقودملاحظات
lznt1ضغط — غير موجود في أي سلسلة تشفير
rc4 "key"تشفير — غير موجود في أي سلسلة تشفير
xor "key"XOR — غير موجود في أي سلسلة تشفير
uri-appendعبارة إنهاء — غير منفذة

شكر وتقدير

شكر كبير لـ Raphael Mudge على التحسين المستمر لمجموعة ميزات الملفات التعريفية القابلة للتشكيل والتوثيق لتعلمها. أيضًا، شكر جزيل لـ @killswitch-GUI على سكربته التي تؤتمت إنشاء شهادات LetsEncrypt لخوادم فريق CS. أخيرًا، منشوران في المدونات جعلا الحياة أسهل بكثير: منشور @bluescreenofjeff (https://bluescreenofjeff.com/2017-01-24-how-to-write-malleable-c2-profiles-for-cobalt-strike/) ومنشور Joe Vest (https://posts.specterops.io/a-deep-dive-into-cobalt-strike-malleable-c2-6660e33b0e0b).

سجل تغييرات الإصدار

الإصدار 1.0

  • الإصدار العام للأداة الداخلية لـ FortyNorth Security.
  • إضافة دعم لـ CS 4.0 (بشكل خاص متغيرات HTTP متعددة)
  • تحديث README.md

الإصدار 1.1

  • تحديث ليشمل خيارات الملفات التعريفية المدعومة في CS 4.12
  • تحديث سلاسل User-Agent للمتصفح
  • تحديث سلاسل الكوكيز إلى كوكيز شائعة الملاحظة حديثًا
  • إضافة خيارات SSH banner و SSH pipename
  • تحديث إرشادات التثبيت عبر Docker
  • إصلاح دعم Let's Encrypt
تنزيل الأداة