إجابات التحدي الثاني

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

والآن نترككم مع الحل.

التحدي الثاني عبارة عن مجموعة من الأرقام المتسلسلة وهنا يبدأ اللغز الأول!

104 116 116 112 58 47 47 100 108 46 100 114 111 112 98 111 120 46 99 111 109 47 117 47 49 48 55 54 49 55 48 48 47 123 99 104 97 108 108 101 110 103 101 46 122 105 112 44 99 104 97 108 108 101 110 103 101 46 98 122 50 44 97 100 109 105 110 46 116 120 116

لم يكن صعبا أبداً تخمين وتحليل هذه الأرقام لأني مررت بهذه التجربة كثيراً فأول ما خطر لي هو العد العشري decimal وذلك لأني أتذكر معظم الحروف وماذا ترمز في العد العشري والعد الست عشري hexdecimal. يوجد الكثير من الطرق لتحويل هذه السلسلة إلى حروف وذلك عن طريق استخدام سكربت بسيط بلغة البيرل يقوم بتحويل العد العشري إلى حرف مباشرةً. قبل البدء بكتابة سكربت البيرل يجب أن تقوم بتخزين هذه الأرقام في ملف على سبيل المثال .file.txt بعد ذلك افتح محرر النصوص المفضل لديك واكتب التالي:

قم بعدها بحفظ الملف باسم myperl

لتنفيذ السكربت اكتب في سطر الأوامر (terminal shell)


[email protected]:~#./myperl

الناتج:


http://dl.dropbox.com/u/10761700/challenge.zip,challenge.bz2,admin.txt

المرحلة التالية هي استخدام wget لتنزيل الملفات challenge.zip/challenge.bz2/admin.txt


[email protected]:~#wget http://dl.dropbox.com/u/10761700/{challenge.zip,challenge.bz2,admin.txt}

بعد ذلك سيظهر في المجلد الحالي ثلاث ملفات:

challenge.zip ملف مضغوط وعليك بإدخال كلمة المرور لاستخراج محتوى الملف.
challenge.bz2 ملف مضغوط غير محمي.
admin.txt قائمة بالكلمات wordlist.

في البداية قمت بتجربة الكلمات الموجودة في ملف admin.txt واستخدامها لفك كلمة السر على ملف challenge.zip عن طريق برنامج fcrackzip الموجود في نظام الباك تراك طريقة تطبيق الأمر سهلة وهي كالتالي:


[email protected]:~#fcrackzip -Dp admin.txt challenge.zip

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

بعد ذلك قمت باستخراج محتوى challenge.bz2 بالطريقة الآتية:


[email protected]:~#bzip2 -d challenge.bz2

ظهر لي ملف challenge . لجهلي بمحتوى الملف قمت بتنفيذ أمر file لتفقد نوعية الملف:


[email protected]:~#file challenge
challenge: IFF data, AIFF audio

الملف عبارة عن ملف صوتي بعد تشغيله يظهر أنه يحتوي على موسيقى لاتتجاوز الـ11 ثانية فقط !

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


[email protected]:~#hexdump -C challenge | tail

ظهرت لي رسالة مهمة تقول

“You have to look for the Disk-ID on freedb.org”

أمر strings ايضا يخرج لك نفس الرسالة وبشكل أرتب.

بعد ذلك أيقنت أن علي معرفة معلومات عن المقطع الموسيقي للحصول على disk-id فكانت أسهل الطرق هو استخدام برنامج التعرف على الموسيقى ، وأفضل هذه البرامج من وجهة نظري هي SoundHound وبعد ما عرفت اسم الأغنية ذهبت مباشرةً لموقع freedb.org للحصول على المعلومة المهمة وهي الديسك آي دي.

الديسك الآي دي الخاص بالأغنية Terranova just enough كان 1603eb03

ولم يكن صعباً تخمين أن هذا هو باسوورد ملف challenge.zip فبعد استخراج محتوى الملف ظهر ملف challenge.txt

وبعد استعراض الملف عن طريق أمر cat ظهر الناتج الآتي:


646d467949463877654449325a6d553957794a6365445a4458486732526c78344e6a4e6365445978584867334e4678344e6a6c6365445a475848673252534973496c78344e6a686365446330584867334e4678344e7a426365444e4258486779526c78344d6b5a6365446333584867334e3178344e7a646365444a46584867324e5678344e7a526365445934584867324f5678344e6a4e636544597858486732513178344d6b52636544593558486732525678344e7a526365446379584867334e5678344e7a4e636544593558486732526c78344e6b566365444a46584867324d3178344e6b5a6365445a4558486779526c78344e6a6c6365445a46584867324e4678344e6a56636544633458486779525678344e7a426365445934584867334d434a644f336470626d5276643174664d4867794e6d5a6c577a4264585431664d4867794e6d5a6c577a46644f773d3d

طبعا حسيت أن الحروف والأرقام ترمز إلى نظام الست عشري hexdecimal فقررت أن أضع \x قبل كل خانتين عن طريق محرر الـvim والذي اعتبره أقوى محرر تعاملت معه حتى هذا الآن..!

ببساطة نقوم بفتح الملف أولا عن طريق الـvim

[email protected]:~#vim challenge.txt

بعد ذلك نضغط على Shift مع حرف الكاف لنحصل على الرمز : ثم نطبق الأمر التالي كما هو موضح هنا

:%s/../\='\\x'.submatch(0)/g

هنا سيقوم الـvim بوضع قبل كل خانتين الرمز \x مع ابقاء الرقم وعدم تبديله وذلك لغرض الإضافة فقط.

هنا تظهر لنا النتيجة بعد التعديل:

\x64\x6d\x46\x79\x49\x46\x38\x77\x65\x44\x49\x32\x5a\x6d\x55\x39\x57\x79\x4a\x63\x65\x44\x5a\x44\x58\x48\x67\x32\x52\x6c\x78\x34\x4e\x6a\x4e\x63\x65\x44\x59\x78\x58\x48\x67\x33\x4e\x46\x78\x34\x4e\x6a\x6c\x63\x65\x44\x5a\x47\x58\x48\x67\x32\x52\x53\x49\x73\x49\x6c\x78\x34\x4e\x6a\x68\x63\x65\x44\x63\x30\x58\x48\x67\x33\x4e\x46\x78\x34\x4e\x7a\x42\x63\x65\x44\x4e\x42\x58\x48\x67\x79\x52\x6c\x78\x34\x4d\x6b\x5a\x63\x65\x44\x63\x33\x58\x48\x67\x33\x4e\x31\x78\x34\x4e\x7a\x64\x63\x65\x44\x4a\x46\x58\x48\x67\x32\x4e\x56\x78\x34\x4e\x7a\x52\x63\x65\x44\x59\x34\x58\x48\x67\x32\x4f\x56\x78\x34\x4e\x6a\x4e\x63\x65\x44\x59\x78\x58\x48\x67\x32\x51\x31\x78\x34\x4d\x6b\x52\x63\x65\x44\x59\x35\x58\x48\x67\x32\x52\x56\x78\x34\x4e\x7a\x52\x63\x65\x44\x63\x79\x58\x48\x67\x33\x4e\x56\x78\x34\x4e\x7a\x4e\x63\x65\x44\x59\x35\x58\x48\x67\x32\x52\x6c\x78\x34\x4e\x6b\x56\x63\x65\x44\x4a\x46\x58\x48\x67\x32\x4d\x31\x78\x34\x4e\x6b\x5a\x63\x65\x44\x5a\x45\x58\x48\x67\x79\x52\x6c\x78\x34\x4e\x6a\x6c\x63\x65\x44\x5a\x46\x58\x48\x67\x32\x4e\x46\x78\x34\x4e\x6a\x56\x63\x65\x44\x63\x34\x58\x48\x67\x79\x52\x56\x78\x34\x4e\x7a\x42\x63\x65\x44\x59\x34\x58\x48\x67\x33\x4d\x43\x4a\x64\x4f\x33\x64\x70\x62\x6d\x52\x76\x64\x31\x74\x66\x4d\x48\x67\x79\x4e\x6d\x5a\x6c\x57\x7a\x42\x64\x58\x54\x31\x66\x4d\x48\x67\x79\x4e\x6d\x5a\x6c\x57\x7a\x46\x64\x4f\x77\x3d\x3d

بعد تنفيذ الأمر يجب علينا حفظ التغييرات على ملف آخر أو نفس الملف عن طريق تطبيق هذا الأمر

:w challenge2.txt

الآن يأتي الأمر الذي سيقوم بتحويل الهيكس إلى حروف، يوجد أوامر كثيرة تؤدي نفس الغرض ولكن في مسابقات التحدي دائما ألجأ للأسهل! وهنا يأتي أمر echo

طريقة تنفيذ الأمر:

[email protected]:~#echo -e `cat challenge2.txt`

الناتج عبارة عن ترميز base64 ويحتاج فقط عملية فك الترميز decoding لقراءة النص الأصلي

بتنفيذ الأمر التالي

[email protected]:~#echo -e `cat challenge2.txt` | base64 -d -

يظهر لنا هذا النص:

var _0x26fe=["\x6C\x6F\x63\x61\x74\x69\x6F\x6E","\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x2E\x65\x74\x68\x69\x63\x61\x6C\x2D\x69\x6E\x74\x72\x75\x73\x69\x6F\x6E\x2E\x63\x6F\x6D\x2F\x69\x6E\x64\x65\x78\x2E\x70\x68\x70"];window[_0x26fe[0]]=_0x26fe[1];

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

[email protected]:~#echo -e `echo -e \`cat challenge2.txt\` | base64 -d -`

مخرج الأمر يبدو أكثر وضوحاً:

var _0x26fe=["location",http://www.ethical-intrusion.com/index.php"];window[_0x26fe[0]]=_0x26fe[1]

النص هو عبارة عن جافا سكربت يقوم بتحويلك على الموقع ethical-intrusion.com

بعد الذهاب إلى الرابط ، تظهر لنا صفحة login ويبدو أن الآن هو وقت استخدام الملف المستخرج في بداية المسابقة admin.txt

باستخدام برنامج BurpSuite قمنا بتفعيل خاصية Proxy Interception وذلك للحصول على البيانات المرسلة والمستقبلة من وإلى الموقع واعتراضها للتعديل عليها.

فبعد تفعيل هذه الخاصية نقوم بكتابة أي شي في حقل اسم المستخدم وكلمة المرور وبعدها نقوم بالضغط على login ويظهر لنا الآن الملعومات المرسلة في برنامج BurpSuite

بالضغط على زر اليمين بالفأرة نقوم باختيار send to intruder وذلك لتفعيل خاصية تخمين كلمة المرور.

بعدها نقوم باختيار

positions -> attack type (sniper)

الآن نقوم بتصفية قيمة المتغيرات المرسلة عن طريق الضغط على زر clear

في اسم المستخدم نقوم بوضع كلمة admin وفي كلمة المرور نقوم بتضليل القيمة وبعدها نختار زر add

بعدها نقوم باختيار payloads ونذهب إلى load ونختار ملف admin.txt

لتشغيل هجوم تخمين الباسوورد نذهب في أعلى البرنامج ونختار
intruder -> start attack

في هذه المرحلة علينا بالإنتظار ومشاهدة البيانات التي تختلف في الحجم حيث لو تلاحظون في البداية طول البيانات ثابت 992

وبعد فترة معينة وبالأخص في الطلب رقم 55 يظهر لنا طول غريب عن السابق وهو 474

بتجربة الباسوورد الخاصة بهذا الطلب في الموقع يظهر أننا حصلنا على الباسوورد لاسم المستخدم admin وهي m0use456g

الآن كل ماعلينا فعله هو تسجيل الدخول والذهاب إلى صفحة News 1

ومشاهدة الفيديو الموجود في هذه الصفحة ..

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

فبعد عكس الفيديو قام الرجل الموجود بالفيديو بتزويدنا باسم مجلد قد يحتوي على المرحلة التالية.

اسم المجلد: /a98dhkjd

بعد الدخول على هذا المجلد عن طريق الرابط الآتي

http://www.ethical-intrusion.com/a98dhkjd

يطلب الموقع صلاحيات معينة للدخول ، فجاء على بالي ثغرة file-inclusion الموجودة في الموقع والتي تستعرض الصفحات News 1 و News 2 فكان خياري هو محاولة قراءة ملف الباسوورد الموجود على سيرفر الأباتشي وهو .htpasswd

هنا ثغرة File-Inclusion:

http://www.ethical-intrusion.com/index.php?news=[LFI]

وهنا طريقة الاستغلال لقراءة ملف .htpasswd الخاص بالمجلد المحمي:

http://www.ethical-intrusion.com/index.php?news=a98dhkjd/.htpasswd

بعد الحصول على اسم المستخدم وكلمة المرور نقوم بكتابتها في الصفحة المحمية لتظهر لنا الآن جملة من ثلاث أسطر مشفرة بتشفير غريب , ويبدو أننا اقتربنا من الانتهاء من حل اللغز!

(Jy het die uitdaging suksesvol voltooi.
Die wagwoord is:
“Dit is net die begin.”)

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

Rotation/substitution/addition/etc..

ولكن لم تنجح أي من الطرق السابقة فبعد التفكير خارج الصندوق! قمت بنسخ النص كاملا والذهاب به إلى Google-Translator ، وبعد لصق النص في مربع الترجمة

ذهلت من النتيجة !!!!!!!!!!!!!

لقد اقترح علي ترجمة النص من اللغة الإفريقانية ، فبعد الترجمة من هذه اللغة ظهر لي النص باللغة الإنجليزية بكل وضوح:

You have successfully completed the challenge.

This password is:

“This is just the beginning.”

ما اكتشفته لاحقا هو باستخدام متصفح Google Chrome يقوم باقتراح الترجمة مباشرة ومن دون الذهاب إلى موقع الترجمة وهذا كان سيختصر مني الوقت الكثير!!!

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

نبذة عن الكاتب

التعليقات:

أضف تعليقاً | عدد التعليقات: (2)

  1. هيثم قال:

    مبرووك للفائزين وعقبال المرات والتحديات الجاية

    بالتوفيق للجميع

    *_*

  2. Maroc-OS قال:

    i am the first one that he found the solution and like that you do!!!

    in 16 hours i did it and you give it to others?

    Thanks really you are professional

أكتب تعليق