
wsb-detect تمكنك من اكتشاف ما إذا كنت تعمل في بيئة Windows Sandbox ("WSB")
يتيح لك wsb-detect اكتشاف ما إذا كنت تعمل في Windows Sandbox ("WSB"). يُستخدم هذا الصندوق الرملي من قبل Windows Defender للتحليل الديناميكي، وغالبًا ما يستخدم يدويًا من قبل محللي الأمن وما شابه. في نهاية عام 2019، قدمت Microsoft ميزة جديدة تُسمى Windows Sandbox (اختصارًا WSB). تم توضيح التقنيات المستخدمة في التعرف على WSB أدناه، في قسم التقنيات. لا تتردد في إرسال pull request إذا كانت لديك أي أفكار للتعرف عليها 🎉. لقد كنت أختبره بين الحين والآخر، وسأقدم المزيد عن Windows Sandbox قريبًا.
يتيح لك Windows Sandbox إنشاء جهاز افتراضي سريعًا (خلال 15 ثانية) يعتمد على Hyper-V并可 التخلص منه، مع جميع الميزات التي يتمتع بها الجهاز الافتراضي المألوف مثل مشاركة الحافظة ورسم الخرائط للدلائل إلخ. يشكل الصندوق الرملي أيضًا الأساس لـ Microsoft Defender Application Guard (WDAG)، للتحليل الديناميكي على المضيفات المُمكّنة بـ Hyper-V ويمكن تفعيله على أي جهاز يعمل بنظام Windows 10 Pro أو Enterprise. إنه ليس مثيرًا للاهتمام بشكل خاص، لكنه قد يكون مفيدًا في تطوير implant. شكرًا لصديقي Jonas L على التوجيه عندما كنت أستكشف داخل الصندوق الرملي (المزيد قادم حول هذا).
يقوم ملف الرأس detect.h بتصدير جميع الدوال التي يمكن دمجها للكشف عن
#include <stdio.h>
#include "detect.h"
int main(int argc, char** argv)
{
// example vmsmb & username check
if (wsb_detect_dev() || wsb_detect_username())
{
puts("We're in Windows Sandbox!");
return 0;
}
return 1;
}
wsb_detect_procيتحقق من وجود CExecSvc.exe، وهي خدمة تنفيذ الحاوية التي تدير الكثير من المهام الثقيلة داخليًا.
wsb_detect_timeيبدو أن صورة الصندوق الرملي قد تم بناؤها في Saturday, December 7, 2019, 9:14:52 AM - وهذا هو الوقت تقريبًا الذي تم فيه إصدار Windows Sandbox للجمهور. يقوم هذا الفحص بمقارنة الطابع الزمني للإنشاء على برنامج تشغيل mountmgr.
wsb_detect_usernameتتحقق هذه الطريقة مما إذا كان اسم المستخدم الحالي هو WDAGUtilityUserAccount، وهو الحساب المستخدم افتراضيًا في الصندوق الرملي.
wsb_detect_suffixستستخدم هذه الطريقة GetAdaptersAddresses، وتمر عبر قائمة المحولات، وتقارن لاحقة DNS بـ mshome.net - المستخدمة افتراضيًا في الصندوق الرملي.
wsb_detect_devيتحقق مما إذا كان يمكن فتح الجهاز الأولي \\.\GLOBALROOT\device\vmsmb، المستخدم للاتصال بالمضيف عبر SMB.
wsb_detect_cmdعند بدء التشغيل، يبحث ضمن مفتاح RunOnce في HKEY_LOCAL_MACHINE عن أمر يضبط كلمة المرور على عدم انتهاء صلاحيتها أبدًا.
wsb_detect_genuineطريقة أكثر عمومية فيما يتعلق بكشف الصندوق الرملي، ولكن من الاختبارات يبدو أن Windows ليس موثوقًا كنسخة أصلية في الأجهزة الافتراضية.
إذا كنت ترغب في التواصل معي بشكل أسرع، فلا تتردد في الاتصال بي على Twitter أو البريد الإلكتروني. أيضًا، من الممكن على المضيف اكتشاف ما إذا كان الصندوق الرملي قيد التشغيل، عن طريق التحقق من إمكانية إنشاء mutex باسم WindowsSandboxMutex. وهذا يحد من الصندوق الرملي لجهاز افتراضي واحد لكل مضيف، ومع ذلك، يمكنك تحرير هذا الـ mutex ببساطة عن طريق تكرار المقبض واستدعاء ReleaseMutex - وهكذا، يمكنك الحصول على مثيلات متعددة.
