حل تحدي Web Investigation من النوع Network Forensics من منصه CyberDefenders

CTF Walkthrough
في تحدي "Web Investigation" ، يتم تحليل حركة مرور الشبكة لكشف الأنشطة المشبوهة وتحديد نوع الهجوم وتأثيره باستخدام أدوات مثل Wireshark
Taha Rabie
Sept. 22, 2024, 7:24 p.m.
taha_rabie
حل تحدي  Web Investigation من النوع Network Forensics من منصه CyberDefenders

مقدمة

أثناء إجراء عمليات التحقيق في هجمات الويب، من الأفضل أن تمتلك معرفة كافية بالثغرات الشائعة في الويب وطرق استغلالها، مثل  Cross-Site Scripting (XSS) ,SQL InjectionPath Traversal, idor , ينبغي أن تكون قادرًا على التعرف على هذه الثغرات وفهم كيفية استغلالها من قبل المهاجمين، حيث يساعد هذا الفهم على وضع استراتيجيات دفاعية فعالة لتأمين التطبيقات والحد من الضرر الذي قد يتسبب فيه الهجوم على النظام.

خلال عملية التحقيق، تعتبر العناصر التالية ضرورية:

  • Log Timestamp: تشير إلى الطوابع الزمنية للأحداث الأمنية، مما يساعد في تحديد تسلسل الأحداث.
  • Target web domain – requested web resource: العنوان الرئيسي للموقع الذي تم استهدافه بالهجوم، بينما المورد الويب المطلوب يشير إلى العناصر الخاصة بالموقع التي تم طلبها أثناء الهجوم مثل الصفحات أو الملفات.
  • IP Reputation: تشير إلى سمعة عناوين IP علي مواقع  threat intelligence مثل Virstotal وِAbuseIPDB
  •  :IP Geolocation يساعد في تحديد الموقع الجغرافي للمستخدم بناءً على عنوان IP الخاص به.
  • Response status code: تشير إلى رموز استجابة الخادم، مثل الرمز 200 للطلبات الناجحة أو الرمز 404 لصفحات غير موجودة.
  • Sent/Received Bytes: تشير إلى كمية البيانات المرسلة أو المستلمة في طلب أو استجابة HTTP.

  • User-Agent: هذه السلسلة تحدد متصفح الويب أو البرامج الأخرى التي تقدم الطلب إلى الخادم.

  • HTTP Method (GET, POST, etc.): تشير إلى الطريقة المستخدمة في الطلب HTTP. الطرق الأكثر شيوعًا هي GET، والتي تُستخدم لاسترداد البيانات من الخادم، وPOST، والتي تُستخدم لإرسال البيانات إلى الخادم.
  • Content-Type: يشير إلى نوع البيانات التي يتم إرسالها في طلب أو استجابة HTTP. على سبيل المثال، قد يكون نوع محتوى ملف الصورة "image/jpeg".

سيناريو التحدي

أنت محلل للأمن السيبراني تعمل في مركز العمليات الأمنية (SOC) في BookWorld، وهي مكتبة واسعة النطاق على الإنترنت تشتهر بمجموعة واسعة من الأدبيات. تفتخر BookWorld بتقديم تجربة تسوق سلسة وآمنة لعشاق الكتب حول العالم. تم تكليفك مؤخرًا بتعزيز وضع الأمن السيبراني للشركة ومراقبة حركة مرور الشبكة والتأكد من بقاء البيئة الرقمية آمنة من التهديدات.

 

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

سنقوم الان بتحليل الملف والاجابه علي اساله التحدي باستخدام Wireshark

أولا،ً نقوم بمراجعة المحادثات بين عناوين IP في الشبكة في Wireshark ، من خالل عالمة التبويب "Statistics "ومن ثم "Conversation"، سنجد أن هناك "88484" حزمة بيانات بين عنواني الـ 111.224.250.131 IP و 73.124.22.98 و حجم   Bytes 28M

دعنا نلقي نظرة على البروتوكولات المستخدمة من خلال التبويب "Statistics" ثم "Protocol Hierarchy". ستلاحظ أن حركة المرور تشمل حزم HTTP.

دعنا نتحقق أكثر في الموضوع بعرض الحزم الخاصة بهذا الاتصال باستخدام عوامل تصفية Wireshark:

ip.addr == 111.224.250.131  && ip.addr == 73.124.22.98 and http

سوف تلاحظ أن عنوان 111.224.258.131 يستخدم أداة Sqlmap ، وهي واحدة من الأدوات الرئيسية المستخدمة في اختراق مواقع الويب، وخاصة قواعد البيانات. تقوم هذه الأداة بإرسال "payloads" لاستغلال ثغرات "SQL injection" في إدخال المستخدم في صفحة "search.php" المعرضة للضعف.

السؤال الاول: من خلال معرفة عنوان IP الخاص بالمهاجم، يمكننا تحليل جميع السجلات والإجراءات المتعلقة بهذا IP وتحديد مدى الهجوم ومدة الهجوم والتقنيات المستخدمة. هل يمكنك توفير IP الخاص بالمهاجم؟ 111.224.250.131

باستخدام https://www.iplocation.net/ip-lookup لتحديد موقع IP  المهاجم  

السؤال الثاني: إذا كان الأصل الجغرافي لعنوان IP معروفًا بأنه من منطقة ليس بها أعمال أو حركة مرور متوقعة مع شبكتنا، فقد يكون هذا مؤشرًا على هجوم مستهدف. هل يمكنك تحديد المدينة الأصلية للمهاجم؟ Shijiazhuang

السؤال الثالث: يتيح تحديد البرنامج النصي المستغل لفرق الأمن فهم الثغرة الأمنية المستخدمة في الهجوم بالضبط. تعد هذه المعرفة أمرًا بالغ الأهمية للعثور على التصحيح المناسب أو الحل البديل لسد الثغرة الأمنية ومنع الاستغلال في المستقبل. هل يمكنك تقديم اسم البرنامج النصي الضعيف؟ search.php

السؤال الرابع: تحديد الجدول الزمني للهجوم، بدءًا من محاولة الاستغلال الأولية، ما هو URI الكامل للطلب الخاص بمحاولة SQLi الأولى التي قام بها المهاجم ؟ /search.php?search=book%20and%201=1;%20--%20

السؤال الخامس:هل يمكنك تقديم URI للطلب الكامل الذي تم استخدامه لقراءة قواعد البيانات المتاحة لخادم الويب؟ الإجابة مشار إليها في الصورة

يتمثل النص المشار إليه في محاولة لاختراق قاعدة بيانات باستخدام ثغرة حقن SQL، حيث يتم إدخال رمز ضار في حقل البحث بهدف سرقة معلومات حول هيكل قاعدة البيانات. يتم ذلك عن طريق استخدام دالة JSON_ARRAYAGG لاسترجاع أسماء الأنظمة المخزنة في السكيما (schemas). وتُجمع النتائج التي تم الحصول عليها من هذه العملية مع نتائج الاستعلام الأصلي باستخدام UNION.

استخدام موقع CyberChef لعمل فك تشفير URL 

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

الصورة تُظهر هجوم بحقن SQL حيث يُحاول المهاجم سرقة بيانات من قاعدة البيانات “Customers” في نموذج البحث. رد الموقع يُظهر البيانات المسروقة.

باستخدام Tshark، يمكنك تيسير عملية البحث في ملف Pcap.

أحد أهم المجالات أثناء التحقق في الويب هو "User-Agent" الذي يُظهر ما إذا كانت محاولة الاختراق تتم يدويًا أم بواسطة أدوات آلية. هذا التمييز يُسهل عملية الاستغلال ويُقلل من الوقت المهدر في عمليات اختبار الاختراق. ومع ذلك، يُيسّر هذا التمييز أيضًا اكتشاف محاولات الاختراق. في سياقنا، يلجأ المهاجمون غالبًا إلى استخدام "Gobuster" لاكتشاف الملفات والدلائل المخفية على خوادم الويب.

Gobuster هي أداة تستخدم للعثور على الملفات والأدلة المخفية على خوادم الويب. إنه يعمل عن طريق تجربة عناوين URL مختلفة بناءً على قائمة الكلمات المتوفرة والتحقق من استجابات الخادم لمعرفة ما إذا كانت عناوين URL هذه موجودة أم لا. يتم استخدامه بشكل شائع في التقييمات الأمنية لتحديد نقاط الضعف المحتملة.

السؤال السابع:  قد تكون أدلة مواقع الويب المخفية عن الجمهور بمثابة نقطة وصول غير مصرح بها أو تحتوي على وظائف حساسة غير مخصصة للوصول العام. هل يمكنك تقديم اسم الدليل الذي اكتشفه المهاجم ؟ /admin/

وفيما يلي تفصيل الاتصالات:

في الصوره قام المهاجم بالطلب الأولي GET: يُرسل العميل طلب GET إلى المورد "/admin" على خادم "bookworldstore.com" 

يُجيب الخادم برمز 301 تم النقل بشكل دائم، مما يُشير إلى أن المورد المطلوب تم نقله إلى موقع جديد. يتضمن الرد أيضًا رأس الموقع الذي يحدد العنوان الجديد، وهو "http://bookworldstore.com/admin/"

الطلب الثاني GET: يُتابع العميل عملية إعادة التوجيه ويُرسل طلب GET إلى المصدر "/admin/" على خادم "bookworldstore.com".

الاستجابة 302 Found: يُجيب الخادم برمز 302 Found، مشيرًا إلى أن المورد تم العثور عليه ولكنه مؤقتًا في موقع مختلف. تتضمن الاستجابة أيضًا رأس Set-Cookie الذي يُنشئ ملف تعريف ارتباط باسم "PHPSESSID" على العميل.

السؤال الثامن: تتيح لنا معرفة بيانات الاعتماد المستخدمة تحديد مدى اختراق الحساب. ما هي بيانات الاعتماد التي يستخدمها المهاجم لتسجيل الدخول؟

السؤال التاسع: نحتاج إلى تحديد ما إذا كان المهاجم قد حصل على مزيد من الوصول أو التحكم في خادم الويب الخاص بنا. ما اسم البرنامج النصي الضار الذي قام المهاجم بتحميله؟

للإجابة ، يتعين علينا عرض جميع طلبات POST التي تم إرسالها، حيث تُستخدم هذه الطريقة لإرسال بيانات الاعتماد ورفع الملفات إلى الخادم. يمكن ذلك باستخدام عبارة التصفية التالية في "http.request.method==POST"

تم تنفيذ 3 طلبات من عنوان الاختراق على الخادم في "/admin/login.php"، حيث قام المهاجم بتسجيل الدخول باستخدام حساب admin وكلمة المرور "admin123!" 

تم استلام طلب واحد من عنوان المخترق على الخادم في "/admin/index.php". المهاجم قام برفع ملف يحمل اسم "NVri2vhp.php" والذي يحتوي على revers shell payload

هذا السطر من الكود بلغة PHP يستخدم الدالة exec() لتشغيل جلسة تفاعلية باستخدام bash، ويقوم بإنشاء اتصال عكسي إلى العنوان 111.224.250.131 على المنفذ 443، مما يمنح المهاجم الوصول إلى جلسة التحكم الخاصة بالسيرفر المستهدف عن بعد.

في ختام هذا التحقيق، تبين أن المهاجم استغل ثغرة SQL Injection عبر أداة Sqlmap على صفحة search.php. تم تحديد عنوان الـ IP للمهاجم كـ 111.224.250.131، وموقعه الجغرافي هو Shijiazhuang. اكتشفنا أيضًا أن المهاجم قام بتحميل ملف ضار باسم NVri2vhp.php على الخادم. تبرز هذه النتائج أهمية فحص حركة المرور واستخدام أدوات التحليل للتصدي للهجمات وحماية الأنظمة.

مصادر:

اللهم انصر إخواننا في فلسطين،وارفع عنهم الظلم، وأمنحهم القوة والصبر، واجعل النصر قريبًا له


BlueTeam DFIR soc CyberSecurity ThreatHunting Web-Ivestigation