كشف باحث مستقل في البرمجيات الخبيثة عن باب خلفي جديد لنظام Windows أطلق عليه اسم SLEEPWALKER، يتميز بأسلوب تشغيل غير تقليدي يجعل اكتشافه أكثر صعوبة.

البرمجية لا تتصل بخادم تحكم، ولا ترسل طلبات إلى نطاقات أو عناوين IP ثابتة، بل تبقى خاملة داخل الذاكرة وتنتظر وصول حزمة شبكة مصممة خصيصًا لتبدأ العمل.

والأكثر إثارة للاهتمام أن الأوامر لا تصل كنصوص مفهومة، بل كلغة Bytecode خاصة بالبرمجية تحتوي على 23 تعليمة صُممت لهذا الباب الخلفي فقط.

المصدر الأصلي من The Hacker News

#DLL صغيرة تخفي بابًا خلفيًا كاملًا

العينة التي جرى تحليلها عبارة عن مكتبة Windows غير موقعة من نوع DLL بحجم 59,904 بايت وبمعمارية 64-bit.

تم تصميمها لكي تُحمّل جانبيًا عبر عملية ERAAgent.exe التابعة لـ ESET Management Agent.

الملف الخبيث ينتحل اسم مكتبة Microsoft الشرعية dpapi.dll ويصدر نفس وظائف حماية البيانات السبع الموجودة في المكتبة الأصلية.

كما يحتوي على معلومات إصدار منسوخة من ESET Management Agent، في محاولة لجعل الملف يبدو طبيعيًا عند الفحص السريع.

#لا عنوان IP ولا Domain ولا C2 تقليدي

من أكثر الجوانب المميزة في SLEEPWALKER أنه لا يحتوي على Domains أو IP addresses أو URLs مدمجة بداخله.

كذلك لا ينشئ أي اتصال خارجي من تلقاء نفسه.

هذا يعني أن الجهاز المصاب قد يبدو نظيفًا أمام أدوات المراقبة التي تعتمد بشكل أساسي على اكتشاف الاتصالات مع بنية Command and Control معروفة.

بدلًا من ذلك، ينتظر الباب الخلفي وصول الأمر إليه.

وهذا يحوله من برمجية تبحث عن المهاجم إلى مستمع صامت ينتظر الإشارة الصحيحة.

#حزمة واحدة قد تكون كافية لإيقاظه

الإعدادات المدمجة داخل العينة يتم فك تشفيرها باستخدام AES-256-CCM.

وبعد فكها، تحتوي على تعليمة واحدة فقط تطلب من البرمجية مراقبة جميع واجهات الشبكة بشكل مستمر بحثًا عن حزمة التشغيل الخاصة بها.

المستمع لا يراقب الترافيك الموجه إلى الجهاز فقط.

بل يلتقط كل ما يمر عبر واجهات الشبكة التي يراقبها، حتى لو كان الترافيك موجهًا إلى جهاز آخر.

وهذا يجعل وجود البرمجية على Gateway أو VPN Server أو جهاز يربط بين شبكتين أمرًا أكثر خطورة، لأن حزمة التشغيل قد تمر عبر الجهاز حتى لو لم تكن موجهة إليه مباشرة.

#الباب الخلفي لا يمنح المهاجم صلاحيات جديدة

SLEEPWALKER لا يستغل ثغرة للحصول على Administrator Privileges.

البرمجية تعتمد على الصلاحيات التي تمتلكها العملية التي تم تحميلها بداخلها.

كما أنها تتحقق فقط من اسم العملية المضيفة، ولا تتحقق من مسارها أو توقيعها الرقمي.

لكن زرع ملف DLL داخل مسار ESET Management Agent يتطلب أصلًا صلاحيات Local Administrator.

وهذا يجعل SLEEPWALKER أداة Post-Compromise Implant وليس وسيلة اختراق أولية.

بمعنى آخر، المهاجم يجب أن يكون قد وصل إلى الجهاز وامتلك صلاحيات مرتفعة قبل أن يتمكن من تثبيت هذا الباب الخلفي.

ولا تزال طريقة الوصول الأولية إلى الجهاز غير معروفة.

#الاستمرارية تعتمد على DLL Side-Loading

آلية الاستمرارية الوحيدة المعروفة في SLEEPWALKER تعتمد على DLL Side-Loading.

في كل مرة يتم فيها تشغيل خدمة ESET Management Agent، يتم تحميل المكتبة الخبيثة مرة أخرى.

هذه التقنية تعتمد على ترتيب بحث Windows عن ملفات DLL، وليست ناتجة عن ثغرة داخل برنامج ESET نفسه.

لذلك لا يوجد Patch مباشر يمكن تطبيقه لإصلاح المشكلة.

في حال تأكيد الإصابة، الإجراء المناسب هو التعامل معها كحادثة أمنية كاملة، ثم إعادة بناء الجهاز من مصدر موثوق.

وقد سبق أن استُخدمت منتجات ESET في هجمات DLL Side-Loading أخرى، من بينها نشاط مرتبط بمجموعة ToddyCat.

في إحدى الحالات السابقة، استغل مهاجمون آلية بحث عن DLL داخل أداة ESET لتحميل مكتبة خبيثة داخل العملية.

تفاصيل الحملة السابقة

#لغة أوامر من 23 تعليمة

لا يعتمد SLEEPWALKER على أوامر Shell أو نصوص PowerShell تقليدية.

بدلًا من ذلك، طوّر المشغلون لغة Bytecode خاصة بهم تتكون من 23 Instruction.

وتدعم هذه التعليمات مجموعة واسعة من الوظائف مثل الجدولة، ونقل البيانات بعدة طرق، وتسليم الملفات على مراحل.

كما يمكن للبرمجية التحقق من الملفات باستخدام SHA-256 قبل تشغيلها، بالإضافة إلى تنفيذ Code مباشرة داخل الذاكرة.

هذا التصميم يجعل تحليل حركة الأوامر أكثر تعقيدًا.

حتى لو تمكن المحلل من استخراج مفتاح التشفير، فلن يحصل على أوامر بشرية قابلة للقراءة.

سيحصل بدلًا من ذلك على Opcodes لا معنى لها خارج منطق هذا الملف نفسه.

ووصف الباحث Dominik Reichel هذا الأسلوب بأنه يتوافق أكثر مع عملية موجهة ومدعومة بموارد جيدة، وليس مع حملة عشوائية واسعة النطاق.

التحليل التقني الأصلي للباحث

#ست قنوات مختلفة للتحكم

يدعم SLEEPWALKER ست وسائل مختلفة لنقل الأوامر والبيانات.

تشمل هذه الوسائل:

  • TCP
  • UDP
  • ICMP
  • SMB Named Pipes
  • Raw Promiscuous Packet Capture
  • VMware VMCI

استخدام SMB Named Pipes يتضمن أيضًا إمكانية الحركة الجانبية باستخدام بيانات اعتماد.

لكن أكثر القنوات إثارة للاهتمام هي VMCI.

#لماذا VMCI مهم؟

VMCI اختصار لـ Virtual Machine Communication Interface.

وهو مسار اتصال يسمح بالتواصل عبر طبقة VMware الافتراضية دون المرور عبر Network Adapter تقليدي.

هذا يعني أن Packet Capture يتم تنفيذه بين جهازين على الشبكة قد لا يرى هذا الترافيك أصلًا.

وقد استُخدمت VMCI Sockets سابقًا من قبل مجموعة UNC3886 للحفاظ على الاتصال بين ESXi Hosts المخترقة والأنظمة الافتراضية الموجودة داخلها.

تفاصيل استخدام UNC3886 لتقنية VMCI

#لا توجد تعليمة تكتب على القرص

جانب آخر لافت في تصميم SLEEPWALKER هو أن لغة الأوامر الخاصة به لا تحتوي على Instruction تكتب الملفات مباشرة إلى Disk.

هذا يعني أن أي ملفات يحتاجها المهاجم على النظام يجب أن تكون قد وُضعت هناك بواسطة Component آخر.

وهذه نقطة مهمة لأنها تشير إلى أن SLEEPWALKER قد يكون جزءًا من سلسلة أدوات أكبر وليس Payload يعمل منفردًا.

#يوجد Trigger آخر مخفي داخل العينة

يحتوي SLEEPWALKER على طريقتين لمراقبة Trigger التشغيل.

العينة التي جرى تحليلها كانت تستخدم Raw Packet Listener فقط.

لكن الكود يحتوي أيضًا على Trigger إضافي يعتمد على DNS.

هذا المسار موجود داخل الملف لكنه غير مفعل في النسخة التي تم تحليلها.

وجود أكثر من آلية تشغيل يشير إلى أن مطوري البرمجية صممموها بمرونة تسمح بتغيير طريقة الاتصال حسب البيئة المستهدفة.

#تعديل Registry لفتح Named Pipes

حتى يسمح SLEEPWALKER بالوصول إلى Named Pipe من اتصالات غير موثقة، يقوم بتعديل إعدادات داخل Windows Registry.

من بين هذه التغييرات:

EveryoneIncludesAnonymous = 1

كما يضيف اسم الـ Pipe الخاص به إلى:

NullSessionPipes

لكن Routine التنظيف تحتوي على سلوك قد يسبب مشكلة إضافية.

البرمجية تسجل فقط ما إذا كانت عملية الكتابة إلى NullSessionPipes نجحت، ولا تتحقق مما إذا كان الإدخال موجودًا أصلًا قبل الإصابة.

وبالتالي فإن عملية الإزالة قد تحذف قيمة شرعية كانت موجودة قبل تثبيت البرمجية.

#مؤشرات الإصابة

نشر الباحث مجموعة من Host Indicators التي يمكن استخدامها أثناء التحقيق.

#الملفات

وجود ملف غير متوقع باسم:

text
dpapi.dll

بجوار:

text
ERAAgent.exe

أو وجود:

text
dpapisvc.dll

في نفس المسار.

#Hashes

text
SHA-256:
d347170752a28e2b8c4b8b9f3cab2e3a6541ba11682c94498d26eb9002779d60
text
MD5:
2318327b29bb1c0e2d2b5f0211fc7fac

#Registry

text
EveryoneIncludesAnonymous = 1

بالإضافة إلى وجود Entry غير متوقع داخل:

text
NullSessionPipes

لكن قيم Registry وحدها ليست دليلًا قاطعًا على الإصابة.

قيمتها الحقيقية تظهر عند مقارنتها مع Known-Good Baseline للأنظمة.

#YARA وPowerShell للكشف

نشر الباحث YARA Rule بالإضافة إلى PowerShell Scanner يعمل بوضع Read-Only لفحص المؤشرات عبر عدد كبير من الأنظمة.

لكن التوقيع نفسه ليس مقاومًا للتغييرات.

جزء من قاعدة YARA يعتمد على مفتاح AES ثابت وعلى أجزاء من الكود المترجم الخاص بالبروتوكول.

إعادة بناء البرمجية باستخدام Compiler Settings مختلفة أو تغيير المفاتيح قد يكون كافيًا لكسر بعض آليات الكشف الحالية.

وبحسب الباحث، كانت تغطية اكتشاف الملف منخفضة وقت النشر.

لكن لم يتم توضيح الأساس الذي بُني عليه هذا التقييم.

#لا توجد Attribution موثوقة حتى الآن

التحليل مبني على Binary واحد تم توفيره دون سياق واضح حول مصدره.

لذلك لم يتمكن الباحث من تحديد الجهة المسؤولة عن البرمجية، أو الضحية، أو القطاع المستهدف، أو الدولة التي قد تكون تعرضت للهجوم.

كما لم يتم إثبات أن العينة استُخدمت فعلًا داخل بيئة حقيقية.

ولا توجد حتى الآن Attribution تربط SLEEPWALKER بأي Threat Actor معروف.

حتى تاريخ 26 أغسطس 2026، لم تصدر ESET بيانًا عامًا أو Advisory حول البرمجية.

كما لم يتم العثور على إصدار عام من Analysis Toolkit أو Mitigation Guide المشار إليهما في التحليل.

#لماذا SLEEPWALKER مختلف؟

معظم البرمجيات الخبيثة تحتاج إلى التواصل مع بنية C2 لكي تستقبل الأوامر.

وهذه الاتصالات تترك آثارًا يمكن رصدها عبر DNS Logs أو Firewall Logs أو Proxy Logs أو Network Detection Systems.

SLEEPWALKER يقلب هذا النموذج.

هو لا يبحث عن خادم التحكم.

بل ينتظر أن تصل إليه الإشارة.

هذا الأسلوب يجعل غياب الاتصال الخارجي غير كاف لإثبات أن الجهاز نظيف.

كما أن دعم Raw Packet Capture وICMP وSMB وVMCI يمنح المشغل عدة طرق للوصول إلى البرمجية دون الاعتماد على قناة واحدة يمكن حظرها بسهولة.

#Magic-Packet Backdoors ليست فكرة جديدة

فكرة الأبواب الخلفية التي تنتظر Packet محددة سبق أن ظهرت في بيئات Linux.

من أشهر الأمثلة BPFDoor، الذي استخدمته جهات تهديد في شبكات اتصالات لتنفيذ Backdoor سلبي ينتظر Magic Packet قبل أن يبدأ نشاطه.

وقد وثقت Rapid7 استخدام هذا الأسلوب ضمن نشاط Red Menshen.

تفاصيل BPFDoor وRed Menshen

SLEEPWALKER ينقل الفكرة إلى Windows لكن بتصميم أكثر تعقيدًا.

هنا لا نتحدث فقط عن Packet توقظ Backdoor.

بل عن Implant يعمل داخل عملية موثوقة نسبيًا، ويتلقى Bytecode خاصًا به، ويدعم عدة قنوات اتصال، وبعضها يمكن أن يمر خارج مسارات المراقبة الشبكية المعتادة.

#الخلاصة

SLEEPWALKER ليس بابًا خلفيًا صاخبًا يبحث عن C2 على الإنترنت.

هو Implant مصمم للبقاء هادئًا داخل الذاكرة، وانتظار الإشارة الصحيحة.

لا Domains.

لا IP addresses.

لا Beaconing دوري.

وحزمة واحدة مصممة بالشكل الصحيح قد تكون كافية لتحويل النظام الصامت إلى منصة تنفيذ أوامر.

هذا النوع من البرمجيات يعيد تذكير فرق الدفاع بأن غياب الاتصالات الخارجية المشبوهة لا يعني بالضرورة غياب المهاجم.

أحيانًا يكون أخطر اتصال هو الاتصال الذي لم يبدأه الجهاز أصلًا.