V'ger

V'ger هو تطبيق تفاعلي لسطر الأوامر للاستغلال اللاحق لمثيلات Jupyter الموثقة مع التركيز على عمليات أمن الذكاء الاصطناعي/التعلم الآلي.
قصص المستخدمين
- بصفتك مختبر اختراق أحمر (Red Teamer)، عثرت على بيانات اعتماد Jupyter، لكنك لا تعرف ماذا يمكنك أن تفعل بها. تم تنظيم V'ger بتنسيق يجب أن يكون بديهياً لمعظم محترفي الأمن الهجومي لمساعدتهم على فهم وظائف خادم Jupyter المستهدف.
- بصفتك مختبر اختراق أحمر (Red Teamer)، تعلم أن بعض الإجراءات المستندة إلى المتصفح ستكون مرئية للمستخدمين الشرعيين لـ Jupyter. على سبيل المثال، تعديل علامات التبويب سيظهر في مساحة العمل الخاصة بهم، والأوامر المدخلة في الخلايا سيتم تسجيلها في السجل. يقلل V'ger من احتمالية الاكتشاف.
- بصفتك مختبر اختراق أحمر للذكاء الاصطناعي (AI Red Teamer)، أنت تفهم الهجمات الخوارزمية الأكاديمية، لكنك تحتاج إلى ناقل تنفيذ أكثر عملية. على سبيل المثال، قد تحتاج إلى تعديل مجموعة بيانات كبيرة وأساسية على نطاق الإنترنت كجزء من عملية تسميم النموذج. قد يكون تعديل تلك المجموعة في مصدرها مستحيلاً أو يولّد آثار تدقيق غير مرغوب فيها. باستخدام V'ger يمكنك تحقيق نفس الأهداف في الذاكرة، وهو تحسين كبير في فنيات العمل.
- بصفتك مختبر اختراق أزرق (Blue Teamer)، تريد فهم التسجيل والرؤية في نشر Jupyter مباشر. يمكن أن يساعدك V'ger في توليد آثار قابلة للتكرار لاختبار الأدوات وإجراء تمارين الاستجابة للحوادث.
الاستخدام

الإعداد الأولي
pip install vger
vger --help
حالياً، vger interactive يتمتع بأقصى وظائف، حيث يحافظ على حالة القطع الأثرية المكتشفة والمهام المتكررة. ومع ذلك، فإن معظم الوظائف متاحة أيضاً بالاسم في تنسيق غير تفاعلي باستخدام vger <module>. اذكر الوحدات المتاحة باستخدام vger --help.

الأوامر
بمجرد إنشاء اتصال، يدخل المستخدمون إلى مجموعة متداخلة من القوائم.
القائمة الرئيسية هي:
- إعادة تعيين (Reset): تكوين مضيف مختلف.
- تعداد (Enumerate): أدوات لمعرفة المزيد عن المضيف.
- استغلال (Exploit): أدوات لتنفيذ إجراء مباشر والتلاعب بالمضيف والقطع الأثرية.
- ثبات (Persist): أدوات لإنشاء آليات الثبات.
- تصدير (Export): حفظ المخرجات إلى ملف نصي.
- خروج (Quit): لا أحد يحب من ينسحب.
تحتوي هذه القوائم على الوظائف التالية:
- قائمة الوحدات (List modules): تحديد الوحدات المستوردة في الدفاتر المستهدفة لمعرفة المكتبات المتاحة للكود المحقون.
- حقن (Inject): تنفيذ كود في سياق الدفتر المحدد. يمكن تقديم الكود في محرر نصوص أو عن طريق تحديد ملف
.py محلي. أي إدخال يتم معالجته كسلسلة نصية ويتم تنفيذه في وقت تشغيل الدفتر.
- باب خلفي (Backdoor): تشغيل مثيل JupyterLab جديد مفتوح على
0.0.0.0، مع allow-root على port يحدده المستخدم بكلمة مرور password يحددها المستخدم.
- فحص السجل (Check History): رؤية أوامر ipython التي تم تشغيلها مؤخراً في الدفتر المستهدف.
- تشغيل أمر شل (Run shell command): إنشاء محطة طرفية، تشغيل الأمر، إرجاع المخرجات، وحذف المحطة.
- سرد الدليل أو الحصول على ملف (List dir or get file): سرد الدلائل بالنسبة لدليل Jupyter. إذا كنت لا تعرف، ابدأ بـ
/.
- رفع ملف (Upload file): رفع ملف من المضيف المحلي إلى الهدف. حدد المسارات بنفس تنسيق سرد الدليل (نسبة لدليل Jupyter). قدّم مساراً كاملاً يتضمن اسم الملف والامتداد.
- حذف ملف (Delete file): حذف ملف. حدد المسارات بنفس تنسيق سرد الدليل (نسبة لدليل Jupyter).
- البحث عن نماذج (Find models): البحث عن نماذج بناءً على تنسيقات الملفات الشائعة.
- تنزيل النماذج (Download models): تنزيل النماذج المكتشفة.
- التجسس (Snoop): مراقبة تنفيذ الدفتر والنتائج حتى انتهاء المهلة.
- المهام المتكررة (Recurring jobs): تشغيل/إنهاء مقتطفات كود متكررة تُنفذ بصمت في البيئة المستهدفة.
تجريبي
مع pip install vger[ai] ستحصل على ملخصات منشأة بواسطة LLM للدفاتر في البيئة المستهدفة. هذه الملخصات مخصصة لتكون ترجمة تقريبية للأشخاص غير المتخصصين في علم البيانات/الذكاء الاصطناعي لعمل فرز سريع لمعرفة ما إذا كانت الدفاتر تستحق المزيد من التحقيق أم لا (أو أي منها).

كان هناك مفاضلة متأصلة بين حجم النموذج وقدرته، وهذا شيء سأستمر في العبث به، ولكن آمل أن يكون هذا مفيداً لبعض المستخدمين الأمنيين التقليديين. أحب أن أرى الناس يبدؤون في حقن الإشارات (prompt injection) في دفاترهم ("هذه ليست الروبوتات التي تبحث عنها").
أمثلة