حل تحدي LetsDefend - PDF Analysis Challenge

CTF Walkthrough
حل تحدي PDF-analysis وتحليل الملفات الضارة و كيفية التعامل معها مثل محللين البرميجات الخبيثة المحترفين
Mohab yehia
Feb. 1, 2023, 5:12 p.m.
mohab
حل تحدي LetsDefend - PDF Analysis Challenge

لقد طلب موظف منك كمحلل للبرميجات الخبيثة أو soc analyst أن تقوم بتحليل ملف في صيغة pdf قد أرسل إلي الشركة مرفق ببريد ألكتروني، يطلب منك الموظف أن تقوم بالتحقق من مصداقية وشرعية هذا الملف. 

LetsDefend - PDF Analysis Challenge

لا تقم بتنزيل الملف في بيئة عملك الخاصة، قم بتنزيله علي نظام وهمي حتي لا يتضرر جهازك او يتم اتلاف بياناتك .

أولا علينا أن نقوم بأستخدام أداة تحلل الملف لنا حتي نفهم طبيعة عمل الملف أو ما الذي يجود بداخله لذلك سوف سنتخدم peepdf tool أنها أداة مختصة بتحليل الملفات البرمجية الخبيثة كما تحتوي علي كثير من الوظائف الاخري .

python2 peepdf.py -i -f Update.pdf

أن إستخدام الـ argument -i لكي تكون الأداة في وضع الـ console mode و الـ argument -f وهو وضع الـ force mode كي تقوم الأداة بتجاهل الأخطاء .

كمحلل برمجيات خبيثه عليك أن تتمهل وتدون ملاحظاتك، نري أن الملف يحتوي علي عدد من الـ objects من 1 الي 36 إذا أخذت تحلل كل واحد من هذا الـ objects علي حدي سوف يأخذ منك وقت طويلاً، لذلك أستخدمنا peepdf حتي تقسم الـ objects لنا .

نري ان الـ objects التي تحتوي علي جافا اسكربت كود هي 26, 33 و الـ objects المسؤولة عن أن تقوم بتشغيل كائن آخر هي 19, 26 ,17  و التي تحاول أن تقوم بعملية أنشاء أو launch هي 19, 26 تذكر ذلك جيداً لاننا سوف نستخدمه فيما بعد، الأن للنتقل الي التحدي .

حسنا بتحليل بعض الـ objects نري أن الكائن الذي يحاول حقن شيء ما او عمل launch هو 19, 26  لذلك لنتفحص كل منهما .

كما نري هناك أمر يتم عمل run له بأستخدام الـ powershell ولكن الأمر تم تشفيرها بأستخدام base64، سوف نستخدم أداة cyberchef لكي نقوم بفك التشفير .

ملحوظة : 

عليك أن تستخدم from base64 لكي يقوم بفك التشفير وتستخدم معه reverse لكي يقوم بعمل هندسة عكسية علي الامر .

سوف تجد ان الـ local directory المستهدف من قبل الملف هو c:\documents\.

Compress-Archive -Path C:%Documents%* -Update -DestinationPath C:%Documents%zniwkejnnwnqw%D0csz1p

اذا ألقيت نظرة علي الـ command بالكامل سوف تجد أن الملف الخبيث يحاول انشاء file اسمه D0csz1p .

من النظر الي اسم المف تستطيع ان تعرف ان صيغة الملف الذي يحاول الـ malware انشاءه هو zip .

ان الـ objects المسؤولة عن ان تقوم بتشغيل كائن اخر هي 19, 26 ,17 لنقم بتحليلها .

ان الـ object 17 يحاول ان يقوم بعمل run للـ object 33 لذلك علينا تحليل object 33.

من النظر الي الكود سوف تري  eval function  وهي function in javascript مسؤولة عن ان تقوم بعمل evaluates لنص او string ككود javasctipt ثم تقوم بعد ذلك بتنفيذ (execute) ذلك الكود ، لا تقلق ان لم تكن تفهم جيدا وظائف الـ function في الـ js ، لأننا سوف نستخدم موقع unpacker حتي نفهم بشكل اوضح ألية عمل الكود .

بعد ان قمنا بعمل unpack للكود ، نري ان الـ malware يحاول ان يقوم بالتواصل مع نطاق (Domain) filebin.net .

اذا نظرت في الأسفل قليلا بعد ان قومنا بعمل unpack للكود سوف تري ان الـ http method المستخدمه هي POST.

ان الـ obfuscation المستخدمه في هذا الكود اذا نظرت الي الـ function التي ذكرناها في بداية شرح هذا الكود ، سوف تجد الاجابة علي هذا السؤال وهي eval.

بعد ان قمنا بتحليل بعض الـ objects وجدنا الـ object 26 مثير للشك لذلك لنقم بتحليله .

من بداية base64code$ الي letcode$ هو كود تمت كتابته لكي يتم تنفيذه في بيئة powershell لذلك لنذهب الي powershell ise الموجود في نظامك ولنقم بوضع الكود بأستبدال Invoke-Expression with write-output حتي يظهر لنا ما الذي يفعله هذا الكود بدل ان يقوم بتشغيله .

اذا نظرت جيدا بعد ان قومنا بعمل run للكود سوف تجد اسم الاداة المسؤولة عن عمل  persistence mechanism (تثبيت اتصال المخترق علي الجهاز) وهي wmic.

اذا نظرنا الي الكود بعد التنفيذ فسوف نجد :

اذا قمنا بتحويل تلك الثواني الي ساعات فسوف نجد الاجابه 2.5 hours

ان lolbin هي اختصال لـ Living Off the Land Binaries وهي legitimate Windows utility  يتم استخدامها بواسطة الـ attacker لكي يقوم بتنفيذ  arbitrary commands.

اذا نظرنا الي السطر الثاني من الـ command سوف نجد ان اداة vmic تستخدم برنامج powerpoint.exe .

اذا نظرنا في الصورة التي في الأعلي سوف نجد هناك برنامج يتم تنزيله من علي سيرفر يخص الـ attacker

وهو http://.6./0.187.184././.54/./wallpaper482.scr لقد قمت بأفساد الرابط فلا تقلق اذا ضغت عليه بالخطاء، ان البرنامج هو wallpaper482.scr.

اذا نظرنا الي الرابط في الاعلي سوف نجد ان الـ ip هو 60.187.184.54.

سوف نستخدم موقع iplocation.net سوف نجد ان الدولة هي China.

 

في التحدي القادم سوف نقوم بحل تحدي Let's Defend Excel 4.0 Macros فأنتظروا المقالة القادمة.

 إن أحسنت فمن الله، وإن أسأت فمن نفسي والشيطان .


Security Malware Malware analysis PDf analysis let'sdefend challenge