
هذا المقال جزء من سلسلة Fileless Malware. جميع أجزاء السلسلة الأخرى:
في هذه المقالة ، كنت على وشك الانغماس في سيناريو أكثر تعقيدًا متعدد المراحل من هجوم خالٍ من الملفات مع إصلاح في النظام. ولكن بعد ذلك صادفت هجومًا بسيطًا للغاية بدون رمز - لا توجد وحدات ماكرو Word و Excel مطلوبة! وهذا يثبت بشكل أكثر كفاءة فرضيتي الأولية التي تقوم عليها هذه السلسلة من المقالات: التغلب على المحيط الخارجي لأي منظمة هي مهمة بسيطة للغاية.
يستغل الهجوم الأول الذي سأصفه مشكلة عدم حصانة Microsoft Word ، التي تستند إلى
بروتوكول تبادل البيانات الديناميكي القديم (DDE) . لقد تم بالفعل
إصلاحها . يستغل الثاني مشكلة عدم حصانة أكثر عمومية في Microsoft COM وقدرات نقل الكائن.
العودة إلى المستقبل مع DDE
هل يتذكر أي شخص آخر DDE؟ ربما قليلة. كان هذا أحد أول
بروتوكولات الاتصال بين العمليات التي سمحت للتطبيقات والأجهزة بنقل البيانات .
أنا نفسي على دراية بها قليلاً ، لأنني اعتدت فحص معدات الاتصالات واختبارها. في ذلك الوقت ، سمحت DDE ، على سبيل المثال ، بنقل معرف المتصل إلى تطبيق CRM لمشغلي مركز الاتصال ، مما أدى في النهاية إلى فتح بطاقة العميل. للقيام بذلك ، كان عليك توصيل كبل RS-232 بين الهاتف والكمبيوتر. هنا كانت الأيام!
كما اتضح فيما بعد ، لا يزال Microsoft Word
يدعم DDE.
ما يجعل هذا الهجوم فعالًا بدون تعليمات برمجية هو أنه يمكنك الوصول إلى بروتوكول DDE
مباشرة من الحقول التلقائية لمستند Word (أقلع قبعتي إلى SensePost
للبحث عنها
ونشرها ).
رموز الحقول هي ميزة MS Word قديمة أخرى تسمح لك بإضافة نص ديناميكي وقليل من البرمجة إلى مستند. المثال الأكثر وضوحا هو حقل رقم الصفحة ، والذي يمكن إدراجه في تذييل الصفحة باستخدام القيمة {PAGE \ * MERGEFORMAT}. يسمح لك هذا بإنشاء أرقام الصفحات تلقائيًا.
تلميح: يمكنك العثور على عنصر قائمة الحقل في قسم "إدراج".أتذكر أنه عندما اكتشفت هذه الميزة لأول مرة في Word ، لقد دهشت. وطالما أن التصحيح لم يتم تعطيله ، فقد دعم Word معلمة حقل DDE. كانت الفكرة هي أن DDE سيسمح لـ Word بالاتصال بالتطبيق مباشرة ، لإمكانية نقل إخراج البرنامج إلى مستند. لقد كانت تقنية حديثة للغاية في ذلك الوقت - دعم لتبادل البيانات مع التطبيقات الخارجية. في وقت لاحق تم تطويره في تكنولوجيا COM ، والتي سننظر فيها أيضًا أدناه.
نتيجةً لذلك ، أدرك المتسللون أن تطبيق DDE هذا يمكن أن يكون بمثابة أمر قيادة ، يقوم بالطبع بتشغيل PowerShell ، ومن هناك يستطيع المتسللون القيام بما يريدون.
توضح لقطة الشاشة أدناه كيف استخدمت هذه التقنية السرية: يقوم برنامج نصي PowerShell صغير (يشار إليه فيما يلي باسم PS) من حقل DDE بتحميل نص PS آخر يقوم بتشغيل المرحلة الثانية من الهجوم.
بفضل Windows للتحذير المنبثق من أن الحقل المدمج في DDEAUTO يحاول سرا بدء تشغيل shellتتمثل الطريقة المفضلة لاستغلال مشكلة عدم الحصانة في استخدام الخيار مع حقل DDEAUTO ، الذي يقوم تلقائيًا بتشغيل برنامج نصي
عند فتح مستند Word.
دعونا نفكر فيما يمكننا القيام به حيال ذلك.
بصفتك متسلل مبتدئ ، يمكنك ، على سبيل المثال ، إرسال بريد إلكتروني للتصيد الاحتيالي ، يتظاهر بأنه من مصلحة الضرائب الفيدرالية ، وقم بتضمين حقل DDEAUTO بنص PS في المرحلة الأولى (قطارة في الواقع). ولا تحتاج حتى إلى القيام بأي تشفير حقيقي لوحدات الماكرو ، إلخ ، كما فعلت في
المقالة السابقة.يفتح الضحية المستند الخاص بك ، ويتم تنشيط البرنامج النصي المدمج ، ويكون المتسلل داخل الكمبيوتر. في حالتي ، يطبع البرنامج النصي PS عن بُعد الرسالة فقط ، لكن يمكنه أيضًا تشغيل عميل PS Empire بسهولة ، والذي سيوفر الوصول عن بُعد إلى shell.
وقبل أن يتوفر للضحية الوقت ليقول أي شيء ، سيكون المتسللون أغنى مراهقين في القرية.
تم إطلاق قذيفة دون أدنى ترميز. حتى الطفل يمكن أن يفعل ذلك!DDE والحقول
فيما بعد ، لا تزال Microsoft تقوم بتعطيل DDE في Word ، لكن قبل ذلك ، قالت الشركة إن هذه الميزة قد أسيء استخدامها ببساطة. عدم رغبتها في تغيير شيء ما أمر مفهوم. من تجربتي الخاصة ، لاحظت بنفسي مثالًا على أن تحديث الحقول عند فتح المستند مُمكّن ، ولكن وحدات ماكرو Word تم تعطيلها بواسطة خدمة تكنولوجيا المعلومات (ولكن مع إشعار). بالمناسبة ، يمكنك العثور على المعلمات المقابلة في قسم إعدادات Word.
ومع ذلك ، حتى إذا تم تمكين التحديث الميداني ، فإن Microsoft Word سوف يخطر المستخدم بالإضافة إلى ذلك عندما يطلب أحد الحقول الوصول إلى البيانات المحذوفة ، كما هو الحال مع DDE أعلاه. مايكروسوفت تحذرك حقا.
ولكن على الأرجح ، سيظل المستخدمون يتخطون هذا التحذير وينشطون تحديث الحقل في Word. هذه هي إحدى الفرص النادرة لشكر Microsoft على تعطيل ميزة DDE الخطرة.
ما مدى صعوبة العثور على نظام Windows غير مسبوق اليوم؟
بالنسبة لهذا الاختبار ، استخدمت مساحات عمل AWS للوصول إلى سطح المكتب الافتراضي. وهكذا ، حصلت على جهاز افتراضي غير مسبوق مع MS Office ، مما سمح لي بإدخال حقل DDEAUTO. لا أشك في أنه يمكنك بطريقة مماثلة العثور على شركات أخرى لم تقم بعد بتثبيت تصحيحات الأمان الضرورية.
لغز الأشياء
حتى إذا قمت بتثبيت هذا التصحيح ، فهناك ثغرات أمنية أخرى في MS Office تسمح للمتسللين بعمل شيء مشابه تمامًا لما فعلناه باستخدام Word. في السيناريو التالي ، سوف نتعلم كيفية
استخدام Excel كطعم لهجوم تصيد دون كتابة التعليمات البرمجية.لفهم هذا السيناريو ، دعنا نتذكر Microsoft
Component Object Model ، أو
COM المختصرة
(Component Object Model) .
COM موجود منذ التسعينات ، ويتم تعريفه على أنه "نموذج مكون موجه للكائن محايد بلغة البرمجة" بناءً على استدعاءات إجراءات RPC عن بُعد. لفهم عام لمصطلحات COM ، اقرأ
هذا المنشور على StackOverflow.
على العموم ، يمكنك أن تتخيل تطبيق COM باعتباره ملف Excel أو Word قابل للتنفيذ ، أو بعض الملفات الثنائية الأخرى التي يمكن إطلاقها.
اتضح أن تطبيق COM يمكنه أيضًا تشغيل برنامج
نصي - JavaScript أو VBScript. من الناحية الفنية ، وهذا ما يسمى البرنامج
النصي . ربما تكون قد واجهت ملحق sct للملفات الموجودة على Windows - هذا هو الملحق الرسمي للنصوص. في الحقيقة ، فهي رمز البرنامج النصي المُلف في غلاف XML:
<?XML version="1.0"?> <scriptlet> <registration description="test" progid="test" version="1.00" classid="{BBBB4444-0000-0000-0000-0000FAADACDC}" remotable="true"> </registration> <script language="JScript"> <![CDATA[ var r = new ActiveXObject("WScript.Shell").Run("cmd /k powershell -c Write-Host You have been scripted!"); ]]> </script> </scriptlet>
اكتشف المتسللون والمخترقون أن هناك أدوات مساعدة وتطبيقات منفصلة على Windows تقبل كائنات COM ، وبالتالي ، سكريبتات أيضًا.
يمكنني تمرير البرنامج النصي إلى أداة مساعدة Windows مكتوبة في VBS ، والمعروفة باسم pubprn. وهو موجود في أحشاء C: \ Windows \ system32 \ Printing_Admin_Scripts. بالمناسبة ، هناك أدوات مساعدة Windows أخرى تأخذ الكائنات كمعلمات. للبدء ، فكر في هذا المثال.
من الطبيعي فقط إطلاق القذيفة حتى من نص مطبوع. اذهب مايكروسوفت!كاختبار ، قمت بإنشاء نص برمجي بسيط عن بعد يقوم بتشغيل shell ويطبع رسالة مضحكة "لقد تمت كتابتك للتو!". بشكل أساسي ، تقوم pubprn بإنشاء مثيل للكائن النصي ، مما يسمح لـ VBScript بتشغيل shell. توفر هذه الطريقة فوائد واضحة للمتسللين الذين يريدون التسلل والاختباء في نظامك.
في المنشور التالي ، سأشرح كيف يمكن استخدام برامج COM النصية من قبل المتسللين الذين يستخدمون جداول بيانات Excel.
لأداء واجبك ، شاهد
مقطع فيديو Derbycon لعام 2016 الذي يشرح كيف استخدم المتسللون البرامج النصية. وقراءة
هذا المقال أيضًا حول البرامج النصية ونوع من اللقب.