0x1o1 / BSF24-CTF

رايت أب لتحديات م.فيصل الحميد في مجال الفريق الدفاعي

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BSF24-CTF

رايت أب لتحديات م.فيصل الحميد في مجال الفريق الدفاعي بمجموع (21) تحدي في مجالات مثل ( التحقيق الجنائي الرقمي , تحليل السجلات(Logs) , تحليل الشبكة , الذكاء مفتوح المصدر (Osint) , إخفاء البيانات (stegnography) , ذكاء المخاطر(Threat Intelligence))

ملاحظة : (ملفات التحديات موجوده في رابط أسفل الرايت أب.)

أولاً خلونا نبدأ بأول تحدي وهو بكل بساطة مدخل للموقع المقامة عليه باقي التحديات:

إسم التحدي : Start Here

التحدي بكل بساطة ترحيب في بالموقع و هدية أول (50) نقطة.

Flag1

الفلاق : FlagBSF{BSF_CTF_2024}

أول مجال راح نشتغل عليه بالترتيب المنطقي هو مجال (تحليل السجلات - Logs Analysis) :

مكون من هالمجال 4 تحديات وكلها ترتبط في بعض والمطلوب منك عشان تحل التحديات حسب كل وصف لكل تحدي تحلل ملف الإكسل المرفق وتستخرج الحل على صيغة فلاق FlagBSF{example} :

اسم الملف

إسم التحدي : Failure 1

وصف التحدي : واحد من مدراء الأنظمة الخاصين بنا إكتشف أو تعرف على تصرف مشبوه في "سجلات الأمان - Security Logs" الخاصة بنظام ويندوز, ما هو "معرّف الحدث - event ID" المستخدم لمعرفة عملية تسجيل الدخول الفاشلة أو الخاطئة؟

Log analysis

هنا نبدأ نستخدم مخنا شوي طبعا فيه كلمة "فشل - failed" وطبعا فيه ملف إكسل فيه الكثير من البيانات ممكن أنا أختصر على نفسي و أستخدم البحث عن الكلمة بمعنى نفلتر الملف عشان أوجد المطلوب بأسرع ما يمكن فـ ممكن نستخدم "CTRL + F" ونلصق failed ونبحث عن الـ "المعرّف أو ID" حجم البيانات بشكل نظري مرعب مستحيل احلل هذا كله بالشكل الطبيعي:

حجم البيانات

لذلك أول شيء بعرف في أي خانة ممكن أحصل الـ ID؟ فـ عادة في كل ملف فوق في أول صف تعريف الخانات مثل اللي في الصورة :

خانة 4

فـ عن طريق الصورة السابقة ممكن تعرف ان رابع خانة من كل صف بتكون محفوظة فيها قيمة الـ "EventID". الآن جاء وقت إستخدام ال "CTRL + F" مع كلمة Failed عشان نطلع الفلاق:

الفلاق تبعنا

بكل بساطة طلع لي كافة تفاصيل "الدخول الخاطئ - Failed login" ولو تلاحظون في رابع خانة الـ "EventID" مكون من 4 خانات (4625).

إذا حاب تعرف أكثر عن الـ "Event ID's" ممكن تزور موقع"MITRE ATT&CK : https://attack.mitre.org" وهو الموقع المعتمد لأي مختص فريق دفاعي كمرجع تقدر عن طريقة تكشف نوع الهجوم وهجوم الـ Failed كان هجوم "القوة الغاشمة - Brute force" حسب نوع الـ"EvenID" من صفحة الموقع الآتية : https://attack.mitre.org/techniques/T1110/003/

الفلاق : FlagBSF{4625}

إسم التحدي : Failure 2

وصف التحدي : إكمالاً لـ"Failure 1", كم عدد مرات تسجيل الدخول الخاطئة لاحظت؟

Failure2 بكل بساطة نسوي نفس خطوات البحث اللي في التحدي الأول "CTRL + F" ونكتب "Failed" ونبحث راح يطلع لك اول عملية هنا تبدأ تحسب وتضغط "Enter" بمعنى أعطيني عملية الدخول الخاطئة اللي بعدها لو إستمريت و أنت تحسب بتكتشف إنها فقط 4 مرات تم رصدها في الملف وبكذا يكون عدد مرات الدخول الفاشلة 4.

الفلاق : FlagBSF{4}

إسم التحدي : Failure 3

وصف التحدي : إكمالاً لـ"Failure 2", بناءً على عمليات تسجيل الدخول الخاطئة ماذا كان عنوان الـ"IP" المستخدم من قِبل المخترق لعملية تسجيل الدخول على الشبكة؟

Failure3 نقدر نطلع الـ"IP" بكل سهولة بعد ما قدرنا نستخرج الـ"EventID" لأنه بكل بساطة معاه في نفس الصف ولا يوجد أي "IP" آخر.

الاي بي

الفلاق : FlagBSF{192.168.80.128}

إسم التحدي : Failure 4

وصف التحدي : إكمالاً لـ"Failure 3", ما هو إسم المستخدم المسؤول عن مسح السجلات؟

Failure 4 chall

بكل بساطة ممكن نبحث عن المستخدم بنفس السبل السابقة بإستخدام "Failed" في بحث ملف الإكسل ولكن كيف نميز اليوزر ذو الصلاحيات العالية؟ غالبًا بناء على صلاحياته ولا يمكن مسح السجلات عن طريق مستخدم عادي لذلك نبحث عن أي صلة لمستخدم بمسمى ذو صلاحيات عالية:

admin

نلاحظ أن مستخدم "Administrator" متعلق بعملية الدخول الخاطئة وبهذه الطريقة وجدنا المطلوب.

الفلاق : FlagBSF{administrator}

ثاني مجال راح نشتغل عليه بالترتيب المنطقي هو مجال (التحقيق الجنائي الرقمي - Digital Forensics) :

مكون من هالمجال 3 تحديات وكلها ترتبط في بعض والمطلوب منك عشان تحل التحديات حسب كل وصف لكل تحدي تحلل ملف (بريفتش - Prefetch) المرفق وتستخرج الحل على صيغة فلاق FlagBSF{example} :

أولاً خلونا نعرف ما هي ملفات البريفتش - Prefetch؟ هي ملفات يتم إنشائها بواسطة ويندوز لتخزين معلومات و بيانات مطلوبة في وقت تنفيذ أي برنامج لرفع مستوى الأداء, بكل بساطة شرط إنشائها تشغيل البرنامج لأول مرة على النظام على سبيل المثال: تشغيل برنامج { VScode } لأول مرة على النظام.

وش ممكن نحصل داخل ملف البريفيتش؟ أو بالأصح بيانات هالملف؟

1 - إسم البرنامج الذي تم تشغيله

2 - وقت التنفيذ

3 - عدد مرات التنفيذ

4 - مسار البرنامج الذي تم تنفيذه

وأهم قاعدة لملفات البريفيتش < راح يتم إنشاء ملف البريفيتش بعد التنفيذ أو الشغيل بـ 10 ثواني > وش يفيدني فيه هالشيء؟ بكل بساطة إنه وقت التنفيذ المحفوظ بالملف ما راح يكون دقيق فـ لازم أنقص منه 10 ثواني عشان أستخرج الوقت الفعلي اللي تم تنفيذ البرنامج فيه وراح نشوف تحدي يتكلم عن هالنقطة بذات.

إسم التحدي : Parsing 1

وصف التحدي : بينما أنت تحقق, لاحظت أن هنالك ملف مثير للإهتمام يدعى "BSFCTF.exe" و مديرك أوصاك بتحليل الملف هل تقدر تعرف كم مرة الملف القابل للتشغيل تم تنفيذه؟

Parsing1 chall

وهذا الملف: PF file on chall

طبعاً عشان نقدر نحلل الملف فيه أداة بسيطة و مشهورة في موضوع تحليل هالملفات إسمها (PECmd.exe) موجوده أسفل الرايت أب في رابط التحديات:

The tool

عشان نحلل الملف نستخدم الأمر التالي: PECmd.exe -f BSFCTF.EXE-1DC9BB14.pf

إسم الأداة PECmd.exe , لأجل إختيار ملف نضع f- وهي إختصار لكلمة file , إسم الملف اللي نبي نحلله BSFCTF.EXE-1DC9BB14.pf

كما هو مطلوب مننا في التحدي عدد مرات تشغيل البرنامج وهو موجود أمام خانة "Run count" :

last run

الفلاق : FlagBSF{5}

إسم التحدي : Parsing 2

وصف التحدي : إكمالاً لـ"Parsing 1", ما هو المسار الأصلي لـ "BSFCTF.exe" ؟

Parsing2 chall

طبعاً في نفس صفحة مخرجات التحدي الأول لو نزلنا شوي بنحصل المسار مباشره وله لون يميزه :

ath true

الفلاق : FlagBSF{\FALHUMAID\BSFCTF.EXE}

إسم التحدي : Parsing 3

وصف التحدي : إكمالاً لـ"Parsing 2", ما هو آخر وقت تم فيه تنفيذ أو تشغيل البرنامج؟

Parsing3 chall

هنا نستخدم القاعدة المهمة اللي ذكرناها قبل شوي ( راح يتم إنشاء ملف البريفيتش بعد التنفيذ أو الشغيل بـ 10 ثواني ) وننقص 10 ثواني من الوقت بحيث نكشف الوقت الفعلي للتنفيذ على سبيل المثال اللي طالع لنا هنا :

last runt time

زي ما أنتم شايفين الوقت اللي قدامنا هو : the time

ننقص 10 ثواني بحيث الثواني تكون "41" بدال "51" في الفلاق FlagBSF{2024-02-26 01:39:51} بكذا جبنا الفلاق الصحيح:

الفلاق : FlagBSF{2024-02-26 01:39:41}

ثالث مجال راح نشتغل عليه بالترتيب المنطقي هو مجال (ذكاء المخاطر - Threat Intelligence) :

مكون من هالمجال 3 تحديات وكلها ترتبط في بعض والمطلوب منك عشان تحل التحديات حسب كل وصف لكل تحدي تبحث في الإنترنت وعلى وجه الخصوص الموقع الشهير اللي ذكرته سابقًا "MITRE ATT&CK" لأنه يجمع كل تكنيكات المخترقين الشهيرة بشرح تفصيلي و أرقام و دلائل تعريفيه لها ونستخرج من هالمصدر الحل على صيغة فلاق FlagBSF{example} :

إسم التحدي : intelligence 1

وصف التحدي : أنت إعترضت بريد إلكتروني تم إرساله لأحد المسؤولين التنفيذيين في الشركة يحتوي على رابط مشبوه, هذا البريد الإلكتروني على ما يبدو أنه جزء من هجوم تصيد إحتيالي مستهدف, هل تستطيع أن تعرف و تحلل أي جزء فرعي من تكنيكات "MITRE ATT&CK" هو المستخدم في هذا السيناريو؟

intelligence 1 chall photo

أولاً علينا معرفة الهجوم وكما هو مذكور "تصيد إحتيالي أو Phishing" لذلك علينا فتح موقع "MITRE ATT&CK" عن طريق الرابط : https://attack.mitre.org/ لأنه من أفضل المراجع لـ مثل هذه الهجمات و أيضا لأنه مذكور في وصف التحدي , و لابد من أن نعرف أن أسلوب التصيد الإحتيالي هو أحد أساليب جمع المعلومات والمغزى منه جمع المعلومات عن الهدف ولكن بشكل "فعال - Active" أي التواصل المباشر مع الهدف , ويندرج "التصيد الإحتيالي" في موقع "MITRE ATT&CK" تحت جزء الـ "إستطلاع أو Reconnaissance" كما في الصورة الآتية :

PHISHINF

بعد الضغط على خانة "التصيد الإحتيالي" ننتقل إلى صفحة تفاصيل الهجوم كما في الصورة التالية :

sub tecks

يمكننا أن نرى أن هنالك 4 تكنيكات فرعية وكما هو مذكور في وصف التحدي أنه تكنيك فرعي لذلك نضغط على السهم المحدد بالدائرة الحمراء وتظهر لنا التكنيكات الفرعية التالية :

spear

وكما هو مذكور في وصف التحدي أن الهجوم كان عن طريق رابط مشبوه وهنا يوجد 4 أنواع من التكنيكات واحد منها فقط الخاص بالروابط هذا يعني أننا وصلنا للحل الصحيح.

الفلاق : FlagBSF{Spearphishing_Link}

إسم التحدي : intelligence 2

وصف التحدي : منذ أن قمت بتحديد التنكنيك الفرعي المستخدم في "intelligence 1", هل يمكنك إيجاد المعرّف أو الـ"ID" الخاص بالتكنيك الفرعي؟

Threat Intelligence2

ممكن نبحث عنه في نفس الصفحة وكما هو ظاهر أمامك في الصورة التالية هذا هو الـ"ID" :

IDT

الفلاق : FlagBSF{T1566.002}

إسم التحدي : intelligence 3

وصف التحدي : بإسستخدام التكنينك الفرعي الذي إكتشفته في "intelligence 1 & 2", أي مجموعة "APT" معروفة لترسل رسائل تصيد إحتيالي تحتوي على روابط لمحتويات بإمتداد ملفات ".hta" ؟

Intelligence 3 chall photo

هالتحدي من أبسط ما يكون يبي منك عنوان معين و أعطاك القيمة اللي ممكن تحصل عن طريقها العنوان بسرعة كبيرة جداً وهي ".hta" فـ بنفس الصفحة تقدر تسوي "CTRL + F" وتكتب الإمتداد و تضغط "Enter" راح يظهر الحل بشكل مباشر:

APT33

الفلاق : FlagBSF{APT33}

رابع مجال راح نشتغل عليه بالترتيب المنطقي هو مجال (ذكاء مفتوح المصدر - Open-Source Intelligence) :

مكون من هالمجال 4 تحديات وكلها ترتبط في بعض والمطلوب منك عشان تحل التحديات حسب كل وصف لكل تحدي تبحث في محركات البحث و مواقع السوشال ميديا لتستخرج الحل على صيغة فلاق FlagBSF{example} :

إسم التحدي : Osint 1

وصف التحدي : فعالية الـ "BSF24 CTF" يوجد لديها بالفعل حساب تواصل إجتماعي. هل تستطيع إكتشاف أي منصة تواصل إجتماعي تستضيف هذا الحساب و تزود الحساب برابط مباشر لصفحة الحساب؟

Osint1 chall photo

هنا نقدر نفهم من وصف التحدي إنه في حساب على منصات التواصل الإجتماعي وبناء على صيغة الفلاق في الصورة السابقة ممكن تعرف ان اليوزر "BSFCTF24" نقدر نبحث عنه عن طريق أداة مثلا للبحث عن اليوزرات في السوشال أو الطريقة الثانية و اللي أنا إستخدمتها بناء على أساليب الهندسة الإجتماعية وهي إني أشوف أنا من فين أعرف هالشخص صاحب التحديات أو أكثر مكان هو متفاعل فيه؟ بناء على هالشيء ما جاء في بالي إلا تويتر :) لذلك على طول رحت لبحث تويتر وهذا اللي طلع :

user

زي ما أنتم شايفين طلع مباشرة إن اليوزر موجود وهذا هو الحل المنصة المستضيفة للحساب هي منصة : "Twitter".

الفلاق : FlagBSF{https://twitter.com/BSFCTF24}

إسم التحدي : Osint 2

وصف التحدي : عرّف الإسم الكامل لصاحب الحاسب "BSFCTF24", هاذه البيانات متاحة في تفاصيل الصفحة الخاصة بالحساب.

Osint 2 Writeup

مثل ما هو ظاهر أمامك الإسم المطلوب مننا إيجاده هو : "Laith Bader" وبكذا جبت الفلاق.

الفلاق : FlagBSF{Laith_Bader}

إسم التحدي : Osint 3

وصف التحدي : أجد أي شركة إتصالات أو SIM مالك الحساب "BSFCTF24" يستخدمها.

Osint3 chall

لو تصفحنا الحساب بنحصل تغريدة من تغريدات مستخدم الحساب تتعلق بالإنترنت و الإتصالات وتم الرد عليه من قبل شركة مشهورة كـ مزود خدمة إنترنت وهالشركة مثل ما هو واضح بالصورة التالية "STC" :

Osint3 writeup

الفلاق : FlagBSF{STC}

إسم التحدي : Osint 4

وصف التحدي : مؤخرا "BSFCTF24" قام بنشر تغريدة تحتوي على صورة لـ لافتات شارع أثناء فترة إجازته, حلل الصورة لتكتشف أي مدينة قام بزيارتها؟

Osint4 chall

هنا راح نطبق مهارات البحث بناء على صور وطبعاً الصورة اللي راح نستنج منها إسم المدينة موجوده بالحساب وهاذي هي :

Osint4 writeup 1

وراح نستخدم أي محرك بحث بس عن نفسي أفضل إني أبدأ بـ "قوقل - Google" أول شيء لذلك راح نسحب الصورة و نضعها في بحث الصور في محرك بحث قوقل:

Osint4 write up2

معقوووله بكل هالبساطة؟ نعم الموضوع جدا سهل وهذا إسم المدينة مباشره ظهر لنا.

الفلاق : FlagBSF{Birmingham}

خامس مجال راح نشتغل عليه بالترتيب المنطقي هو مجال (تحليل الشبكة - Network Analysis) :

مكون من هالمجال 3 تحديات وكلها ترتبط في بعض والمطلوب منك عشان تحل التحديات حسب كل وصف لكل تحدي تحلل ملف مكون من لقطات لحركة مرور بيانات داخل شبكة ما, لتستخرج الحل على صيغة فلاق FlagBSF{example} :

إسم التحدي : Pcap 1

وصف التحدي : حلل ملف الـ "Pcap1" لتحدد أي "بروتوكول - Protocol" تم إستخدامه من قِبل المهاجم صاحب عنوان "IP" رقم : "10.0.0.12" لتصفية أو إستخراج البيانات؟

Pcap1 chall photo

أ,لا هذا هو ملف الـ "Pcap" أو ما يعرف بـ لقطة حركة المرور : Chall file

راح نفتح الملف و ناخذ بالحسبان إنه تم ذكر عنوان الـ"IP" الخاص بالمخترق وهذا راح يفيدنا في إننا ممكن نفلتر البيانات وفقط نظهر قدامنا أي بينات ترتبط بعنوان المهاجم الـ"IP" واللي هو "10.0.0.12" :

photo to solve chall 1

ممكن نستخدم واحد من الفلاتر واللي بدوره يختص في إظهار الـ"IP" الفلتر : [ "ip.addr == "theIP ] بكل بساطة نكتب هالفلتر في مربع البحث الموجود في تطبيق "الوايرشارك - Wireshark" ونكتب بين علامات التنصيص الـ"IP" اللي راح نبحث عنه, الفلتر : ip.addr == 10.0.0.12 وهاذي مخرجات الفلتر:

photo to solve chall 2

نقدر نستنبط الآن بناء على مخرجات الفلتر كل ما يخص حل التحدي و التحديات الجاية من سلسلة تحديات الوايرشارك أو تحليل الشبكة, طبعا المطلوب مننا الآن إستخراج البروتوكول المستخدم ولو تلاحظون كل "الحزم - Packets" المتعلقه بهاليوزر مستخدمه بروتوكول الـ"UDP" مثل ما هو واضح في الصورة التالية:

UDP packets

وبكذا وجدنا الحل.

الفلاق : FlagBSF{UDP}

إسم التحدي : Pcap 2

وصف التحدي : ماذا كان "منفذ الوجهة - Destination Port" المستخدم في محاولة تصفية البيانات من قِبل عنوان الـ"IP"؟

Pcap2

بنفس خطوات حل التحدي الأول ممكن نشوف البيانات المفلتره ونحدد "منفذ الوجهة - Destination Port" مثل ما نشوف في الصورة التالية هذا هو منفذ الوجهة :

dest port

الفلاق : FlagBSF{8888}

إسم التحدي : Pcap 3

وصف التحدي : "العلم أو Flag" تم تسريبه من قبل المهاجم, إستخرج العلم من ملف لقطات حركة مرور الشبكة :

Pcap3 chall

هنا بعد ما تعلمنا كيف نفلتر البيانات و نشوف فقط أي شيء متعلق بالدليل واللي هو عنوان المهاجم الـ"IP" ممكن نبدأ نتصفح "الحزم - Packets" واحده تلو الأخرى بحثًا عن بيانات تم نقلها عن طريق الشبكة ممكن نضغط زر الفأرة الأيمن ثم "تابع - Follow" ثم "عرض UDP Stream - UDP" كما هو موضح في الصورة التالية :

pic to solve chall 3 - 1

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

flag

الفلاق : FlagBSF{Th1s_1s_4r34l_fl4g}

سادس مجال راح نشتغل عليه بالترتيب المنطقي هو مجال (الإستجابة للمخاطر - Incident Response) :

مكون من هالمجال 3 تحديات وكلها ترتبط في بعض والمطلوب منك عشان تحل التحديات حسب كل وصف لكل تحدي تحلل ملف "سجلات - Logs" لعمليات حصلت على "الويب - Web" لتستخرج الحل على صيغة فلاق FlagBSF{example} :

إسم التحدي : Web Shell 1

وصف التحدي : موقع "موقع وورد برس - WordPress" تم إختراقه, و أنت تم منحك الوصول "للسجلات - Logs" لتحللها, هل يمكنك التعرف على الـ "الترميز - Token" المستخدم من قبل المخترق ليحصل على الوصول؟

Webshell chall

أول شيء ملف التحدي هو مستند نصي : اكسس

في هالملف حدود"2054" سطر! مو من المنطقي إني راح أقراهم سطر سطر في هالحالة نستطيع إستخدام مهاراتنا الإبداعية البسيطة في حل مشكلة مثل هاذي بكل بساطة نستخدم عملية البحث داخل المستند عن طريق الضغط على "CTRL + F" وراح يظهر لنا مربع بحث ندخل فيه الكلمة المتعلقة بمشكلتنا واللي هي الـ"Token", وهاذي نتيجة البحث السريع :

tooken

وقدرنا نستخرج من بين الـ"2054" سطر في السطر "691" الـ"Token" المطلوب بأسرع ما يمكن والقيمة الخاصة بالـ"token" كما هو ظاهر في الصورة : "adminlogin" وهذا هو الحل بالفعل.

الفلاق : FlagBSF{adminlogin}

إسم التحدي : Web Shell 2

وصف التحدي : إكمالاً لـ"Web Shell 1", ماذا كان الإمتداد الطبيعي لـ ملف "الشيل - shell" عندما تم رفعه أول مره؟

web shell 2 chall

الآن أصبح السيناريو مختلف وبدينا نفهم إن المخترق رفع ملف خبيث على الموقع ولكن أنا كيف ممكن أستخرج بيانات بهالخصوص في ملف فيه "2054" سطر نصي؟ بكل بساطة أقدر أبحث على متصفح قوقل وغيره من المتصفحات عن أي كلمة أو معلومة تفيد بموضوع إختراق موقع أو رفع ملف خبيث على موقع وكان هذا تساؤلي : "طرق للنجاح في رفع ملف شيل على موقع - the ways to success in upload webshell" و وصلت لصفحة تتكلم عن أشهر الطرق لرفع ملفات شيل خبيثة واللي بكل بساطة وصلتني لكلمة مفتاحية قد أجدها في ملفي المستمر على تحليله ممكن نشوف في الصورة التالية معلومات من الموقع عن طرق رفع ملفات شيل :

بي اتش بي

ممكن تشوفون إنه ذكر موضوع ".php" او ".png" أنا إستخدمت هالكلمات المفتاحية وبديت بالـ".png" عشان أقدر أشوف هل هي موجوده ولا لا قبل ما أبحث عن الـ"php" لأن من المتوقع أحصله كثير بما إننا نتعامل مع سجل صفحة ويب فـ بكل بساطة لقيت سطر فيه ملف غريب تم رفعه متعلق بالـ".png" و إسمه "fr34k.png" وواضح من الإسم إنه ملف مشبوه و كما هو واضح بالصورة التالية :

webshel

طبعا في التحدي طلبنا إمتداد الملف في أول مره تم رفعه فيها وهاذي هي أول مره له لذلك هذا هو الحل.

الفلاق : FlagBSF{png}

إسم التحدي : Web Shell 3

وصف التحدي : إكمالاً لـ"Web Shell 2", بعد ما تم رفع و استخدام الـ"Web Shell" بواسطة المخترق, ماذا كان المسار الكامل الخاص بالـ"Web Shell" على السيرفر؟

Webshell 3

من وصف التحدي الثالث نفهم إن الملف اللي كان ينتهي بـ".png" هو ملف محقون بـ"شيل - shell" يتم تنفيذه بعد الوصول للسيرفر ويخرج لصورته الفعليه بمعنى في السابق كان ملف بإمتداد ".png" وكان بداخله كود خبيث كما إنه يتعامل مع السيرفر بشكل مباشر نعرف من خلال هالحدث إنه ".php" لأنه يتعامل في الـ"Back-end" وبكل بساطة للتأكد يمكننا البحث عن نفس إسم الملف السابق "fr34k.png" ولكن بإمتداد مختلف وهو إمتداد ".php" لنرى كما يظهر بالصورة التالية :

php file

كما نرى بعد وصوله للسيرفر تم تنفيذه على شكل "php shell" وهذا هو الإمتداد المطلوب مننا بالتحدي.

الفلاق : FlagBSF{/wp-content/uploads/simple-file-list/fr34k.php}

سابع مجال و هو المجال الأخير (إخفاء البيانات - steganography) :

وهو مكون من تحدي واحد تتعامل فيه مع ملفات مخفي بداخلها بيانات تكتشفها لتستخرج الحل على صيغة فلاق FlagBSF{example} :

إسم التحدي : Harry Potter

وصف التحدي : خفي في فصل هوجورتس, هنالك صف من الأصفار "0s" و الوحايد "1s" يكمن قولها لإظهار صورة مميزة تخص هاري بوتر و هنالك سر داخلها, هل تستطيع حل هذا اللغز لرؤية الصورة؟

Harry potter chall

أول شيء نشوف ملف التحدي :

chall file

الملف فيه كمية ضخمة من البيانات النصية حجمها [21MB] حاولت أن أفتح الملف على المحرر النصي الخاص بـ ويندوز ولكنه لم يكن كالمتوقع من ناحية الكفاءة, لأجل التأكد من الحصول على جميع البيانات كاملة و بشكل سليم إستخدمت أداة "محرر هيكسا - HxD" :

HxD

رابط الأداة للتثبيت على ويندوز : https://mh-nexus.de/en/hxd/

إستطعت تحليل الملف عن طريق الأداة وهذا شكل الملف بعد التحليل داخل الأداة :

Hxd all file coy

ننسخ كل المحتوى المكون من الصفر و الواحد عن طريق الضغط على "CTRL + A" بعد التحديد الكامل "CTRL + C" لتتم عملية النسخ و نضعه في موقع "سايبر شيف - Cyberchef" بعد كذا نحولها من باينري عن طريق إختيار "من باينري - From Binary" لأجل الكشف عن ماهية البيانات هاذي:

from binary

المخرجات كانت بيانات مشفره بشيفرة مورس كما في أسفل الصوره السابقه و يتم تحويلها بشكل تلقائي بإستخدام العصى السحرية في الموقع كما في الصورة التالية :

magic kine

أصبحت المخرجات أمامنا قيمة هيكسا ولو نلاحظ أول 7 قيم منها كما هو واضح في الصورة التالية:

Png vlaue

هي قيم ثابتة كـ بصمة تمثل أن هنالك صورة ذات إمتداد ".png" يمكننا مقارنة القيم للتأكد مع قائمة بصمة الملفات على موقع ويكيبيديا كما هو موضح في الصورة التالية من المصدر القيم تطابق القيم الموجودة بالصورة السابقة :

PNG file format

بعد أن إكتشفنا أنها صورة يمكننا تحويل القيم من الهيكسا :

ظهور الكلام

بعد أن رأينا و تأكدنا أنها صورة يمكننا الآن تحويلها إلى صورة وهي خدمة توجد في سايبر شيف لرؤية البيانات على شكل صورة في حال كان من المستطاع تحويلها كما نرى بالصورة التالية :

not all pic

بعد أن تفحصت سطور الـ"باينري - Binary" إكتشفت أن هنالك ترتيب تسلسلي بين كل مسافة و مسافة ولكن في أحد السطور لا يكون صحيح هذا التسلسل فـ إفترضت أنه السطر المنشود و حذفته وإكتملت الصوره :

flg pic

وهذا هو حل آخر تحدي.

الفلاق : FlagBSF{n3w_d3c0d3r_h3r0}

وبكذا إنتهينا من جميع التحديات كما هو واضح بالصورة :

Done100%

في النهاية أحب أوجه الشكر لـ م.فيصل الحميد على التحديات الجميلة و أيضًا شكرًا جزيلًا لك على صبرك و أتمنى فعلاّ أنك إستفدت من "الرايت أب" لجميع تحديات "BSFCTF24" و بإذن الله القادم أفضل و أفضل.

ملفات التحديات

رابط الدرايف : https://drive.google.com/drive/folders/1CLbUQrGUbEJqLhPwnIWDS0iyTu-ld2Ce?usp=sharing

حسابات التواصل الخاصة بصاحب المسابقة

تويتر : https://twitter.com/FS_Alhumaid , لينكد ان : https://www.linkedin.com/in/falhumaid/

حساباتي

تويتر : https://twitter.com/0x1o1 , لينكد ان : https://www.linkedin.com/in/0x1o1/

About

رايت أب لتحديات م.فيصل الحميد في مجال الفريق الدفاعي