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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cart — Python implementation of the CaRT library for (un)inerting files. | Kitploit
أدوات/GitHubGitHub/cybercentrecanada/cart
Defensive ToolsEncryption/Decryption ToolsMalware AnalysisDigital ForensicsCryptography
GitHubcybercentrecanada/cart

cart

Python implementation of the CaRT library for (un)inerting files.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CaRT (نقل مضغوط عبر RC4)

Latest Stable Release

تُستخدم صيغة ملف CaRT لتخزين/نقل البرمجيات الخبيثة والبيانات الوصفية المرتبطة بها. وهي تعطّل البرمجية الخبيثة بحيث لا يمكن تنفيذها وتشفرها بحيث لا يمكن لبرنامج مكافحة الفيروسات تصنيف ملف CaRT كبرمجية خبيثة.

المزايا

  • سريع: CaRT بنفس سرعة ضغط ملف
  • بث متدفق: يستخدم CaRT zlib وRC4، مما يتيح له ترميز الملفات أثناء البث
  • بيانات وصفية: يمكن لـCaRT تخزين البيانات الوصفية للملف في نفس الملف الذي يحتويه، ويمكن قراءة البيانات الوصفية دون قراءة الملف بالكامل
  • حساب قيم التجزئة: يحسب CaRT قيم تجزئة الملف أثناء ترميزه ويخزّن هذه المعلومات في التذييل
  • الحجم: عادةً ما تكون ملفات CaRT أصغر من الملفات الأصلية لأنها تستخدم الضغط. (باستثناء الحالة التي تُخزَّن فيها كميات هائلة من البيانات الوصفية في ملف CaRT)

استخدام CaRT مع STIX v2

الآن بعد أن أصبحت STIX v2 تستخدم JSON للترميز، يمكنك تضمين تقرير STIX الخاص بك مباشرةً في صيغة CaRT. عندما يرمّز CaRT الملفات، فإنه يضيف البيانات الوصفية من ملف *.cartmeta الذي يحمل نفس بادئة ملفك. لذلك، إذا قمت بحفظ تقرير STIX في ملف .cartmeta، فسيحتوي ملف CaRT الناتج على تقرير STIX الكامل مضمّنًا بداخله.

مثال:

root@kitploit:~
$ ls
  file.exe            - الملف الذي أريد ترميزه
  file.exe.cartmeta   - تقرير STIX للملف file.exe

$ cart file.exe
$ ls
  file.exe            - الملف الذي أريد ترميزه
  file.exe.cartmeta   - تقرير STIX للملف file.exe
  file.exe.cart       - ملف CaRT يحتوي على كل من file.exe وتقرير STIX الخاص به

نظرة عامة على الصيغة

الترويسة الإلزامية (38 بايتًا)

يمتلك CaRT ترويسة إلزامية تبدو على النحو التالي

root@kitploit:~
 4s     h         Q        16s         Q
CART<VERSION><RESERVED><ARC4KEY><OPT_HEADER_LEN>

حيث تكون قيمة VERSION هي 1 وقيمة RESERVED هي 0. في معظم الحالات، يُخزَّن مفتاح RC4 المستخدم لفك تشفير الملف في الترويسة الإلزامية ويكون دائمًا الشيء نفسه (أول 8 أرقام من قيمة π مرتين). ومع ذلك، يتيح CaRT خيارًا لتجاوز المفتاح، وفي هذه الحالة يخزّن بايتات صفرية في الترويسة الإلزامية. ستحتاج عندها إلى معرفة المفتاح لفك ترميز ملف CaRT...

الترويسة الاختيارية (OPT_HEADER_LEN بايتًا)

الترويسة الاختيارية في CaRT هي كتلة RC4 بحجم OPT_HEADER_LEN بايت من ترويسة مُسلسَلة بصيغة JSON

root@kitploit:~
RC4(<JSON_SERIALIZED_OPTIONAL_HEADER>)

كتلة البيانات (N بايت)

كتلة البيانات في CaRT هي كتلة تُضغط بـzlib ثم تُشفر بـRC4

root@kitploit:~
RC4(ZLIB(block encoded stream))

التذييل الاختياري (OPTIONAL_FOOTER_LEN بايتًا)

كما هو الحال في الترويسة الاختيارية، فإن التذييل الاختياري في CaRT هو كتلة RC4 بحجم OPT_FOOTER_LEN بايت من تذييل مُسلسَل بصيغة JSON

root@kitploit:~
RC4(<JSON_SERIALIZED_OPTIONAL_FOOTER>)

التذييل الإلزامي (28 بايتًا)

ينهي CaRT ملفه بتذييل إلزامي يتيح للصيغة قراءة التذييل وإرجاع قيم التجزئة دون قراءة الملف بأكمله

root@kitploit:~
 4s      QQ           Q
TRAC<RESERVED><OPT_FOOTER_LEN>

واجهة سطر الأوامر

بتركيب حزمة pip، تحصل على إمكانية الوصول إلى مكتبة CaRT وكذلك إلى واجهة أوامر CaRT (CLI).

يمنح CLI الخاص بـCaRT الأولويات التالية لخياراته:

  • توجد قيم افتراضية لجميع الخيارات داخل CLI
  • تُستبدل القيم الافتراضية بخيارات موجودة في ~/.cart/cart.cfg
  • تُستبدل القيم الموجودة في ملف الإعدادات بخيارات CLI

هذه هي الخيارات المتاحة في CLI الخاص بـCaRT:

root@kitploit:~
الاستخدام: cart [options] file1 file2 ... fileN

            تُستخدم صيغة ملف CaRT لتخزين/نقل البرمجيات الخبيثة والبيانات الوصفية المرتبطة بها.

            وهي تعطّل البرمجية الخبيثة بحيث لا يمكن تنفيذها وتشفرها بحيث لا يمكن لبرنامج مكافحة الفيروسات
            تصنيف ملف CaRT كبرمجية خبيثة.


الوسائط الموضعية:
  file

الخيارات:
  -h, --help            عرض رسالة المساعدة هذه والخروج
  -v, --version         عرض رقم إصدار البرنامج والخروج
  -d, --delete          حذف الملف الأصلي بعد نجاح العملية
  -f, --force           استبدال ملف الإخراج إذا كان موجودًا بالفعل
  -i, --ignore          تجاهل مفتاح RC4 من ملف الإعدادات
  -j JSONMETA, --jsonmeta JSONMETA
                        توفير البيانات الوصفية للترويسة على هيئة كتلة JSON
  -k KEY, --key KEY     استخدام مفتاح RC4 خاص (مُرمَّز بترميز Base64). يجب توفير المفتاح نفسه لفك ترميز ملف CaRT.
  -m, --meta            الاحتفاظ بالبيانات الوصفية عند استخراج ملفات CaRT
  -n FILENAME, --name FILENAME
                        استخدام هذه القيمة كاسم ملف للبيانات الوصفية
  -o OUTFILE, --outfile OUTFILE
                        تعيين ملف الإخراج
  -s, --showmeta        عرض البيانات الوصفية للملف فقط

            يتمتع CaRT بالذكاء الكافي لتحديد ما إذا كان الملف يحتاج إلى ترميز CaRT أو فك ترميزه.

            لترميز ملف غير مُرمَّز بصيغة CaRT: cart file1

            لفك ترميز ملف مُرمَّز بصيغة CaRT: cart file1

            إنه الأمر نفسه!

يبدو ملف إعدادات CaRT على النحو التالي:

root@kitploit:~
[global]
# rc4_key هو تمثيل Base64 لمفتاحك
rc4_key: AvUzYXNkZg==
# keep_meta يعادل الخيار -m في CLI
keep_meta: True
# force يعادل الخيار -f في CLI
force: True

# default_header هو زوج مفتاح/قيمة من البيانات يُضاف إلى الترويسة الاختيارية في CaRT
[default_header]
poc: اسمك
poc_email: [email protected]

مكتبات CaRT الأخرى

توجد أيضًا تطبيقات لـCaRT بلغتي Rust وJava. يمكنك الاطلاع عليها أدناه:

  • Rust: https://github.com/CybercentreCanada/cart-rs
  • Java: https://github.com/CybercentreCanada/cart-java

CaRT (نقل مضغوط عبر RC4)

تتيح صيغة ملف CaRT تخزين ونقل البرمجيات الخبيثة والبيانات الوصفية المرتبطة بها. وهي تعطّل البرمجيات الخبيثة بحيث لا يمكن تنفيذها، وتشفرها حتى لا يصنّف برنامج مكافحة الفيروسات ملف CaRT كبرمجية خبيثة.

المزايا

  • سريع: استخدام CaRT بنفس سرعة ضغط ملف
  • بث متدفق: يستخدم CaRT zlib وRC4، مما يتيح ترميز الملفات أثناء البث
  • بيانات وصفية: يمكن لـCaRT تخزين البيانات الوصفية لملف في نفس الملف الذي يوجد به الملف نفسه؛ يمكن قراءة البيانات الوصفية دون الحاجة إلى قراءة الملف بالكامل
  • حساب قيم التجزئة: يحسب CaRT قيم تجزئة الملف أثناء ترميزه، ثم يخزّن هذه المعلومات في التذييل
  • الحجم: عادةً ما يكون حجم ملفات CaRT أصغر من حجم الملفات الأصلية، نظرًا لأنها مضغوطة (ما لم تكن كمية كبيرة من البيانات الوصفية مخزنة في ملف CaRT)

استخدام CaRT مع STIX v2

الآن بعد أن أصبحت STIX v2 تستخدم JSON للترميز، يمكنك تضمين تقارير STIX مباشرةً في صيغة CaRT. عندما يرمّز CaRT الملفات، فإنه يضيف البيانات الوصفية من ملف *.cartmeta الذي يحمل نفس بادئة ملفك. وبالتالي، إذا قمت بحفظ تقرير STIX في ملف .cartmeta، فسيتم تضمين التقرير الكامل في ملف CaRT الناتج.

مثال:

root@kitploit:~
$ ls
  file.exe            - الملف المراد ترميزه
  file.exe.cartmeta   - تقرير STIX للملف file.exe

$ cart file.exe
$ ls
  file.exe            - الملف المراد ترميزه
  file.exe.cartmeta   - تقرير STIX للملف file.exe
  file.exe.cart       - ملف CaRT يحتوي على كل من الملف file.exe وتقرير STIX الخاص به

نظرة عامة على الصيغة

الترويسة الإلزامية (38 بايتًا)

يحتوي CaRT على ترويسة إلزامية تبدو على النحو التالي:

root@kitploit:~
 4s     h         Q        16s         Q
CART<VERSION><RESERVED><ARC4KEY><OPT_HEADER_LEN>

في هذه الترويسة، تكون قيمة VERSION هي 1 وقيمة RESERVED هي 0. في معظم الحالات، يُخزَّن مفتاح RC4 المستخدم لفك تشفير الملف في الترويسة الإلزامية ويكون دائمًا هو نفسه (أول 8 أرقام من قيمة π مرتين). ومع ذلك، يتيح CaRT طريقة لاستبدال المفتاح، وتتمثل في تخزين بايتات صفرية في الترويسة الإلزامية. ستحتاج عندها إلى معرفة المفتاح لفك ترميز ملف CaRT.

الترويسة الاختيارية (OPT_HEADER_LEN بايتًا)

الترويسة الاختيارية في CaRT هي كتلة RC4 بحجم OPT_HEADER_LEN بايت مشتقة من ترويسة مُسلسَلة بصيغة JSON

root@kitploit:~
RC4(<JSON_SERIALIZED_OPTIONAL_HEADER>)

كتلة البيانات (N بايت)

كتلة البيانات في CaRT تُعالَج أولاً بمكتبة ضغط البيانات zlib ثم تُشفر بـRC4

root@kitploit:~
RC4(ZLIB(block encoded stream))

التذييل الاختياري (OPTIONAL_FOOTER_LEN بايتًا)

كما هو الحال في الترويسة الاختيارية، فإن التذييل الاختياري في CaRT هو كتلة RC4 بحجم OPT_FOOTER_LEN بايت مشتقة من تذييل مُسلسَل بصيغة JSON

root@kitploit:~
RC4(<JSON_SERIALIZED_OPTIONAL_FOOTER>)

التذييل الإلزامي (28 بايتًا)

ينتهي ملف CaRT بتذييل إلزامي يتيح للصيغة قراءة التذييل وإرجاع قيم التجزئة دون الحاجة إلى قراءة الملف بالكامل:

root@kitploit:~
 4s      QQ           Q
TRAC<RESERVED><OPT_FOOTER_LEN>

واجهة سطر الأوامر

بتركيب مدير الحزم pip، يمكنك الوصول إلى مكتبة CaRT وإلى CLI الخاص بـCaRT.

يمنح CLI الخاص بـCaRT الأولويات التالية لخياراته:

  • تُحدَّد قيم افتراضية لجميع الخيارات داخل CLI
  • تُستبدل القيم الافتراضية بخيارات موجودة في ~/.cart/cart.cfg
  • تُستبدل القيم الموجودة في ملف الإعدادات بخيارات CLI

الخيارات التالية متاحة في CLI الخاص بـCaRT:

root@kitploit:~
الاستخدام: cart [options] file1 file2 ... fileN

            تُستخدم صيغة ملف CaRT لتخزين/نقل البرمجيات الخبيثة والبيانات الوصفية المرتبطة بها.

            وهي تعطّل البرمجية الخبيثة بحيث لا يمكن تنفيذها وتشفرها لتجنب اكتشافها وحذفها بواسطة برامج مكافحة الفيروسات.


الوسائط الموضعية:
  file

الخيارات:
  -h, --help            عرض رسالة المساعدة هذه والخروج
  -v, --version         عرض رقم إصدار البرنامج والخروج
  -d, --delete          حذف الملف الأصلي بعد نجاح العملية
  -f, --force           استبدال ملف الإخراج إذا كان موجودًا بالفعل
  -i, --ignore          تجاهل مفتاح RC4 من ملف الإعدادات
  -j JSONMETA, --jsonmeta JSONMETA
                        توفير البيانات الوصفية للترويسة على هيئة كتلة JSON
  -k KEY, --key KEY     استخدام مفتاح RC4 خاص (مُرمَّز بترميز Base64). يجب توفير المفتاح نفسه لفك ترميز ملف CaRT.
  -m, --meta            الاحتفاظ بالبيانات الوصفية عند استخراج ملفات CaRT
  -n FILENAME, --name FILENAME
                        استخدام هذه القيمة كاسم ملف للبيانات الوصفية
  -o OUTFILE, --outfile OUTFILE
                        تعيين ملف الإخراج
  -s, --showmeta        عرض البيانات الوصفية للملف فقط

            CaRT قادر على تحديد ما إذا كان الملف يحتاج إلى ترميز CaRT أو فك ترميزه.

            لترميز ملف غير مُرمَّز بصيغة CaRT: cart file1

            لفك ترميز ملف مُرمَّز بصيغة CaRT: cart file1

            إنه الأمر نفسه!

يبدو ملف إعدادات CaRT على النحو التالي:

root@kitploit:~
[global]
# rc4_key هو تمثيل Base64 لمفتاحك
rc4_key: AvUzYXNkZg==
# keep_meta يعادل الخيار -m في CLI
keep_meta: True
# force يعادل الخيار -f في CLI
force: True

# default_header هو زوج مفتاح/قيمة من البيانات يُضاف إلى الترويسة الاختيارية في ملف CaRT
[default_header]
poc: اسمك
poc_email: [email protected]

مكتبات CaRT الأخرى

توجد تطبيقات لـCaRT بلغتي Rust وJava. يمكنك الوصول إليها من العناوين التالية:

  • Rust: https://github.com/CybercentreCanada/cart-rs
  • Java: https://github.com/CybercentreCanada/cart-java
تنزيل الأداة