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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
stringsifter — أداة تعلّم آلي ترتّب السلاسل النصية بناءً على مدى صلتها بتحليل البرمجيات الخبيثة. | Kitploit
أدوات/GitHubGitHub/mandiant/stringsifter
الهندسة العكسيةتحليل البرمجيات الخبيثةتحليل الملفات الثنائيةتعلم الآلة
GitHubmandiant/stringsifter

stringsifter

أداة تعلّم آلي ترتّب السلاسل النصية بناءً على مدى صلتها بتحليل البرمجيات الخبيثة.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

StringSifter هي أداة تعلم آلي تقوم تلقائيًا بترتيب السلاسل النصية بناءً على مدى صلتها بتحليل البرمجيات الخبيثة.

روابط سريعة

  • مقالة تقنية - Learning to Rank Strings Output for Speedier Malware Analysis
  • مقالة إعلانية - Open Sourcing StringSifter
  • محاضرة DerbyCon - StringSifter: Learning to Rank Strings Output for Speedier Malware Analysis
  • إصدارات StringSifter على PyPi

الاستخدام

يتطلب StringSifter إصدار بايثون 3.9 أو أحدث. نفّذ الأوامر التالية للحصول على الكود، وتشغيل اختبارات الوحدة، واستخدام الأداة:

التثبيت

root@kitploit:~
pip install stringsifter

للتطوير، استخدم poetry:

root@kitploit:~
git clone https://github.com/mandiant/stringsifter.git
cd stringsifter
poetry install --with dev

تشغيل اختبارات الوحدة

لتشغيل اختبارات الوحدة من دليل تثبيت StringSifter:

root@kitploit:~
poetry run tests -v

التشغيل من سطر الأوامر

يقوم أمر pip install بتثبيت سكريبتين قابلين للتشغيل هما flarestrings و rank_strings في بيئة البايثون الخاصة بك. عند التطوير من المصدر، استخدم pipenv run flarestrings و pipenv run rank_strings.

يحاكي flarestrings ميزات أداة strings من GNU binutils، ويقبل rank_strings الإدخال عبر الأنابيب، على سبيل المثال:

root@kitploit:~
flarestrings <my_sample> | rank_strings

يدعم rank_strings عددًا من وسائط سطر الأوامر. الوسيط الموضعي input_strings يحدد ملفًا من السلاسل النصية لترتيبها. الوسائط الاختيارية هي:

الخيارالمعنى

تُكتب السلاسل النصية المرتبة إلى المخرجات القياسية ما لم يتم تحديد الخيار --batch، مما يؤدي إلى كتابة المخرجات المرتبة في ملفات باسم <input_file>.ranked_strings.

يدعم flarestrings الخيار -n (أو --min-len) لطباعة تسلسلات الأحرف التي يبلغ طولها على الأقل min-len حرفًا، بدلاً من الافتراضي 4. على سبيل المثال:

root@kitploit:~
flarestrings -n 8 <my_sample> | rank_strings

سيقوم بطباعة وترتيب السلاسل النصية ذات الطول 8 أو أكثر فقط.

التشغيل من حاوية Docker

  • بعد استنساخ المستودع، قم ببناء الحاوية. من المستوى الأعلى لدليل الحزمة:
root@kitploit:~
docker build -t stringsifter -f docker/Dockerfile .
  • شغّل الحاوية مع وسيط flarestrings أو rank_strings لاستخدام الأمر المعني. يمكن استخدام الأوامر داخل الحاوية في خطوط الأنابيب:
root@kitploit:~
cat <my_sample> | docker run -i stringsifter flarestrings | docker run -i stringsifter rank_strings
  • أو، شغّل الحاوية بدون وسائط للحصول على موجه shell، باستخدام العلم -v لفضح دليل المضيف للحاوية:
root@kitploit:~
docker run -v <my_malware>:/samples -it stringsifter

حيث يحتوي <my_malware> على عينات للتحليل، على سبيل المثال:

root@kitploit:~
docker run -v $HOME/malware/binaries:/samples -it stringsifter
  • عند موجه الحاوية:
root@kitploit:~
flarestrings /samples/<my_sample> | rank_strings <options>

جميع وسائط سطر الأوامر مدعومة في السكريبتات داخل الحاوية.

التشغيل على مخرجات FLOSS

يمكن تطبيق StringSifter على قوائم عشوائية من السلاسل النصية، مما يجعله مفيدًا للممارسين الذين يتطلعون إلى استخلاص رؤى من مصادر بديلة لجمع المعلومات الاستخباراتية مثل لقطات الذاكرة الحية، أو عمليات التشغيل في بيئة الحماية (sandbox)، أو الملفات الثنائية التي تحتوي على سلاسل نصية مشوشة. على سبيل المثال، FireEye Labs Obfuscated Strings Solver (FLOSS) يستخرج السلاسل النصية القابلة للطباعة تمامًا كما تفعل أداة Strings، ولكنه يكشف أيضًا عن السلاسل النصية المشوشة التي تم ترميزها أو تعبئتها أو بناؤها يدويًا على المكدس. يمكن استخدامه كبديل مباشر لأداة Strings، مما يعني أنه يمكن استدعاء StringSifter بالمثل على مخرجات FLOSS باستخدام الأمر التالي:

root@kitploit:~
$PY2_VENV/bin/floss –q <options> <my_sample> | rank_strings <options>

ملاحظات:

  1. الوسيط –q يلغي الترويسات والتنسيق لإظهار السلاسل النصية المستخرجة فقط. لمعرفة المزيد حول خيارات FLOSS الإضافية، يرجى الاطلاع على وثائق الاستخدام.
  2. يتطلب FLOSS بايثون 2، بينما يتطلب StringSifter بايثون 3. في الأمر المثال، يجب أن يتضمن واحد على الأقل من floss أو rank_strings مسارًا نسبيًا يشير إلى بيئة بايثون افتراضية.
  3. يمكن تنزيل FLOSS كـ ملف تنفيذي مستقل. في هذه الحالة، ليس من الضروري تحديد بيئة بايثون لأن الملف التنفيذي لا يعتمد على مترجم بايثون.

ملاحظات حول تشغيل strings

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

لينكس

تتضمن معظم توزيعات لينكس برنامج strings من GNU Binutils. لاستخراج السلاسل النصية "العريضة" و"الضيقة" معًا، يجب تشغيل البرنامج مرتين، مع توجيه الإخراج إلى ملف:

root@kitploit:~
strings <my_sample>       > strs.txt   # narrow strings
strings -el <my_sample>  >> strs.txt   # wide strings.  note the ">>"

ماكوس

بعض إصدارات BSD strings المرفقة مع ماكوس لا تدعم السلاسل النصية العريضة. لاحظ أيضًا أن الخيار -a لفحص الملف بأكمله قد يكون معطلاً في التكوين الافتراضي. بدون -a قد يتم فقدان سلاسل نصية مفيدة. نوصي بتثبيت GNU Binutils عبر Homebrew أو MacPorts للحصول على إصدار من strings يدعم الأحرف العريضة. توخَّ الحذر لاستدعاء الإصدار الصحيح من strings.

ويندوز

strings غير مثبت افتراضيًا على ويندوز. نوصي بتثبيت Windows Sysinternals أو Cygwin أو Malcode Analyst Pack للحصول على أداة strings تعمل.

نقاش

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

المشكلات

نستخدم GitHub Issues لنشر الأخطاء وطلبات الميزات.

شكر وتقدير

  • شكرًا لفريقي FireEye Data Science (FDS) وFireEye Labs Reverse Engineering (FLARE) على المراجعة والملاحظات.
  • تم تصميم وتطوير StringSifter بواسطة Philip Tully (FDS) وMatthew Haigh (FLARE) وJay Gibble (FLARE) وMichael Sikorski (FLARE).
  • تم تصميم شعار StringSifter بواسطة Josh Langner (FLARE).
  • flarestrings مشتق من الأداة الممتازة FLOSS.
تنزيل الأداة
--scores (-s)تضمين درجات الترتيب في المخرجات
--limit (-l)قصر المخرجات على أفضل limit سلسلة نصية مرتبة
--min-score (-m)قصر المخرجات على السلاسل النصية ذات الدرجة >= min-score
--batch (-b)تحديد مجلد لمخرجات strings للمعالجة الدفعية