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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
FFM — وضع الكفاح من أجل الحرية: مجموعة أدوات اختراق مفتوحة المصدر | Kitploit
أدوات/GitHubGitHub/justicerage/ffm
تصعيد الامتيازاتالحركة الجانبيةتسريب البياناتجمع المعلوماتما بعد الاستغلالاختبار الاختراقالقيادة والسيطرةالأدوات والمكوناتالفريق الأحمر
GitHubjusticerage/ffm

FFM

وضع الكفاح من أجل الحرية: مجموعة أدوات اختراق مفتوحة المصدر

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

الأكثر شعبية

عرض الكل →

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

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

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

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

وضع القتال من أجل الحرية (FFM)

FFM هي أداة تسخير اختراق يمكنك استخدامها خلال مرحلة ما بعد الاستغلال في مشاركة فريق الاختراق الأحمر (Red Teaming). تم اشتقاق فكرة الأداة من محاضرة عام 2007 من @thegrugq.

تم تقديمها في SSTIC 2018 (فيديو) وشرائح العرض المصاحبة متاحة على هذا الرابط. إذا لم تكن على دراية بهذا النوع من الأدوات، يُنصح بشدة بإلقاء نظرة عليها لفهم الغرض من أداة التسخير (hacking harness). جميع التعليقات مضمنة في الشرائح.

هذا المشروع موزع بموجب شروط رخصة GPL v3.

التوثيق

التوثيق الأساسي موجود في هذا الملف README ووحدات الأوامر ضمن commands/. روابط محاضرة SSTIC المذكورة أعلاه تظل أفضل خلفية عالية المستوى لكيفية استخدام الأداة. مواد إضافية للشرح متوفرة على:

  • https://ice-wzl.gitbook.io/hacknetics/c2-frameworks/ffm-documentation

المساهمون

  • ice-wzl ساهم بأوامر وتوثيق وإعادة هيكلة خلال تاريخ المشروع.

التثبيت

تثبيت عبر Docker

  • مع تنوع محفّرات الأوامر الحديثة، نوصي بشدة باستخدام docker مع هذه الأداة.
  • استخدام ملف Dockerfile في هذا المستودع سيقلل بشكل كبير من الأخطاء المحتملة.
  • استخدام حاوية للتفاعل مع المضيفين البعيدين هو أيضًا أكثر أمانًا. إذا تم استغلالك أثناء التفاعل مع مضيف بعيد، فسيكونون داخل حاويتك بدلاً من مضيفك الفعلي. لكن دعونا نأمل ألا يحدث هذا.
  • تأكد من تثبيت Docker على نظامك المحلي.
git clone https://github.com/JusticeRage/FFM.git
cd /FFM

docker build Docker_Install/ -t ffm:ffm

docker image list 
REPOSITORY                TAG         IMAGE ID      CREATED        SIZE
localhost/ffm             ffm         fb6dd17e3b91  9 minutes ago  614 MB
docker.io/library/ubuntu  22.04       3b418d7b466a  2 weeks ago    80.3 MB

# لتشغيل الحاوية الجديدة والدخول إلى موجه /bin/bash كمستخدم جذر
docker run -it --entrypoint /bin/bash -u 0 fb6dd17e3b91
  • بمجرد الدخول إلى الحاوية، قم بتعيين passwd لكل من root و neo
  • ثم su neo وستكون جاهزًا.

تثبيت بدون Docker

  • غير موصى به
 git clone https://github.com/JusticeRage/FFM.git
 cd /FFM
 pip install -r requirements.txt

الاستخدام

الهدف من أداة التسخير (hacking harness) هو العمل كمساعد يقوم بأتمتة المهام الشائعة خلال مرحلة ما بعد الاستغلال، وكذلك حماية المستخدم من الأخطاء التي قد يرتكبها.

إنها أدوات للقشرة (shell). قم بتشغيل ./ffm.py لتفعيلها، ويمكنك البدء في العمل فورًا. الأوامر موزعة عبر وحدات صغيرة ضمن commands/، مع commands/command_manager.py المسؤول عن اكتشافها وتسجيلها. المجموعات الرئيسية هي: التعداد (enumeration)، المساعدة (help)، التخفي (stealth)، النقل (transfer)، والتنفيذ (execution).

هناك أمران يجب أن تعرفهما:

  • اكتب !list لعرض جميع الأوامر التي توفرها الأداة.
  • اكتب !list tags لرؤية العلامات المختلفة التي يمكن تصنيف الأوامر تحتها.
!list tags
قائمة الأوامر المتاحة:
	 enumeration
	 execution
	 help
	 stealth
	 transfer
  • يمكنك الآن كتابة !list enumeration (أو أي علامة أخرى) لرؤية الأوامر التي تندرج تحت هذه الفئة.
!list enumeration
قائمة الأوامر المتاحة:
	!backup-hunter: يبحث عن ملفات النسخ الاحتياطي
	!info: يعرض معلومات وحدة المعالجة المركزية (CPU)، والبنية (Architecture)، والذاكرة (Memory)، وإصدار النواة (Kernel Version) للجهاز الحالي.
	!log: يفعّل أو يعطّل تسجيل مدخلات ومخرجات الأداة في ملف.
	!mtime: يعرض الملفات التي تم تعديلها في آخر X دقيقة
	!os: يعرض توزيعة نظام التشغيل للجهاز الحالي.
	!db-hunter: يبحث عن ملفات .sqlite و .sqlite3 و .db
	!sshkeys: يبحث عن مفاتيح SSH الخاصة والعامة على الجهاز الحالي.
	!suid: يبحث عن الملفات الثنائية ذات بتات SUID و SGID على الجهاز الحالي.
	--snip--
  • اضغط SHIFT+TAB لإتمام الأوامر على الجهاز المحلي. قد يكون هذا مفيدًا إذا كنت متصلاً عبر SSH بجهاز بعيد ولكنك تحتاج إلى الإشارة إلى ملف موجود على جهازك.

قائمة الميزات

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

الأوامر

أوامر التعداد (Enumeration)

  • !os أمر بسيط للغاية يقوم فقط بتشغيل cat /etc/*release* لعرض نظام التشغيل الذي يعمل عليه الجهاز الحالي. ربما يكون أكثر قيمة كدليل على أنه في سياق أداة التسخير، يمكنك تعريف اختصارات (aliases) تعمل عبر حدود الأجهزة. اتصل بـ SSH بأي جهاز واكتب !os وسيتم تنفيذ الأمر. أوامر التعداد موجودة في commands/enumeration_commands.py، وأوامر المساعدة في commands/help_commands.py، والأوامر المتعلقة بالتخفي موزعة عبر commands/stealth_commands.py و commands/notty_sudo.py و commands/log_control.py.
  • !backup-hunter يبحث عن ملفات النسخ الاحتياطي
  • !info يعرض معلومات وحدة المعالجة المركزية (CPU)، والبنية (Architecture)، والذاكرة (Memory)، وإصدار النواة (Kernel Version) للجهاز الحالي.
  • !log يفعّل أو يعطّل تسجيل مدخلات ومخرجات الأداة في ملف. مطبق في commands/log_control.py.
  • !mtime يعرض الملفات التي تم تعديلها في آخر X دقيقة. على سبيل المثال !mtime 5 سيجلب جميع الملفات على الجهاز المحلي (التي لديك صلاحية رؤيتها) التي تم تعديلها في آخر 5 دقائق.
  • !db-hunter يبحث عن ملفات .sqlite و .sqlite3 و .db وملفات قواعد بيانات أخرى
  • !sshkeys يبحث عن مفاتيح SSH الخاصة والعامة على الجهاز الحالي.
  • !suid يبحث عن الملفات الثنائية ذات بتات SUID و SGID على الجهاز الحالي.
  • !strange-dirs يتحقق من الجهاز بدءًا من المسار الذي يحدده المستخدم بحثًا عن أدلة غريبة على المضيف
  • !sudo-version يتحقق من وجود إصدار ضعيف من sudo
  • !vm يتحقق مما إذا كان الجهاز جهازًا افتراضيًا (Virtual Machine)

أوامر النقل (Transfer)

  • أوامر تساعدك في سحب (pull) ودفع (push) الملفات، وهي واضحة جدًا.
  • !download [ملف بعيد] [مسار محلي] يحصل على ملف من الجهاز البعيد وينسخه محليًا عبر الطرفية. هذا الأمر أكثر تعقيدًا بعض الشيء لأن التحقق من الأخطاء الأكثر دقة مطلوب، لكنه أمر آخر يمكنك قراءته بسهولة للبدء. موجود في commands/download_file.py. لاحظ أنه يتطلب xxd أو od على الجهاز البعيد ليعمل بشكل صحيح.
  • !download-dir [دليل بعيد] [وجهة محلية] يقوم ببث أرشيف tar لدليل بعيد عبر الطرفية ويستخرجه محليًا دون لمس نظام الملفات البعيد. موجود في commands/download_directory.py. يتطلب tar و base64 على الجهاز البعيد، ويستخدم gzip أيضًا عندما يكون متاحًا.
  • !upload [ملف محلي] [مسار بعيد] يعمل تمامًا مثل الأمر السابق، باستثناء أنه يتم وضع ملف محلي على الجهاز البعيد. موجود في commands/upload_file.py.

أوامر التنفيذ (Execution)

  • !sh [سكريبت محلي] يقوم بتشغيل سكريبت شل من الجهاز المحلي في الذاكرة. موجود في commands/remote_script.py.
  • !py [سكريبت محلي] يقوم بتنفيذ سكريبت Python محلي على الجهاز البعيد، ويفعل ذلك بالكامل في الذاكرة. موجود في commands/remote_script.py. اطّلع على مستودعي الآخر للحصول على سكريبتات قد ترغب في استخدامها. يستخدم هذا الأمر بناء جملة متعدد الأسطر مع <<، مما يعني أن القشرة الزائفة (pseudo-shells) التي لا تدعم ذلك (Weevely مثال جيد) ستكسر هذا الأمر بشكل كبير.
  • !py3 [سكريبت محلي] يفعل نفس الشيء تمامًا للأنظمة التي تحتوي على Python3. يستخدم نفس الوحدة commands/remote_script.py.
  • !elf [ملف محلي] يقوم بتشغيل ملف تنفيذي من الجهاز المحلي في الذاكرة باستخدام أي مترجم Python متوافق متاح على الجهاز البعيد. موجود في commands/remote_elf.py.
تنزيل الأداة