تحليل ماكرو خبيث في ملفات الورد شرح تفصيلي

السلام عليكم

واهلا بكم في هذه التدوينه سوف اشرح عملية تحليل لملف ورد يحتوي على ماكرو لتنفيذ اوامر على الجهاز والتواصل مع سيرفر c2 للحصول على التعليمات والاوامر لتنقيذها

في البدايه بعد تنزيل الملف استخدمت اداه olevba لاستخراج كود الماكرو

بعد ذلك قمت بنسخ الكود لتحليله

في البداية

تم انشاء متغير اسمه pattern

بعد ذلك استخدام دالة document_open والتي تنفذ الكود بداخلها عند فتح الملف

في داخل الداله document_open تم استدعاء الدالة main و الدالة DialogUserInfo

في داخل الدالة main تم اسناد عدد من العناصر للمتغير pattern وهي تستخدم لعملية deobfuscation كما سنشاهد

ثم تم انشاء متغيرين من نوع string وهما pathSave و myRoutin

تم اسناد الداله Environ للمتغير pathSave حيث ان الدالة Environ تتيح الوصول للمتغيرات في بيئة الوندوز

مثال عندما نريد معرفة المسار الكامل لمجلد appdata نقوم باستخدام الداله Environ(“AppData”)

نجد انه تم استخدام دالة clearText(“Ap6pp6pDa1at0ta1a”)

بداخل دالة environ حيث يتضح ان الدالة clearText تقوم بتنظيف الكود deobfiscate من الشوائب

للتوضح اكثر عن عمل الدالة clearText

كما تلاحظون عملها بسيط تقوم بتجزئة المتغير pattern باستخدام الفاصلة كجزء فاصل بين الاجزاء بعد ذلك تبحث عن هذه الاجزاء في النص المدخل وتقوم بازالته عن طريق تبديله بـ “” ثم تعيد النص بعد التعديل

الان نقدر نفك التشويش من الكود لفهمه اكثر

هنا نلاحظ قبل فك التشويش وبعد فك التشويش

بعد كذا نشوف اللي بعده اللي هو المتغير myRoutin

كما نشاهد تم اسناد دالة modifyText الى المتغير myRoutin حيث ان الداله من نوع string

بعد ذلك تم اجراء عملية ابدال لفك تشويش وترتيب النص واعادته للمتغير myRoutin

في البداية تم استبدال ** بـ vbCrLf والتي تعني نهاية سطر “Visual Basic Carriage Return Line Feed” اي تنهي السطر وتبدا من سطر جديد

ثم يتم استبدال ‘ بـ Chr(34) والتي تعني ” اي استبدل علامه تنصيص واحده بعلامتي تنصيص

واخيرا استبدال “”# بـ ‘

الدالة modifyText تحتوي نص مشوش ويتم فك تشويشه بطريقة الداله clearText و الاستبدال لترتيب النص

لنرى محتوي modifyText قبل عملية الاستبدال وبعد الاستبدال

before
after

حيث يقوم بكتابة النص بعد فك التشويش الى ملفين text و vba

الان تم كتابة ملف جديد يحتاج لتحليل

الان نبدا في فك التشويش عن بعض المتغيرات ولتسهيل المهمه سوف نستخددم الدوال المستخدمه مع داله MsgBox لطباعة القيمة بعد فك التشويش

هنا تم استخراج عناوين c2

هنا تم استخراج user-agent

نقوم بعد ذلك باستبدال الكود وتعديل بعض اسماء المتغيرات والدوال لتصبح اكثر وضوح

وهنا النتيجه النهائية

فكره عمل الكود يقوم فالبدايه بتنفيذ الامر whoami ويتم اخذ نتيجة الامر وارسالها في طلب Get الى c2

http://107%5B.%5D174.68%5B.%5D60/getCommand?guid=KK-ak-pcname-ak

طبعا يتم استخدام user-agent خاص في الطلب

ومحتوى الصفحة للرد يكون عبارة عن امر اخر لتنفيذه او empty اي لاتنفذ اي امر

ويشيك السكربت كل فتره على الصفحه للحصول على امر جديد لتنفذه

اذا حصل امر جديد يقوم بتنفيذه وارسال النتيجه في طلب POST

وهنا مؤشرات الاختراق

File_hash: 8e99c479e41e0121e3dc57e2c6156b9b

C2 IPs

192.227.147.152

107.174.68.60

ويمكن البحث في proxy logs عن user-agent

Mozilla/4.0 (compatible; ms-office; MSOffice 16)

واتمنى يكون الشرح واضح ولاي استفسار او سؤال يمكنكم التواصل معي

@AKMalware

مقال يشرح Obfuscation وكيف عمل Deobfuscation للاكواد الجزء الاول

تعريف Obfuscation ويعني التشويش وهو عدم القدرة على فهم الكود البرمجي المكتوب.

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

في هذه الاجزاء سوف نشرح استخدامها وطريقة فك التشويش deobfuscate لعدد من اللغات (PHP, PowerShell,Javascript,.net,VBA,ASP)

سوف نبدا مع PHP كجزء أول

كما تلاحظون في الصورة التالية الكود المبدئي الذي نود ان نقوم بالتشويش عليه Obfuscate

وهنا بعد استخدامنا لموقع https://php-minify.com/php-obfuscator/ لعمل تشويش على الكود

كما تلاحظون المخرجات متطابقة كما في الكود الاول ولكن الكود اصح اعقد وصعب قرائته وفهمه

لفهم الكود علينا اولا ان نقوم بترتيبه لجعهله اوضح واسهل عند القراءه سوف استخدم محرر sublime text

عند فتح الملف سوف يظهر بالشكل التالي ولكي يتم ترتيبة نقوم بالبحث والاستبدال عن نهاية الجملة في php

“;” ونستبدلها بـ “;\n” كما في الصورة ولاننسى تفعيل خيار regex

بعد الاستبدال نرى النتيجة النهائية

* هذه الطريقة ايضا يمكن استخدامها مع notepad++

هنا اصبح الكود افضل من قبل ولكن لازال غير مفهوم ولكي يتم فهمه بالكامل نبدا بتحليل قيمة المتغيرات فمثلا

المتغير $name

$name = "\x41\113\115\x61\154\x77\x61\x72\x65";

المحتوى عبارة عن خليط hex و Octal حيث ان 41 hex يساوي A

يمكن القيام بطباعتها باستخدام php command

في بعض الاحيان يتم استخدام base64 مع دالة eval كما في المثال التالي

بسهولة نستبدل eval بدالة الطباعة print

كما تلاحظون تم طباعة الكود في المتصفح بعد فك base64

هنا ينتهي الدرس وسوف نستكمل الاجزاء الاخرى قريبا

رسالة انتحالية لطلب سداد رسوم توصيل للبريد السعودي

صورة الصفحة المزيفة

وصلني بريد منتحل صفة البريد السعودي فشل في توصيل احد الشحنات بسبب عدم اكتمال البيانات و يطلب سداد رسوم للتوصيل.

وقد انتشر هذا البريد في الاونه الاخيره فقررت محاوله كشف ومعرفه معلومات اكثر عن الاسلوب وطريقه عمل الصفحة.

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

هنا صار الموضوع اسهل لانه نقدر ننزل السورس كود ونشوف الاسلوب.

عند دخول الزائر للصفحة يتم اولا فحص عنوان الاي بي والتاكد من انه ليس بوت من محركات البحث بعد ذلك يتم انشاء مجلد برقم اي بي الزائر مع هاش عشوائي خاص بكل زائر

ويتم التوجيه للصفحه الخاصه به للدفع

كما هو ملاحظ في السورس كود عند اكمال البيانات يتم استخدام تلقرام api لارسال البيانات لصاحب الصفحة حيث لاتخزن عالموقع او ترسل على بريد إلكتروني

قمت بالاتصال بالرابط وارسال حرف a للتجربة

بعد العثور على القناة الخاصة بالتبليغ عن الضحايا عثرت على عدد من الرسائل تحتوي على بيانات الضحايا

كما تلاحظون الحرف a الذي ارسلناه مسبقا

عند مراجعة ال access logs للموقع عثرت على عنوان الاي بي لصاحب السكربت

تم ابلاغ صاحب الموقع ورفع بلاغ للتلقرام بخصوص البوت

وتقبلو اجمل التحايا

معلومات عن موقع ينتحل صفحة وزارة الداخلية السعودية لتخويف الزائر وطلب مبلغ مالي

صفحة الموقع الرئيسية

اهلا بكم

نبدأ تحليل للموقع الذي ينتحل صفحة وزارة الداخلية ويقوم بتهديد الزائر بمخالفته للقوانين ويطلب دفع مبلغ مالي.

في البداية كيف يصل الزائر الى هذا الموقع. هذه المواقع عادة تستخدم محركات البحث للوصول الى الزوار وحيث تركز على الكلمات الطويلة في البحث فتكون هي في الصفحة الاولى.

مثال للبحث

فعند دخول الزائر للموقع وعند ضغط زر الفاره في الصفحة تفتح نافذه جديدة وبحسب نوع جهاز (user-agent) الزائر يتم توجيهة

صفحة الموقع
الكود المسؤول عن فتح نافذه وتوجية الزائر

فمثلا لو كان الجهاز وندوز يتم التوجية الى الصفحة المزورة لوزارة الداخلية

عند الدخول للصفحة يتم تكبير وملء الشاشة بالصفحة والتي تم تصميمها كسطح مكتب وندوز ١٠ مع متصفح كروم. وفيها التهديد ونموذج ادخال بيانات بطاقة الفيزا للدفع

بعد ادخال بيانات الفيزا يتم طلب كود التوثيق

الكود الخاص بعرض المحتوىوامعالجة عملية الدفع تم عمل تشفير(Obfuscation) له عن طريق base64 وذلك ربما لتجاوز حماية بعض الانظمة.

حيث يمكن فك التشفير عن طريق داله base64 في اغلب لغات البرمجة او عن طريق موقع https://gchq.github.io/

عند التجربة بتغيير user-agent الى Android يتم التحويل الى صفحات تقوم بتنزيل apk file سوف يتم تحليله لاحقا.

وعند تغيير user-agent الى IOS يتم تحويل الزائر الى صفحة تطلب الوصول الى التقويم

وتقبلو اجمل التحايا

مجموعة MoonLight Maze/Turla للاختراق

في هذه المدونة سوف اكتب بعض التفاصيل عن مجموعة MoonLight Maze/Turla للاختراق وهو من اقدم مجموعات الاختراق وهي مجموعة روسية تتبع للحكومة الروسية حسب مايشاع.

في عام 1996 بتاريخ 7 اكتوبر في احد المعامل  التابعه لجامعة كولورادو للمعادن في ولاية كولورادو لاحظ احد مدراء الانظمة سلوك غير طبيعي في احد الاجهزة وقام بابلاغ البحريه الامريكية حيث كاانو متعاقدين معهم في تلك الفتره حيث ان ماعثر عليه هو rootkit  تم زرعه على نظام sun OS  ولم يستطيعو اكتشاف كيف تم تثبيت البرنامج ومتى.

في ديسمبر من نفس العام 1996 احد الانظمة التابعة للبحرية الامريكية تم اختراقة

في عام 1997 وزارة الطاقة الامريكية قامت بتسجيل العديد من محاولات الدخول تقريبا 324 brute force  على انظمتها وبعضها كان ناجح وهذه المحاولات كان مصدرها موسكو احد عناوين الانترنت في روسيا.

في عام 1998 تاريخ 1 يونيو لاحظ احد مدراء الانظمة في احد قواعد الجوية العسكرية الامريكية في اوهايو  اتصالات غريبة من احد السيرفرات وبعد التحقيق عثرو على احد سيرفرات c2  في لندن وقامو بالتواصل مع مالك السيرفر لطلب السجلات الخاصه بالسيرفر وعثر في سجلات الاف تي بي اتصالات لعدة جهات عسكرية وحكومية امريكية  وتمت مراقبه السيرفر وحفظ ترافيك الجهاز وكان اسم السيرفر hrtest  وعثر على بعض الادوات الخاصه بالمهاجمين. صورة للسيرفر HRTest undefined

عند مراجعة الاحداث المسجلة في الجهاز HRTest  حيث تم معرفة الثغرة التي تم استغلالها من قبل المهاجمين حيث كانت الثغرة في احد ملفات CGI  اسمه phf  وهو مختص بعرض صفحات الويب وكانت الثغرة تستغل لتنفيذ اوامر على السيرفر

http://server/cgi-bin/phf?Qalias=%ff/bin/cat%20/etc/passwd

أثناء تحليل الاحداث في السيرفر وجد المحللون نشاط المهاجمون يبدا من الساعه 5 بتوقيت جرينتش اي الساعه 8 بتوقيت روسيا undefined

صورة توضح حركة البيانات من سيرفر C2 HRTestundefined

الادوات الخاصة بالمهاجمين وعثر عليها في السيرفرundefined

بعد قراءة الملفات المهمه ومعرفة كلمات المرور كان المهاجمون يقومون بالاتصال باستخدام الحسابات المسروقة عن طريق تلنت للدخول وكان. عثر على بعض الادوات المستخدمة من قبل المجموعة في جهاز HRTest   من الادوات سكربت bash  يقوم بجمع المعلومات عن الجهاز المخترق

undefined

استغل المهاجمين المنشاءات التعليمية لاستخدامها كسيرفرات تحكم  c2 وذلك لقلة الاهتمام بالحماية وايضا لارتباطها بجهات عسكرية للابحاث حيث يستخدم المهاجمون يوزرات خاصة بالعاملين في معامل الابحاث فالجامعه للدخول لانظمة الجهات الحكومية والعسكرية.

في عام 1999 شهر يناير تم بدء مجموعة تسمى   Joint Task Force-Global Network Operations (JTF-GNO) وكانت مهمتها حماية الشبكات الخاصة بالحكومة والجيش وكانت اولى المهام هي التحقيق في عمليات Moonlight Maze

وبعد التحقيق والتحليل وجدو ان المهاجمين استفتدو من قائمة Militarily Critical Technologies List وهي قائمة تضم التقنيات المتسخدمه لدى الجيش وتحتوي ايضاء على اسماء الجهات البحثية والتعليمية المتعاونة واسماء الباحثين. حيث استخدمها المهاجمون كقائمة الاهداف المراد اختراقها.

في فبراير من نفس العام 1999 تسربت بعض الوثائق من تحقيقات ال  FBI  ونشرت الصحف عن الحادثه فقرر ال FBI  الهجوم على المهاجمين بطريقة ذكية حيث قامو بانشاء ملف pdf  عند فتحه يطلب برنامج معين لقراءة الملف بشكل جيد وعند الضغط على رابط القارىء يعرفون عنوان الاي بي للجهاز وفعلا نجحت وحصلو على عنوان اي بي ولكن لم يثبت اي شي عن مكان المجموعة بعد ذلك قرر ال FBI  ارسال فريق الى موسكو للبحث في الموضوع حتى يعرفون هل هم مجموعة من المجرمون ام مجموعه تابعه للحكومة.

صورة للخبر المنشور عام 1999 في صحيفة The Sundy Times, London

undefined

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

بعد ذلك بدأ الاهتمام الحكومي بالعملية يرتفع وتم اتباع سياسة عدم افشاء اي معلومات عنها

وفي عام 2008 تم تدمير جميع الادلة التي جمعتها الاف بي اي عن المهجوم حسب الوثيقة التالية.

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

undefined

الجدير بالذكر انه في عام 2014 ظهرت ادلة تشير الى تطور مجموعة MoonLight Maze  لما يمسى بمجموعة Turla سوف نتطرق لها في مقالة اخرى

يعتقد الباحثون ان فريق  Moonlight maze  قد تطور الى مايسمى فريق Turla  حيث يعتبر من اخطر المجموعات المتقدمة في مجال الاختراق والتجسس. ولهم عدة تسميات مثل Snake, Uroburos, Venomous Bear , Krypton  . حيث تعتبر المجموعة نشطة منذ 2007 طبعا فيما يخص ارتباط Turla  بمجموعة MoonLight Maze  لايوجد اي ادلة قطعية ولكن ظهرت دراسات وتحليلات تشير الى ارتباطهم  واستخدام TURLA  لادوات MoonLight Maze .

المراجع:

النقر للوصول إلى Penquins_Moonlit_Maze_PDF_eng.pdf