مغامرات البرامج الضارة المراوغة، الجزء الرابع: حقول مستندات DDE وWord

مغامرات البرامج الضارة المراوغة، الجزء الرابع: حقول مستندات DDE وWord

هذه المقالة جزء من سلسلة Fileless Malware. جميع الأجزاء الأخرى من السلسلة:

في هذه المقالة، كنت سأتعمق في سيناريو هجوم أكثر تعقيدًا ومتعدد المراحل بدون ملفات مع التثبيت على النظام. ولكن بعد ذلك صادفت هجومًا بسيطًا للغاية، لا يحتاج إلى تعليمات برمجية، ولا يتطلب الأمر وحدات ماكرو في Word أو Excel! وهذا يثبت بشكل أكثر فعالية فرضيتي الأصلية التي تقوم عليها هذه السلسلة من المقالات: إن كسر المحيط الخارجي لأي منظمة ليس بالمهمة الصعبة على الإطلاق.

الهجوم الأول الذي سأصفه يستغل ثغرة أمنية في Microsoft Word تعتمد على عفا عليها الزمن بروتوكول تبادل البيانات الديناميكي (دي دي إي). لقد كانت بالفعل مُثَبَّت. والثاني يستغل ثغرة أمنية أكثر عمومية في Microsoft COM وقدرات نقل الكائنات.

العودة إلى المستقبل مع DDE

أي شخص آخر يتذكر DDE؟ ربما ليس كثيرا. لقد كانت واحدة من الأوائل بروتوكولات الاتصال بين العمليات التي تسمح للتطبيقات والأجهزة بنقل البيانات.

أنا شخصياً على دراية بها قليلاً لأنني كنت أفحص واختبار معدات الاتصالات. في ذلك الوقت، سمحت بورصة دبي للماس، على سبيل المثال، لمشغلي مراكز الاتصال بنقل معرف المتصل إلى تطبيق إدارة علاقات العملاء، مما أدى في النهاية إلى فتح بطاقة العميل. للقيام بذلك، كان عليك توصيل كابل RS-232 بين هاتفك وجهاز الكمبيوتر الخاص بك. كانت تلك الأيام!

وكما تبين، فإن برنامج Microsoft Word لا يزال موجودًا يدعم ددي.

ما يجعل هذا الهجوم فعالاً بدون تعليمات برمجية هو أنه يمكنك الوصول إلى بروتوكول DDE مباشرة من الحقول التلقائية في مستند Word (نرفع القبعات إلى SensePost لـ البحوث والمنشورات حوله).

رموز الحقول هي إحدى ميزات MS Word القديمة الأخرى التي تسمح لك بإضافة نص ديناميكي وقليل من البرمجة إلى المستند الخاص بك. المثال الأكثر وضوحًا هو حقل رقم الصفحة، والذي يمكن إدراجه في التذييل باستخدام القيمة {PAGE *MERGEFORMAT}. وهذا يسمح بإنشاء أرقام الصفحات تلقائيًا.

مغامرات البرامج الضارة المراوغة، الجزء الرابع: حقول مستندات DDE وWord
تلميح: يمكنك العثور على عنصر القائمة "حقل" ضمن "إدراج".

أتذكر أنني عندما اكتشفت هذه الميزة لأول مرة في Word، اندهشت. وحتى يقوم التصحيح بتعطيله، لا يزال Word يدعم خيار حقول DDE. كانت الفكرة هي أن DDE سيسمح لـ Word بالاتصال مباشرة بالتطبيق، بحيث يمكنه بعد ذلك تمرير مخرجات البرنامج إلى مستند. لقد كانت تقنية حديثة جدًا في ذلك الوقت - دعم تبادل البيانات مع التطبيقات الخارجية. وقد تم تطويره لاحقًا إلى تقنية COM، والتي سننظر إليها أيضًا أدناه.

في النهاية، أدرك المتسللون أن تطبيق DDE هذا يمكن أن يكون عبارة عن غلاف أوامر، والذي بالطبع أطلق PowerShell، ومن هناك يمكن للمتسللين فعل ما يريدون.
توضح لقطة الشاشة أدناه كيف استخدمت تقنية التخفي هذه: يقوم برنامج PowerShell النصي الصغير (المشار إليه فيما يلي باسم PS) من حقل DDE بتحميل برنامج PS برمجي آخر، والذي يبدأ المرحلة الثانية من الهجوم.

مغامرات البرامج الضارة المراوغة، الجزء الرابع: حقول مستندات DDE وWord
شكرًا لنظام التشغيل Windows على التحذير المنبثق بأن حقل DDEAUTO المدمج يحاول سرًا بدء تشغيل الغلاف

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

باعتبارك متسللًا مبتدئًا، يمكنك، على سبيل المثال، إرسال بريد إلكتروني للتصيد الاحتيالي، والتظاهر بأنك من دائرة الضرائب الفيدرالية، وتضمين حقل DDEAUTO مع البرنامج النصي PS للمرحلة الأولى (قطارة، بشكل أساسي). ولا تحتاج حتى إلى القيام بأي ترميز حقيقي لوحدات الماكرو، وما إلى ذلك، كما فعلت في ذلك المقال السابق.
يفتح الضحية المستند الخاص بك، ويتم تنشيط البرنامج النصي المضمن، وينتهي الأمر بالمتسلل داخل الكمبيوتر. في حالتي، يقوم البرنامج النصي PS عن بعد بطباعة رسالة فقط، ولكن يمكنه بسهولة تشغيل عميل PS Empire، والذي سيوفر الوصول إلى Shell عن بعد.
وقبل أن يتاح للضحية الوقت لقول أي شيء، سيتبين أن المتسللين هم أغنى المراهقين في القرية.

مغامرات البرامج الضارة المراوغة، الجزء الرابع: حقول مستندات DDE وWord
تم إطلاق الصدفة دون أدنى قدر من الترميز. حتى الطفل يستطيع أن يفعل ذلك!

DDE والحقول

قامت Microsoft لاحقًا بتعطيل DDE في Word، ولكن ليس قبل أن تعلن الشركة أن الميزة قد أسيء استخدامها. إن إحجامهم عن تغيير أي شيء أمر مفهوم. في تجربتي، رأيت بنفسي مثالاً حيث تم تمكين تحديث الحقول عند فتح مستند، ولكن تم تعطيل وحدات ماكرو Word بواسطة قسم تكنولوجيا المعلومات (ولكن يظهر إشعار). بالمناسبة، يمكنك العثور على الإعدادات المقابلة في قسم إعدادات Word.

ومع ذلك، حتى إذا تم تمكين تحديث الحقل، يقوم Microsoft Word بالإضافة إلى ذلك بإعلام المستخدم عندما يطلب أحد الحقول الوصول إلى البيانات المحذوفة، كما هو الحال مع DDE أعلاه. مايكروسوفت تحذرك حقًا.

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

ما مدى صعوبة العثور على نظام Windows غير مُصحح اليوم؟

في هذا الاختبار، استخدمت AWS Workspaces للوصول إلى سطح مكتب افتراضي. بهذه الطريقة حصلت على جهاز ظاهري لـ MS Office غير مُصحح مما سمح لي بإدراج حقل DDEAUTO. ليس لدي أدنى شك في أنه يمكنك العثور بطريقة مماثلة على شركات أخرى لم تقم بعد بتثبيت تصحيحات الأمان اللازمة.

سر الكائنات

حتى لو قمت بتثبيت هذا التصحيح، فهناك ثغرات أمنية أخرى في MS Office تسمح للمتسللين بالقيام بشيء مشابه جدًا لما فعلناه مع Word. في السيناريو التالي سوف نتعلم استخدم برنامج Excel كطعم لهجوم التصيد دون كتابة أي تعليمات برمجية.

لفهم هذا السيناريو، دعونا نتذكر نموذج كائن مكون Microsoft، أو باختصار COM (نموذج كائن المكون).

كان COM موجودًا منذ التسعينيات، ويتم تعريفه على أنه "نموذج مكون محايد للغة وموجه للكائنات" يعتمد على استدعاءات الإجراء البعيد لـ RPC. للحصول على فهم عام لمصطلحات COM، اقرأ هذا المشنور على ستاكوفرفلوو.

في الأساس، يمكنك اعتبار تطبيق COM بمثابة ملف Excel أو Word قابل للتنفيذ، أو أي ملف ثنائي آخر يتم تشغيله.

اتضح أنه يمكن أيضًا تشغيل تطبيق COM سيناريو - جافا سكريبت أو 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:Windowssystem32Printing_Admin_Scripts. بالمناسبة، هناك أدوات مساعدة أخرى لنظام Windows تقبل الكائنات كمعلمات. دعونا ننظر إلى هذا المثال أولا.

مغامرات البرامج الضارة المراوغة، الجزء الرابع: حقول مستندات DDE وWord
من الطبيعي أن يتم إطلاق الصدفة حتى من نص الطباعة. اذهب مايكروسوفت!

كاختبار، قمت بإنشاء برنامج نصي بسيط عن بعد يطلق الصدفة ويطبع رسالة مضحكة، "لقد تم كتابتك للتو!" بشكل أساسي، يقوم pubprn بإنشاء كائن نصي، مما يسمح لتعليمة VBScript البرمجية بتشغيل غلاف. توفر هذه الطريقة ميزة واضحة للمتسللين الذين يريدون التسلل إلى نظامك والاختباء فيه.

في المقالة التالية، سأشرح كيف يمكن استغلال البرامج النصية لـ COM بواسطة المتسللين باستخدام جداول بيانات Excel.

بالنسبة لواجبك المنزلي، ألق نظرة هذا الفيديو من Derbycon 2016، وهو ما يشرح بالضبط كيف استخدم المتسللون البرامج النصية. واقرأ أيضا هذا المقال حول البرامج النصية ونوع من اللقب.

المصدر: www.habr.com

إضافة تعليق