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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
sharem — SHAREM هو إطار عمل لتحليل شيلكود، قادر على محاكاة أكثر من 45,000 من WinAPIs وجميع استدعاءات نظام Windows تقريباً. كما يحتوي على مفكك مخصص خاص به، مع العديد من الميزات المبتكرة، مثل القدرة على عرض التفكيك المُزيل للتعتيم لشيلكود مُشفر، أو دمج بيانات المحاكاة لتعزيز التفكيك. | Kitploit
أدوات/GitHubGitHub/bw3ll/sharem
التحليل الديناميكي (عزل)الهندسة العكسيةشيل كودمصممي الأخطاءالاختبار العشوائيتحليل البرمجيات الخبيثةتحليل الملفات الثنائيةأمن الذكاء الاصطناعي
GitHubbw3ll/sharem

sharem

SHAREM هو إطار عمل لتحليل شيلكود، قادر على محاكاة أكثر من 45,000 من WinAPIs وجميع استدعاءات نظام Windows تقريباً. كما يحتوي على مفكك مخصص خاص به، مع العديد من الميزات المبتكرة، مثل القدرة على عرض التفكيك المُزيل للتعتيم لشيلكود مُشفر، أو دمج بيانات المحاكاة لتعزيز التفكيك.

49168منذ 5 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

SHAREM

مرحبًا بك في SHAREM!

تم تقديم SHAREM في مؤتمر DEFCON 31 تحت عنوان "Game-Changing Advances in Windows Shellcode Analysis" وفي معرض Black Hat USA Arsenal. وقد تم إتاحة إضافة Ghidra مصاحبة (بشكل منفصل) من Trellix، بإذن من Max Kersten. وبالتالي، يمكنك توسيع قدرات SHAREM إلى Ghidra، إذا رغبت في ذلك.

تهدف SHAREM إلى أن تكون الأداة النهائية لتحليل الشيلكود (shellcode) لنظام Windows، مع دعم لمحاكاة أكثر من 45,000 API من WinAPI، وجميع استدعاءات النظام (syscalls) في وضع المستخدم لنظام Windows تقريبًا، وتوفر SHAREM العديد من الميزات الجديدة. تحتوي SHAREM على محاكي (emulator)، ومفكك (disassembler)، وتصحيح أخطاء خالد (timeless debugging)، وإزالة التعتيم بالقوة الغاشمة (brute-force deobfuscation)، والعديد من الميزات الأخرى. يمكن لمحاكي SHAREM أيضًا عرض الهياكل الكاملة (أو حتى الهياكل داخل الهياكل) ويمكنه السماح للشيلكود المشفر بإزالة التعتيم عن نفسه. يقوم SHAREM بتسجيل المخرجات من جميع WinAPIs واستدعاءات النظام التي تم تحليلها، كما يقوم بتقسيمها إلى العديد من الفئات والفئات الفرعية. كما تسمح تغطية الكود الكاملة لـ SHAREM باكتشاف الوظائف غير القابلة للوصول.

يستطيع مفكك SHAREM دمج الوظائف المكتشفة في التفكيك، مع تسمية كل منها في المفكك. كما سيعرض SHAREM الشكل المفكوك للشيلكود المشفر في المفكك، لذلك لا حاجة لتصحيح أخطاء الشيلكود.

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

يرجى العلم أنه نظرًا لأن SHAREM قد تم إطلاقها للتو، فإن التوثيق هنا قليل نسبيًا. سنقوم بتحديث GitHub بمزيد من المعلومات في الأسابيع القادمة أيضًا.

إذا كنت جديدًا على SHAREM، فلا تتردد في مشاهدة فيديو عرض توضيحي قصير، يعرض بعضًا من قدراتها. انقر على الصورة لعرض الفيديو التوضيحي: شاهد الفيديو

التحديثات الأخيرة

مارس 2026: سيقوم SHAREM بتحميل ما يصل إلى 61 DLL عند بدء التشغيل، ولكن مع آخر تحديث، أصبح بإمكانه الآن دعم 369 DLL و45538 WinAPI فريدة. بالإضافة إلى ذلك، يتم تحميل ملفات DLL عند الحاجة. سيتم تحديث الميزات الداخلية لنظام Windows (مثل قوائم الوحدات، التوصيلات الأمامية، التوصيلات الخلفية، إلخ.) تلقائيًا إذا احتاج الأمر إلى تحميل أي DLL إضافية، على سبيل المثال عبر LoadLibraryA. كانت هناك العديد من التحديثات الأخرى لتحسين الوظائف. تم إجراء تغييرات للمساعدة في تبسيط بعض المشكلات التي تم الإبلاغ عنها بخصوص تحديات التثبيت.

22 مارس 2026: تم تحسين منطق الخروج من الحلقات بمزيد من الدقة. تمت إعادة كتابة واختبار الكثير من هذا. لا نوصي عمومًا بتغيير الإعدادات الافتراضية في config.cfg إذا قررت استخدام هذه الميزة.

2024/2025: يمكن لـ SHAREM اختياريًا توظيف الذكاء الاصطناعي لتحليل النتائج، باستخدام مفتاح OpenAI (يوفره المستخدم). لاحظ أن SHAREM تم إنشاؤها قبل التطورات الأخيرة في الذكاء الاصطناعي، واستخدامها للذكاء الاصطناعي يحدث فقط بعد اكتمال التحليل الأولي لـ SHAREM. يمكن لهذه الميزة الاختيارية أن تسمح لها بفحص ما تم اكتشافه وتطبيقه على إطار عمل MITRE ATT&CK وغير ذلك الكثير.

تعليمات التثبيت

Windows

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

  1. Git مطلوب لتثبيت sharem. يمكن تثبيته من https://git-scm.com/download/win. بعد التثبيت، أعد تشغيل الكمبيوتر واستمر في تثبيت SHAREM. Git هي لأتمتة تثبيت Windows SSDeep. يمكنك أيضًا القيام بذلك يدويًا وتعديل ملف .bat لاستبعاد SSDeep، إذا قمت بذلك بنفسك. التثبيت اليدوي يتجنب الحاجة إلى استخدام Git. ملاحظة: بالنسبة لنظام Windows، ننتقل إلى fork من SSDeep على حساب Bw3ll الذي يصحح بعض مشكلات التثبيت في الإصدار السابق. هذا الإصدار والإصدار السابق كانا wrappers لـ SSDeep.

  2. قم بتشغيل ملف .bat. سيقوم باستدعاء ملف setup.py. اعتمادًا على كيفية استدعاء Python، قد تحتاج إلى استدعاء ملف .bat البديل أو حتى تعديله قليلاً، إذا كنت تستخدم شيئًا غير قياسي.

  3. قم بتشغيل py -m pip list أو python3 -m pip list للتحقق من تثبيت SHAREM محليًا كحزمة. يجب أن تكون مثبتة كحزمة لكي تعمل. ماذا يحدث إذا لم ترها؟ فهذا يعني أنها غير مثبتة كحزمة، ولن يعمل SHAREM. تأكد من استخدام ملف (ملفات) .bat، وذلك في موجه أوامر Windows من دليل المثبتات. إذا لم يعمل، ابحث عن أي رسائل خطأ. إذا وجدت، فحاول تصحيحها. قد تجربها عدة مرات. إذا لم يعمل ذلك أيضًا، فافتح مشكلة وحاول تضمين كل هذه المعلومات، حتى نتمكن من معرفة الخطأ. عادةً، لن تحتاج إلى ذلك، ولكن قد يحدث أحيانًا. إذا قمت بإلغاء تثبيتها مرة ثم قررت تثبيتها مرة أخرى، فمن المحتمل أن تحتاج إلى تشغيل برنامج التثبيت مرة أخرى. بمجرد رؤية sharem تظهر عند تشغيل py -m pip list، يمكنك التأكد من تثبيتها بشكل صحيح كحزمة محلية.

بعد تثبيت SHAREM، عند تشغيل الشيلكود لأول مرة، يجب أن تكون داخل مجلد sharem_cli. على سبيل المثال، عندما تكون في ذلك الدليل، يمكنك تشغيل py main.py -r32 shellcode.bin. لا يوجد شيلكود؟ لا بأس، يمكنك العثور على بعض العينات في مستودع عينات الشيلكود الذي أستضيفه في مستودع منفصل.

ملاحظة: في المرة الأولى التي تحاول فيها محاكاة شيلكود على Windows، سيحاول جمع DLLs الخاصة بـ Windows وتضخيمها. تبدأ هذه العملية تلقائيًا عند محاولة محاكاة شيلكود لأول مرة. سيقوم بنسخها، ونقل DLLs المنسوخة (التي تم تضخيمها لاحقًا) إلى دليل SHAREM. هناك خطوات إضافية، لكن هذه العملية الأولية بأكملها قد تستغرق عدة دقائق، أو حتى 10-15 دقيقة، إذا كان المعالج قديمًا جدًا. بعد الانتهاء، لا ينبغي أن تضطر إلى القيام بذلك مرة أخرى. يجب القيام بذلك بشكل منفصل لكل من الشيلكود 32 بت و64 بت. يمكنك التنقل إلى sharem/sharem/sharem/sharem/DLLs/x86 - ويجب أن ترى ملفات DLL تظهر ببطء. يتم أخذها من نظام التشغيل، وتعديلها لمحاكاة ما قد يفعله نظام التشغيل بها، وحفظها في هذا الدليل. سيكون هناك ما يزيد قليلاً عن 60 ملفًا. إذا رأيت حوالي هذا العدد من DLLs، ولا يتم حفظ أي DLLs إضافية، فهذا يعني أنها ربما توقفت فقط. فقط اضغط على Enter مرة أخرى. إذا فشل ذلك، ببساطة أعد التشغيل وحاول المحاكاة مرة أخرى. بمجرد حفظ DLLs، لا يجب أن تحتاج إلى القيام بذلك مرة أخرى؛ هي فقط المرة الأولى التي قد تستغرق وقتًا للانتظار، اعتمادًا على سرعة المعالج. يجب أن ترى نتائج المحاكاة عند الانتهاء، مثل تعداد مختلف WinAPIs أو استدعاءات نظام Windows.

إذا كان الملف ينتهي بـ .txt، فسيفترض أن الشيلكود هو تمثيل ASCII للنظام الست عشري (وليس ست عشريًا نقيًا)، وسيقوم بتفسيره على هذا النحو. يعمل هذا مع شيء موجود عبر الإنترنت. إذا كنت تستخدم تمثيل ASCII للنظام الست عشري، فإن انتهاء اسم الملف بـ .txt هو شرط.

Linux

  1. chmod +x linux_installer.sh تفعيل صلاحية تنفيذ المثبت
  2. sudo ./linux_installer.sh تشغيل المثبت
  3. إضافة ملفات DLL

ستحتاج إلى إضافة ملفات DLL الخاصة بـ Windows. لا نملك حاليًا هذه الملفات متاحة للتحميل المنفصل لمستخدمي Linux. في الوقت الحالي، سيحتاج المستخدمون إلى جمعها عن طريق تثبيتها عبر Windows. (ملاحظة: يجب تضخيم هذه DLLs بواسطة SHAREM. لا يمكن استخدام DLLs إذا لم يتم تضخيمها. معظمها، إن لم يكن كلها، ستفشل إذا لم يتم تضخيمها بالمقدار الصحيح.) لاحقًا، قد نوفرها كتحميل منفصل في الأسابيع القادمة. لكن في الوقت الحالي، يمكن للمستخدم اتباع خطوات Windows لتوليدها ونقلها إلى Linux، ووضعها في sharem\sharem\sharem\DLLs\x64 و sharem\sharem\sharem\DLLs\x86. ستحتاج أيضًا إلى ملفي foundDLLAddresses32.json و FoundDLLAddresses64.json، والتي يجب أن توضع في sharem\sharem\sharem .

OpenAI

أضاف SHAREM في عام 2024 دعمًا لـ OpenAI، حتى نتمكن من الاستفادة من الذكاء الاصطناعي لأتمتة بعض مهام التحليل. يمكن تفعيل ذلك عبر A من القائمة الرئيسية - "الاستفادة من الذكاء الاصطناعي." للقيام بذلك، يجب أن يكون لديك مفتاح OpenAI، وتريد وضعه في ملف config.cfg، الموجود في sharem/sharem/sharem/sharem/config.cfg. بالإضافة إلى ذلك، يجب محاكاة شيلكود قبل أن يسمح لك بالاستفادة من الذكاء الاصطناعي. حاليًا هذه هي الطريقة الوحيدة لاستخدام الذكاء الاصطناعي - لا يعمل بطريقة headless - ولكن إذا كان لدى شخص حاجة لذلك، يرجى فتح مشكلة، وسأضيف دعمًا لذلك، كخيار آخر يمكن اختياره عبر الإعدادات. إذا كنت قد قمت بالفعل بتثبيت SHAREM وحصلت على الإصدار المحدث، فقد ترغب في تثبيت OpenAI يدويًا، على سبيل المثال pip install openai. لقد أضفته إلى المتطلبات أيضًا لملف setup.py الذي يتم تفعيله عند تشغيل نصوص التثبيت الأولية.

سكريبت Ghidra

سكريبت Ghidra الممتاز من Max Kersten كما تم عرضه في Black Hat و DEFCON في أغسطس 2023 يمكن العثور عليه هنا: https://github.com/advanced-threat-research/GhidraScripts/blob/main/Sharem.java بعض تعليمات Max موجودة هنا: https://github.com/advanced-threat-research/GhidraScripts/ هذا المكون الإضافي لـ Ghidra مقدم من Trellix! لا يزال مطلوبًا منك استخدام SHAREM. يقوم هذا السكريبت باستيعاب مخرجات JSON التي ينتجها SHAREM وتحويلها إلى تنسيق مفيد لـ Ghidra. يمكن معرفة المزيد عن Max نفسه على https://maxkersten.nl/.

التوثيق

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

التحديثات

  • 29 سبتمبر 2022: قمنا بتحديث بسيط جدًا لملف setup.py بخصوص numpy، مما قد يؤثر على بعض الأشخاص مع أحدث إصدار من Python.
  • 25 نوفمبر 2022: متأخر جدًا، قمنا ببعض التغييرات لدعم نمط استدعاءات النظام من نوع ShellWasp. بينما كونا قد طبقنا سابقًا دعمًا لاستدعاءات النظام، فإن نمط ShellWasp لم يكن يعمل، فقط SSNs (قيم استدعاء النظام) المشفرة بشكل ثابت. تم تهيئة OSMajorVersion و OSMinorVersion و OSBuild لكل من 32 بت و64 بت. أي إصدار من نظام التشغيل لديك في الإعدادات أو عبر واجهة المستخدم سينعكس الآن داخليًا - على سبيل المثال، اختيار Windows 10 20H2 سيؤدي إلى تعبئة القيم الصحيحة، مما يسمح لتقنية ShellWasp بالعمل، كما هو موضح في مخرجات العينة. فقط Windows 7 و 10 و 11 مدعومة لمحاكاة تقنية ShellWasp في الوقت الحالي.
  • 29 نوفمبر 2022: إضافة دعم محاكاة لـ OSBuilds الجديدة، 22H2 لنظامي Windows 10 و 11. هذا مناسب فقط لمحاكاة استدعاءات نظام Windows. العديد من إصلاحات الأخطاء البسيطة وتحسينات جودة الحياة. تمييز أفضل للميزات عند استخدام SHAREM لتحليل الشيلكود (محورها الأساسي) وعند استخدامها لتحليل ملفات PE.
  • 1 ديسمبر 2022: تغيير موقع الملف الافتراضي لمخرجات bins/ASCII - تم النقل إلى logs. إضافة القدرة على إخراج bins/ASCII غير المشفرة بهذا الأمر. تمت إضافة ASCII غير المشفر إلى logs - كما بدا أن ASCII الخاص بـ bin مفقود من logs - تم تصحيح ذلك.
  • 29 ديسمبر 2022: أضفت ميزة تصحيح الأخطاء الخالد الاختياري للمكدس (stack). سابقًا، كان تصحيح الأخطاء الخالد يلتقط فقط التعليمات المنفذة وقيم السجلات قبل وبعد. الآن يمكننا رؤية +/- 0xA0 من ESP. للأسف، إنه بطيء بعض الشيء. يجب تمكين هذا بشكل منفصل. بالإضافة إلى ذلك، اكتشفت بعض الأخطاء التي أعطت نتائج غير صحيحة عند الخروج من الحلقات، والتي في بعض الحالات يمكن أن تؤدي إلى إنهاء المحاكاة قبل الأوان. لقد قمت بتصحيح هذا. كما قمت الآن بجعل SHAREM يخرج رسالة عند الخروج من الحلقات، تشير إلى أين يذهب، بمجرد الخروج من الحلقة.
  • 4 يناير 2023: قمت بإعادة صياغة تغطية الكود الكاملة بشكل كبير، مما عزز أداءها. كما قمت بكشف العديد من الميزات الاختيارية التي يمكن للمستخدمين الخبراء تعديلها على أساس كل حالة على حدة عبر واجهة المستخدم أو ملف الإعدادات. مزيد من المعلومات في صفحة wiki لتغطية الكود الكاملة.
  • 5 يناير 2023: إضافة اختصار لوحة المفاتيح إلى القائمة الفرعية لتغطية الكود الكاملة من قائمة المحاكي. لمن قاموا بتحميل تحديث الأمس بالفعل، الاختصار هو الحرف "o".
  • 16 يناير 2023: إضافة ثلاثة حقول جديدة إلى ملفات JSON الخاصة بالتفكيك التي يتم إنشاؤها. هذا التحديث غير ضروري لأي شخص لا يستخدم ملفات JSON هذه، وهي طريقة غير قياسية لاستخدام SHAREM.
  • 3 أغسطس 2023: تمت إضافة ما يقرب من 5000-6000 API من حوالي 30 DLL إضافية. تحسينات أخرى لدعم ذلك.
  • 2024/2025: يمكن لـ SHAREM اختياريًا توظيف الذكاء الاصطناعي لتحليل النتائج، باستخدام مفتاح OpenAI (يوفره المستخدم). لاحظ أن SHAREM تم إنشاؤها قبل التطورات الأخيرة في الذكاء الاصطناعي، واستخدامها للذكاء الاصطناعي يحدث فقط بعد اكتمال التحليل الأولي لـ SHAREM. يمكن لهذه الميزة الاختيارية أن تسمح لها بفحص ما تم اكتشافه وتطبيقه على إطار عمل MITRE ATT&CK وغير ذلك الكثير.

لقطات الشاشة

SHAREM هو إطار عمل قوي جدًا مع العديد من القدرات، بعضها موثق جيدًا، وبعضها غير موثق. سيعرض هذا القسم عددًا صغيرًا من تلك القدرات.

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

صورة

لا يمكن لـ SHAREM تعداد أكثر من 12,000+ دالة WinAPI فحسب، بل يمكنها أيضًا القيام بذلك مع جميع استدعاءات النظام في وضع المستخدم لنظام Windows تقريبًا. بالإضافة إلى ذلك، بالنسبة للبعض، تعرض معلومات عن الهياكل. بالنسبة لمن يتعاملون مع التسجيل (registry)، ستقوم باستخراج معلومات التسجيل وإضافتها إلى مدير التسجيل الخاص بنا:

صورة

لدى SHAREM أيضًا القدرة على تنزيل الملفات عبر UrldownloadToFileA، إذا كانت موجودة. يتم تنزيلها في ذاكرة المحاكي - وليس حفظها على القرص. إذا نجحت، ستلتقط التجزئة (hash). يوجد أيضًا نظام ملفات زائف محدود، وبالتالي يمكنك رؤية الارتباطات، مثل تنزيل ملف كشيء واحد وإعادة تسميته إلى شيء آخر. إذا لم يكن التنزيل المطلوب متاحًا، فسيتم محاكاته ببساطة كتنزيل ناجح. التنزيل المباشر هو خيار يمكن تمكينه أو تعطيله في الإعدادات

صورة

المؤلفون المشاركون والمساهمون

الدكتور برامويل بريزندين، أوستن بابكوك، جيك هينس، شيلبي فاندينهوك، ساشا ووكر، إيفان ريد، ديلان بارك، كيد بروست، جيمس تيت فورسيلا، ويليام لوشتي، هانتر ميرفي، وتاريك عبد المطلب.

الاعتراف

هذا البحث وبعض المؤلفين المشاركين مدعومون من منحة وكالة الأمن القومي الأمريكية رقم H98230-20-1-0326.

تنزيل الأداة
  • مارس 2026: سيقوم SHAREM بتحميل ما يصل إلى 61 DLL عند بدء التشغيل، ولكن مع آخر تحديث، أصبح بإمكانه الآن دعم 369 DLL و45538 WinAPI فريدة. كانت هناك العديد من التحديثات الأخرى لتحسين الوظائف. تم إجراء تغييرات للمساعدة في تبسيط بعض المشكلات التي تم الإبلاغ عنها بخصوص تحديات التثبيت.
  • 22 مارس 2026: تم تحسين منطق الخروج من الحلقات بمزيد من الدقة.