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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
antivmdetection — نص برمجي لإنشاء قوالب لاستخدامها مع VirtualBox لجعل اكتشاف الآلة الافتراضية أكثر صعوبة | Kitploit
أدوات/GitHubGitHub/nsmfoo/antivmdetection
التهرب من IDS/IPSتحليل البرمجيات الخبيثةمكافحة الروبوتات
GitHubnsmfoo/antivmdetection

antivmdetection

نص برمجي لإنشاء قوالب لاستخدامها مع VirtualBox لجعل اكتشاف الآلة الافتراضية أكثر صعوبة

عرض المستودع
777124منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

كشف الآلة الافتراضية المضاد

الخلفية

سكربت لمساعدتك في إنشاء قوالب يمكنك استخدامها مع VirtualBox لجعل كشف الآلة الافتراضية أصعب.

كان أول منشور لي حول الموضوع في عام 2012 وتم تحديثه بعد ذلك في أوقات عشوائية. ربما لم يكن تنسيق المدونة أفضل طريقة لنشر المعلومات، وقام بعض الأشخاص بعمل سكربتات لطيفة و"سهلة التطبيق" بناءً على المحتوى.

كطريقة لجعل إضافة محتوى جديد أسهل بالنسبة لي، قررت أن أفعل الشيء نفسه.

الغرض من هذا السكربت هو استخدام الإعدادات المتاحة دون تعديل قاعدة VirtualBox. هناك أشخاص يقومون بأشياء رائعة حقًا عن طريق تعديل Virtualbox. لكن هذا خارج نطاق هذا السكربت. أعتقد أن هذا الأسلوب له بعض المزايا لأنه (نأمل) لا يتعطل مع كل إصدار جديد من VirtualBox. بمرور الوقت قمت أيضًا بتضمين "أشياء" لا ترتبط مباشرة بـ VM، بل أشياء يستخدمها البرامج الضارة لفحص التثبيتات، أتمنى ألا تمانع..

سيقوم السكربت الرئيسي بإنشاء الملفات التالية:

  • ملف shell script، يمكن استخدامه كقالب، ليتم استخدامه من نظام التشغيل المضيف وتطبيقه على VM الذي ترغب في تعديله.
  • تفريغ لـ DSDT، يُستخدم في سكربت القالب أعلاه.
  • ملف Windows PowerShell لاستخدامه داخل الضيف، للتعامل مع الإعدادات التي لا يمكن تغييرها من المضيف. يجب تشغيل هذا السكربت مرتين، مرة للتغييرات التي تتطلب إعادة تشغيل والمرة الثانية للأشياء المزعجة التي تظهر مرة أخرى عند إعادة التشغيل.

الاستخدام

إنشاء السكربت من المضيف

  • تثبيت التبعيات sudo apt install python3-pip libcdio-utils acpica-tools mesa-utils smartmontools
  • تثبيت وحدات Python: sudo pip3 install -r requirements.txt
  • تنزيل الملفات الثنائية Windows التالية واستخراجها في دليل antivmdetection : wget https://download.sysinternals.com/files/VolumeId.zip https://www.nirsoft.net/utils/devmanview-x64.zip (إصدار x64).
  • إنشاء ملفات نصية للكمبيوتر والمستخدم : hostname > computer.lst, whoami > user.lst . قم بالتعديل إذا كنت ترغب في استخدام أسماء أجهزة ومستخدمين مختلفة لـ VMs (المستحسن هو ملء الملفات بقائمة طويلة من أسماء المستخدمين والكمبيوتر)
  • تشغيل سكربت Python كـ sudo sudo python3 antivmdetect.py
  • جعل سكربت المضيف المُنشأ قابلاً للتنفيذ من المستخدم الحالي sudo chmod a+x xxxxx.sh
  • إذا تلقيت الرسالة التالية: "ACPI tables bigger than 64KB (VERR_TOO_MUCH_DATA)", فهذا بسبب قيد في Virtualbox، لمزيد من السياق راجع هذه الحالة: https://github.com/nsmfoo/antivmdetection/issues/37 . لم يتم التحقق من عمله، لكن https://www.tonymacx86.com/dsdt-database قد يكون مصدرًا جيدًا...

إعداد VM

  • قم بإنشاء VM ولكن لا تبدأ تشغيله، واخرج أيضًا من واجهة VirtualBox الرسومية. يجب تشغيل سكربت shell قبل التثبيت!.
  • تحقق من تمكين "I/O APIC" (النظام > علامة التبويب اللوحة الأم).
  • تحقق من ضبط "واجهة المحاكاة الافتراضية" على "لا شيء" (النظام > علامة التبويب التسريع).
  • قم بتغيير عدد وحدات المعالجة المركزية إلى 2 أو أكثر إذا أمكن.
  • تعيين عنوان IP الخاص بـ VM (ملف > مدير شبكة المضيف > تكوين المحول يدويًا > عنوان IPv4).
  • يتوقع السكربت أن يبدو تخطيط التخزين على النحو التالي: + IDE: رئيسي أساسي (قرص) ورئيسي ثانوي (قرص مضغوط) + * ATA: المنفذ 0 (قرص) والمنفذ 1 (قرص مضغوط)
  • قم بتشغيل السكربت كمستخدم حالي (لأن VMs موجودة في دليل المستخدم الحالي) : /bin/bash xxxxx.sh my-virtual-machine-name
  • قم بتثبيت نظام تشغيل Windows (يدعم W7 و W10)

تشغيل السكربت من داخل VM

  • انقل سكربت الدفعة (xxxx.ps1) إلى الضيف المُثبت حديثًا.

  • قم بتشغيل سكربت الدفعة داخل الضيف. تذكر أن معظم الإعدادات التي يتم تعديلها، يتم التراجع عنها بعد كل إعادة تشغيل. لذا اجعله يعمل عند بدء التشغيل إذا لزم الأمر.

  • اعتبارًا من الإصدار 0.1.4، ستتطلب بعض الإعدادات المطبقة إعادة تشغيل. لذا قم بتشغيل سكربت الدفعة مرة واحدة، سيتم إعادة تشغيل الضيف. ثم قم بتشغيل السكربت مرة أخرى لإنهاء الإعداد.

  • قبل تطبيق سكربت الدفعة داخل الضيف، يرجى تعطيل UAC (يتطلب إعادة تشغيل) وإلا لن تتمكن من تعديل السجل باستخدام السكربت.

  • لمستخدمي Windows 10: قم بتشغيل سكربت PS كمسؤول (انقر بزر الماوس الأيمن على cmd.exe -> تشغيل كمسؤول، انتقل إلى سكربت PS وقم بتنفيذه)

  • إذا تم تطبيقه بشكل صحيح، فإن تشغيل Pafish سينتج عنه هذا (لا حاجة لتعديل Virtualbox).

  • يرجى ملاحظة أن هذا السكربت يقوم بأشياء أخرى لا يغطيها Pafish (على سبيل المثال آثار W10)

alt text

ملاحظات

  • عندما لا يتمكن سكربت antivmdetect من العثور على قيم مناسبة لاستخدامها، فسيقوم بتعليق هذه الإعدادات في السكربت المُنشأ حديثًا، باستخدام "#". تحتاج هذه إلى مراجعة يدوية لأنها قد تؤثر على ما يتم عرضه في VM.

سجل الإصدارات

  • 0.1.9:
    متوافق مع Python3
    محاولة أولى لاستخراج القرص الصحيح، كان مصدر صداع للكثيرين. (Issue #35 (وبعض القضايا القديمة الأخرى)، شكرًا @oaustin)
    تحسين معالجة السلاسل في سكربت shell (Issue #35 و #36 و PR #44، شكرًا @oaustin و @dashjuvi و @corownik)
    إضافة رابط إلى مورد DSDT عبر الإنترنت (Issue #37، شكرًا @MasterCATZ)
    تحديث ملف README لجعل تعليمات التثبيت أكثر وضوحًا، شكرًا @jorants (issue #38)
    التحقق من إنشاء تفريغ DSDT بالفعل، شكرًا @nov3mb3r (Issue: #42)
    إضافة إشعار ترخيص. شكرًا @obilodeau (issue #43)
    تنظيف الكود: إزالة دعم أقراص RAID بسبب عدم الوصول إلى أجهزة الخادم.. والكثير من التحسينات الصغيرة الأخرى

  • 0.1.8:
    تحسين دعم Windows 10
    دمج إصلاح الترميز من @bryant1410 (PR #14)
    حل مشكلة للأشخاص الذين يستخدمون macOS + VBox/VMWare Fusion لإنشاء القوالب.
    إنشاء القالب من جهاز افتراضي ليس أفضل طريقة على أي حال .. (issue #12 وربما #15)

  • 0.1.7:
    Windows 10 أصبح مدعومًا الآن (نرحب بالملاحظات)
    العديد من الآثار الجديدة "تم تصحيحها" لتثبيتات W10
    تبعية جديدة: mesa-utils
    دمج إصلاح خطأ من @Fullmetal5 (#10)
    إصلاح كود متنوع
    تحديث ملف readme

  • 0.1.6:
    إضافة نافذة منبثقة بعد التشغيل الثاني، لتوضيح أنك جاهز للانطلاق
    إضافة وظيفة تفتح عدة مثيلات من notepad، سيتم توسيع هذه الميزة في الإصدارات المستقبلية
    إعادة صياغة وظيفة RandomDate، بفضل @Antelox لجعلي على دراية بالمشكلة في الوظيفة القديمة (#8)
    برنامج Acpidump الذي يأتي مع الإصدارات الأقدم من Ubuntu لا يدعم المفتاح "-s". يتم التعامل مع هذا الآن من خلال رسالة خطأ. بفضل @Antelox لهذه المشكلة (#7)
    لم يتم إزالة Devmanview.exe بعد التشغيل الثاني، تم الإصلاح

  • 0.1.5:
    إضافة دعم لربط وإلغاء ربط (معطل افتراضيًا) امتدادات الملفات. المرجع: https://www.proofpoint.com/us/threat-insight/post/massive-adgholas-malvertising-campaigns-use-steganography-and-file-whitelisting-to-hide-in-plain-sight
    إضافة دعم لمخزن الحافظة المقدم من المستخدم. إذا لم يكن موجودًا، سيتم إنشاء سلسلة عشوائية. املأ الملف بـ Honeytokens من اختيارك
    إزالة دعم XP
    تحويل أقسام سكربت الدفعة إلى Powershell. نقل المزيد من المنطق إلى سكربت الضيف، باختصار هناك سبب أقل لإنشاء/إعادة إنشاء القالب بشكل متكرر، حيث يتم عشوائية المزيد من العناصر على الضيف.
    إضافة وظيفة تعمل على عشوائية صورة خلفية سطح المكتب
    إضافة وظيفة تنشئ مستندات "بجميع" الأنواع على الضيف
    إضافة وظيفة تنشئ مستندات "بجميع" الأنواع على الضيف وتنقلها إلى سلة المحذوفات
    عشوائية DigitalProductId في موقعين إضافيين:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Registration\DigitalProductId.
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DefaultProductKey\DigitalProductId. استخدام واجهة المحاكاة الافتراضية: لا شيء (تم التحقق مع VBox 5.1.4) - تم تحديث التحقق ليعكس هذا التغيير. أفترض أن هذا التغيير في VBox جاء بفضل: TiTi87، شكرًا!

/ميكائيل

التعليقات مرحب بها دائمًا! =)

تنزيل الأداة

  • 0.1.4:
    إصلاح خطأ لمستخدمي python-dmidecode 3.10.13-3، هذا كان خطئي بالكامل..
    إضافة وظيفة تعمل على عشوائية VolumeID (متطلب جديد: VolumeID.exe)، يتم جمع هذه المعلومات على سبيل المثال بواسطة Rovnix
    إضافة وظيفة تعمل على عشوائية اسم المستخدم واسم الكمبيوتر/المضيف (متطلبات جديدة: قائمة بأسماء المستخدمين وأسماء الكمبيوتر)
    محاولة أولى لإضافة معلومات إلى مخزن الحافظة، الفكرة (الأمر) جاءت من تغريدة لـ @shanselman . سيتم تحسينها في الإصدار التالي
    تحديث ملف readme: تبعيات جديدة وميزات جديدة تتطلب إعادة تشغيل

  • 0.1.3:
    نسخ وتعيين سلسلة العلامة التجارية لوحدة المعالجة المركزية.
    التحقق من وجود جهاز صوتي متصل بالضيف. المرجع: http://www.joesecurity.org/reports/report-61f847bcb69d0fe86ad7a4ba3f057be5.html
    التحقق من بنية نظام التشغيل مقابل ملف DevManView الثنائي.
    عشوائية ProductId في موقعين إضافيين:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Registration\ProductId.
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DefaultProductKey\ProductId.
    مسح مفتاح منتج Windows من السجل (لمنع سرقته...).
    تحرير DigitalProductId (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId) لمطابقة ProductId الجديد.

  • 0.1.2:
    التحقق من استخدام واجهة المحاكاة الافتراضية القديمة (استخدام الواجهة القديمة سيخفف من اكتشاف "ميزة cpuid").

  • 0.1.1:
    التحقق من عدد وحدات المعالجة المركزية (أقل من 2 == إنذار).
    التحقق من حجم الذاكرة (أقل من 2 جيجابايت == إنذار).
    التحقق من استخدام عنوان IP الافتراضي/النطاق لـ vboxnet0 (يمكنك تجاهل الإشعار إذا كنت لا تستخدمه).
    عشوائية ProductId.
    دمج PR #3 من r-sierra (شكرًا للمساعدة!).
    إصلاح خطأ في AcpiCreatorId (شكرًا @Nadacsc لإبلاغي به!).
    إصلاح خطأ في تحليل DmiBIOSReleaseDate.
    إصلاح خطأ في DmiBIOSReleaseDate، للتعامل مع كل من الصيغة "الافتراضية" الخاطئة إملائيًا والصيغة الصحيحة (شكرًا @WanpengQian لإبلاغي به!).
    لم يعمل تضمين DevManView كما هو متوقع، يجب أن يتم إصلاحه في هذا الإصدار.
    يدعم وحدة تحكم SATA أيضًا (سابقًا تم تعديل إعدادات IDE فقط)
    تحديث ملف readme

  • 0.1.0:
    حل اكتشاف WMI الذي اشتهر به HT. إضافة
    DevManView.exe (اختيار البنية الخاصة بك) إلى المتطلبات الأساسية.

  • < 0.1.0 لم يتم الاحتفاظ بسجل الإصدارات قبل هذا، أعتقد أنني بحاجة للبدء من مكان ما.