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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
git-clean-filter — هذا إثبات عمل لإساءة استخدام مرشح التنظيف الخاص بـ git ضد IDEs و Sublime. | Kitploit
أدوات/GitHubGitHub/rootup/git-clean-filter
أدوات التصيدآليات الاستمراريةالتهرب من IDS/IPSالقيادة والسيطرةالهندسة الاجتماعيةالفريق الأحمر
GitHubrootup/git-clean-filter

git-clean-filter

هذا إثبات عمل لإساءة استخدام مرشح التنظيف الخاص بـ git ضد IDEs و Sublime.

عرض المستودع
3منذ 2 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

هذه مشكلة موثقة (معروفة)، لكنني وجدتها أثناء بحثي وهي مفيدة جدًا لـ RT/PT.

الملخص: التوجيه filter.<name>.clean في .git/config يشير إلى سكريبت، و.gitattributes يربط ذلك الفلتر بملف متعقب. كلما قام git بعرض git diff حقيقي لذلك الملف، يقوم بتشغيل محتوى شجرة العمل من خلال أمر clean أولاً، لذلك يقوم git بتشغيل أي مسار نحدده هناك بشكل أعمى.

الآن هنا يكمن الجانب المثير. تقوم المحررات الخاصة بنا بتشغيل git diff تلقائيًا بمجرد النقر على ملف تم تغييره لملء لوحة SCM (إدارة التحكم بالمصادر) والتعليقات الجانبية. فتح المجلد وحده لا يكفي، لكن عرض التغيير كافٍ، وهذا أمر طبيعي جدًا عندما تصل إلى مستودع.

هذه هي نفس فكرة core.fsmonitor لكن على توجيه مختلف، وهي ليست fsmonitor لذا أي شخص يراقب ذلك لن يراها. تناسب هذه التقنية عمليات الفريق الأحمر وسيناريوهات افتراض الاختراق مع أي C2 أو XRayC2 الخاص بنا للحصول على اتصال عكسي يتجاوز دفاعات الشبكة التقليدية. (بالطبع، مطلوب رسائل تصيد لخداع المستخدم النهائي، لكن فتح مجلد في IDE والنقر على ملف يبدو عملية معقولة.)

إثبات العمل. لن يحمل git clone ملف .git/config لذا قم بشحن المجلد مع .git/ سليمًا. الإعداد تحت .git/config:

root@kitploit:~
[filter "poc"]
    clean  = ./icons/clean.sh
    smudge = cat

.gitattributes:

root@kitploit:~
sample.txt filter=poc

sample.txt ملتزم لكن يتم شحنه معدلًا في شجرة العمل. في اللحظة التي يقوم git بعمل diff له، يتم تشغيل filter clean. يقوم clean.sh بتشغيل الآلة الحاسبة ويمرر المحتوى دون تغيير لذا لا تفسد شجرة العمل أبدًا:

root@kitploit:~
#!/bin/sh
pgrep -x Calculator >/dev/null 2>&1 || open -a Calculator 2>/dev/null
exec cat

افتح المجلد في محررك، انقر على sample.txt لعرض تغييره، وستظهر آلة حاسبة. (اخرج من الآلة الحاسبة لإعادة تشغيلها.) هذا الإثبات خاص بنظام macOS، قم بتعديله لبيئتك.

تم اختباره على Cursor (git CLI) وSublime Text (libgit2).

يعمل filter clean فقط على git diff كامل، وليس على git status، لذا يتم تشغيله عندما يعرض المحرر التغيير، وليس فقط عند فتح المجلد. المثير للاهتمام أن Sublime يقوم بتشغيله داخل العملية عبر libgit2، والعملية الأب للحمل هي sublime_text نفسها دون وجود ثنائي git في السلسلة، لذا هذا ليس محدودًا بالأدوات التي تستدعي git عبر الصدفة.

https://github.com/user-attachments/assets/31ea495f-1ed8-44f8-bef3-8c6366a0eece

مثل fsmonitor، هذا مقيد بموجه الثقة في المحرر "هل تثق بهذا المجلد؟". معظم المطورين يتركون ~/Downloads والمجلدات العليا المماثلة موثوقة، ويأتي Cursor مع إيقاف ثقة مساحة العمل افتراضيًا، لذا يعمل الإثبات بصمت. إذا كان المستودع خارج تلك المسارات الموثوقة، سيسأل IDE "هل تثق بهذا الناشر؟" قبل قراءة .git/config.

وثائق Git: core.fsmonitor و filter.* في https://git-scm.com/docs/gitattributes.

تنزيل الأداة