
أداة powershell لتجنب VM
Invoke-AntiVM هي مجموعة من الوحدات لأداء كشف وتحديد بصمة الأجهزة الافتراضية (مع استخراج البيانات) عبر Powershell.
قم بتشغيل السكريبت check-compatibility.ps1 لمعرفة الوحدات أو الدوال المتوافقة مع إصدار Powershell. هدفنا هو تحقيق التوافق بدءًا من الإصدار 2.0 ولكننا لم نصل بعد. يرجى تشغيل check-compability.ps1 لرؤية مشكلات التوافق الحالية.
كتبنا هذه الأداة لتوحيد عدة تقنيات لتحديد تقنيات الأجهزة الافتراضية أو البيئة الرملية. تعتمد على كل من الإشارات التوقيعية والسلوكية لتحديد ما إذا كان المضيف جهازًا افتراضيًا أم لا. الوحدات مصنفة في مجموعات منطقية: CPU, Execution, Network, Programs. يمكن للمستخدم أيضًا أن يقرر استخراج بصمة المضيف المستهدف ليكون قادرًا على تحديد ما الميزات التي يمكن استخدامها لتحديد حل البيئة الرملية أو الجهاز الافتراضي.
تم تطوير Invoke-AntiVM لفهم ما هو تأثير استخدام تقنيات الإبهام والحيل المضادة للأجهزة الافتراضية في حمولات Powershell. نأمل أن يساعد هذا فرق Red Teams في تجنب تحليل حمولتهم وفرق Blue Teams في فهم كيفية إزالة الإبهام عن سكريبت باستخدام تقنيات التهرب. يمكنك إما استخدام ملف الوحدة الرئيسي Invoke-AntiVM.psd1 أو استخدام ملفات السكريبت ps1 المفردة إذا كنت ترغب في تقليل الحجم.
تم توفير أمثلة الاستخدام في السكريبتات التالية:
يحتوي مجلد pastebin على سكريبت بايثون:
يجب عليك التأكد من استخدام نفس مفتاح التشفير الذي استخدمته أثناء خطوة استخراج البيانات. يظهر مجلد package كيفية حزم جميع السكريبتات في ملف واحد لتحسين قابلية النقل. يظهر مجلد pastebin كيفية سحب وفك تشفير الوثائق المستخرجة من pastebin تلقائيًا.
كود المصدر لـ Invoke-CradleCrafter مستضاف على Github، ويمكنك تنزيله وعمل fork ومراجعته من هذا المستودع (https://github.com/robomotic/invoke-antivm). يرجى الإبلاغ عن المشكلات أو طلبات الميزات عبر متتبع الأخطاء الخاص بـ Github المرتبط بهذا المشروع.
للتثبيت: قم بتشغيل السكريبت install_module.ps1
تم إصدار Invoke-AntiVM بموجب ترخيص Apache 2.0.
1.0