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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Malleable-C2-Randomizer — نص برمجي لعشوائية ملفات تعريف C2 القابلة للتشكيل الخاصة بـ Cobalt Strike وتقليل فرص رصد ضوابط الكشف القائمة على التوقيعات. | Kitploit
أدوات/GitHubGitHub/bluscreenofjeff/malleable-c2-randomizer
أطر الاستغلالتوليد الحمولةالتهرب من IDS/IPSاختبار الاختراقالقيادة والسيطرةالفريق الأحمر
GitHubbluscreenofjeff/malleable-c2-randomizer

Malleable-C2-Randomizer

نص برمجي لعشوائية ملفات تعريف C2 القابلة للتشكيل الخاصة بـ Cobalt Strike وتقليل فرص رصد ضوابط الكشف القائمة على التوقيعات.

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
45486منذ 3 سنواتتمت المراجعة من قبل Kitploit

Malleable-C2-Randomizer

يقوم هذا السكربت بإضفاء العشوائية على ملفات Malleable C2 الخاصة بـ Cobalt Strike من خلال استخدام لغة وسيطة، على أمل تقليل فرص رصد ضوابط الكشف القائمة على التوقيعات. باختصار، يوزّع السكربت القالب المقدَّم، ويستبدل المتغيرات بقيمة عشوائية من قائمة كلمات مقدَّمة أو مدمجة، ويختبر القالب الجديد باستخدام c2lint، وإذا لم توجد أخطاء في c2lint، يُخرج ملف Malleable C2 الجديد.

يمكن العثور على نماذج ملفات Malleable C2 المتوافقة مع هذا السكربت في مجلد النماذج في هذا المستودع.

لمزيد من المعلومات حول هذا السكربت، اطّلع على منشور مدونتي ملفات Malleable C2 العشوائية أصبحت سهلة.

جدول المحتويات

  • صيغة السكربت
    • الخيارات الأساسية
    • قوائم الكلمات المخصصة
  • اللغة الوسيطة للاستبدال
    • قائمة المتغيرات
    • بناء قوائم الكلمات
  • مثال على القالب والمخرجات
  • موارد إضافية

صيغة السكربت

root@kitploit:~
python malleable-c2-randomizer.py [-h] -profile PROFILE
                                  [-count COUNT]
                                  [-cobalt COBALT]
                                  [-output OUTPUT]
                                  [-notest]
                                  [-charset CHARSET]
                                  [-wordlist WORDLIST]
                                  [-useragent USERAGENT]
                                  [-spawnto SPAWNTO]
                                  [-pipename PIPENAME]
                                  [-pipename_stager PIPENAME_STAGER]
                                  [-dns_stager_subhost DNS_STAGER_SUBHOST]

الخيارات الأساسية

ParameterDescription
-profile, -p

قوائم الكلمات المخصصة

إذا لم يتم توفير قائمة كلمات، فسيتم استخدام قائمة مدمجة افتراضيًا. لمزيد من المعلومات حول إنشاء هذه القوائم، راجع أدناه أو مجلد قوائم الكلمات النموذجية في هذا المستودع.

معظم متغيرات قوائم الكلمات هذه مرتبطة مباشرة بخيارات Malleable C2. لمزيد من المعلومات حول وظيفة خيارات الملفات الشخصية هذه، راجع الوثائق الرسمية.

اللغة الوسيطة للاستبدال

تتكون اللغة الوسيطة للاستبدال من متغيرات محددة، بعضها يسمح بعدادات تكرار اختيارية، محاطة بعلامتي نسبة مئوية مزدوجتين، على النحو التالي:

root@kitploit:~
%%variable:count%%

كمثال آخر، سيؤدي المتغير التالي إلى إنتاج 20 حرفًا أبجديًا رقميًا:

root@kitploit:~
%%alphanumeric:20%%

قائمة المتغيرات

بناء قوائم الكلمات

ملفات قوائم الكلمات هي ببساطة سلاسل نصية مفصولة بأسطر أو بعلامات تبويب، أو سلاسل متواصلة (اعتمادًا على نوع قائمة الكلمات) موضوعة في ملف نصي.

قوائم الكلمات التالية يجب أن تكون مفصولة بأسطر بحيث يكون كل إدخال في سطر جديد:

  • wordlist
  • useragent
  • pipename
  • pipename_stager
  • dns_stager_subhost
  • dns_stager_prepend

قائمة كلمات spawnto أكثر تعقيدًا بعض الشيء. يتطلب Malleable C2 خياري x86 وx64 لتعديل جميع عمليات إطلاق العمليات. لذلك، يجب أن يحتوي كل سطر في قائمة الكلمات على مساري عمليات x86 وx64 مفصولين بعلامة تبويب، مع إدراج مسار x86 أولاً. على سبيل المثال:

root@kitploit:~
%windir%\\syswow64\\eventvwr.exe	%windir%\\sysnative\\eventvwr.exe

من المهم ملاحظة أن السلسلتين syswow64 وsysnative في مسارات العمليات يجب أن تكونا بأحرف صغيرة.

النوع الأخير من قوائم الكلمات هو مجموعة الأحرف المخصصة. يجب أن يتضمن هذا الملف أي أحرف يمكن للسكربت استبدالها عشوائيًا. على سبيل المثال، ملف مجموعة أحرف يحتوي على AEIOUY ومتغير %%custom:5%% سيُخرج خمسة أحرف عشوائية من سلسلة مجموعة الأحرف. عند بناء مجموعة الأحرف هذه، ضع في اعتبارك أن بعض الأحرف محظور ظهورها في URI وقد تتداخل مع اتصالات Beacon.

للاطلاع على نماذج لقوائم الكلمات، راجع مجلد قوائم الكلمات النموذجية في هذا المستودع.

مثال على القالب والمخرجات

فيما يلي مقتطف من ملف Amazon معدّل:

root@kitploit:~
# This profile has been modified to use with the Malleable C2 Profile Randomizer

#
# Amazon browsing traffic profile
# 
# Author: @harmj0y
#

set sleeptime "%%number:2%%00";
set jitter    "1%%number%%";
set maxdns    "24%%number%%";
set useragent "%%useragent%%";

http-get {

    set uri "/s/ref=nb_sb_noss_1/%%number:3%%-%%number:8%%-%%number:7%%/field-keywords=%%word%%";

    client {

        header "Accept" "*/*";
        header "Host" "www.amazon.com";

        metadata {
            base64;
            prepend "session-token=";
            prepend "skin=noskin;";
            append "csm-hit=s-%%alphanumeric:20%%|%%number:13%%";
            header "Cookie";
        }
    }
}

وفيما يلي مجموعتان من المخرجات لنفس الملف الشخصي:

root@kitploit:~
# This profile has been modified to use with the Malleable C2 Profile Randomizer

#
# Amazon browsing traffic profile
# 
# Author: @harmj0y
#

set sleeptime "5600";
set jitter    "19";
set maxdns    "244";
set useragent "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1";

http-get {

    set uri "/s/ref=nb_sb_noss_1/818-61846941-6716865/field-keywords=number";

    client {

        header "Accept" "*/*";
        header "Host" "www.amazon.com";

        metadata {
            base64;
            prepend "session-token=";
            prepend "skin=noskin;";
            append "csm-hit=s-UXnlEVYWc36qEuDMFPzW|2872195700726";
            header "Cookie";
        }
    }
}
root@kitploit:~
# This profile has been modified to use with the Malleable C2 Profile Randomizer

#
# Amazon browsing traffic profile
# 
# Author: @harmj0y
#

set sleeptime "7400";
set jitter    "19";
set maxdns    "246";
set useragent "Mozilla/5.0 (Windows NT 10.0; WOW64)";

http-get {

    set uri "/s/ref=nb_sb_noss_1/684-10075672-1686806/field-keywords=year";

    client {

        header "Accept" "*/*";
        header "Host" "www.amazon.com";

        metadata {
            base64;
            prepend "session-token=";
            prepend "skin=noskin;";
            append "csm-hit=s-ub5oBmGd0pnDoImCjDyK|2539750656854";
            header "Cookie";
        }
    }
}

موارد إضافية

  • ملفات Malleable C2 العشوائية أصبحت سهلة الإعداد - Jeff Dimmock
  • توثيق Malleable Command and Control - Raphael Mudge
  • ملفات Malleable C2 - GitHub
  • كيفية كتابة ملفات Malleable C2 لـ Cobalt Strike - Jeff Dimmock
  • Cobalt Strike 2.0 - Malleable Command and Control - Raphael Mudge
  • Cobalt Strike 3.6 - مسار لتصعيد الامتيازات - Raphael Mudge
  • عالم جديد شجاع: Malleable C2 - Will Schroeder
تنزيل الأداة
المسار إلى قالب Malleable C2 المُراد عشوائيته (مطلوب)
-count, -cعدد الملفات الشخصية العشوائية المراد إنشاؤها {الافتراضي = 1}
-cobalt, -dالدليل الذي يوجد فيه Cobalt Strike (لأجل c2lint) {الافتراضي = الدليل الحالي}
-output, -oالاسم الأساسي للمخرجات {الافتراضي = الاسم الأساسي للقالب وسلسلة عشوائية}
-notest, -nتخطي الاختبار باستخدام c2lint (مفتاح)
ParameterDescription
-charsetملف يحتوي على مجموعة أحرف مخصصة لاستخدامها مع متغير %%customchar%%
-wordlistملف يحتوي على قائمة كلمات مخصصة لاستخدامها مع متغير %%word%%
-useragentملف يحتوي على قائمة بوكلاء المستخدم
-spawntoملف يحتوي على قائمة عمليات spawnto مخصصة
-pipenameملف يحتوي على قائمة قيم pipename مخصصة
-pipename_stagerملف يحتوي على قائمة قيم pipename_stager مخصصة
-dns_stager_subhostملف يحتوي على قائمة قيم dns_stager_subhost مخصصة
-dns_stager_prependملف يحتوي على قائمة قيم dns_stager_prepend مخصصة
VariableDescriptionSupports Count?
alphanumericيُخرج حرفًا أو رقمًا عشوائيًا مختلط الحالة من ASCIIنعم
alphanumspecialيُخرج حرفًا أو رقمًا أو علامة ترقيم عشوائية مختلطة الحالة من ASCIIنعم
alphanumspecialurlيُخرج حرفًا أو رقمًا عشوائيًا مختلط الحالة من ASCII، أو أحد الأحرف التالية: -._~نعم
alphaupperيُخرج حرفًا كبيرًا عشوائيًا من ASCIIنعم
alphalowerيُخرج حرفًا صغيرًا عشوائيًا من ASCIIنعم
alphauppernumberيُخرج حرفًا كبيرًا أو رقمًا عشوائيًا من ASCIIنعم
alphalowernumberيُخرج حرفًا صغيرًا أو رقمًا عشوائيًا من ASCIIنعم
alphaيُخرج حرفًا عشوائيًا من ASCIIنعم
numberيُخرج رقمًا عشوائيًانعم
hexيُخرج رقمًا سداسيًا عشريًا عشوائيًانعم
netbiosيُخرج حرفًا أو رقمًا عشوائيًا مختلط الحالة من ASCII، أو أحد الأحرف التالية: !@#$%^&)(.-'_{}~نعم
customيختار حرفًا عشوائيًا من ملف charset المقدمنعم
wordيُخرج كلمة عشوائية من قائمة الكلمات المقدمة أو المدمجةنعم
booleanيُخرج قيمة 'True' أو 'False'نعم
useragentيُخرج useragent عشوائيًا من القائمة المقدمة أو المدمجةلا
spawnto_x86يُخرج مسار عملية x86 عشوائيًا من القائمة المقدمة أو المدمجةلا
spawnto_x64يُخرج مسار عملية x64 عشوائيًا من القائمة المقدمة أو المدمجةلا
pipenameيُخرج pipename عشوائيًا من القائمة المقدمة أو المدمجةلا
pipename_stagerيُخرج pipename_stager عشوائيًا من القائمة المقدمة أو المدمجةلا
dns_stager_subhostيُخرج dns_stager_subhost عشوائيًا من القائمة المقدمة أو المدمجةلا
dns_stager_prependيُخرج dns_stager_prepend عشوائيًا من القائمة المقدمة أو المدمجةلا