لتلخيص مرحلة NeoQUEST-2019 عبر الإنترنت : تحت القاطع ، سنتحدث عن المهام ، ونلقي نظرة على إحصائيات تقدمهم ونثني على الفائزين!
إخلاء المسئولية: قد يحتوي المنتج على آثار من الفول السوداني والمفسدين لأولئك الذين لم يكملوا المهمة بعد ، لكنهم بصراحة سيذهبون (وهناك مثل هذه الفرصة - الموقع الإلكتروني مستمر في العمل!). لا ينصح باستخدامه إذا لم تظهر قدرًا كافٍ من المثابرة للحصول على جميع المفاتيح بنفسك.
من هو الافضل
لذلك ، كان الفائزون لدينا هذا العام:
المركز الأول - AV1ct0r ، 952 نقطة ؛
المركز الثاني - OLD_NA_MESTE ، 766 نقطة ؛
المركز الثالث - gurgenhopar ، 505 نقطة.
شرف الأطفال واحترامهم! تجدر الإشارة إلى أن الفائزين في 1-2 مكان تم تحديدهم بالفعل من اليوم الأول من المسابقة ، ولم يتنازلوا عن مواقفهم لأي شخص (باستثناء أنهم تبادلوا الأماكن مع بعضهم البعض). لكن النضال من أجل المركز الثالث كان حارًا: أحيانًا يتغير المشارك "البرونزي" عدة مرات في اليوم!
ينتظر الثلاثة الأوائل الحصول على هدايا مستحقة ، وجميع الذين أكملوا مهمة واحدة على الأقل بالكامل هم هدايا تذكارية من فريق NeoQUEST! (نعم ، بالمناسبة: إذا كنت قد قمت بحل مهمة واحدة على الأقل ، لكنك لم تخبرنا بعد كيف ترغب في تلقي هدية - حان الوقت الآن للقيام بذلك عن طريق الكتابة إلى support@neoquest.ru )
كشف الأسرار
للمشاركين ، قمنا بإعداد 10 مهام ، متفاوتة في التعقيد والموضوع. سنخبر البعض بالتفصيل ، وسيتم إصدار الباقي قريبًا على هابري في شكل مقالات منفصلة!
مهمة رقم 1 - "صدى Nemean"
في هذه المهمة ، تم تزويد المشاركين بما يسمى بخادم الارتداد ، والذي يمكنك الاتصال بمنفذ محدد وإرسال البيانات. رداً على ذلك ، يرسل الخادم نفس الشيء الذي أرسل إليه. تقع العلامة على الخادم ، ويجب الحصول عليها فقط باستخدام عنوان IP والمنفذ.
الواجب رقم 2 - "ناعم وناعم"
القصة عادية - معلومات مهمة للغاية تتسرب إلى الشبكة. يتم إعطاء المشاركين ملفين: الملف الثنائي نفسه ، مما أدى إلى تسرب حركة المرور ، وتفريغ pcap لهذه الحركة. تكون العلامة في ملف تفريغ pcap ، ولكن بشكل مشفر ، وتحتاج إلى فك ضغط الملف الثنائي لفك تشفير البيانات والحصول على العلامة.
مهام استخلاص المعلومات رقم 1 ورقم 2 سيأتي منفصلة Habrastatami!
المهمة رقم 3 - "التواصل مع السماء"
تمكن جميع المشاركين تقريبًا من إقامة صلات سماوية ، أصبحت المهمة رائدة في مجال القدرة على اختراق الضاحية. البيانات الأولية - رابط لبوت برقية.
كانت الخطوة الأولى لإضافة الروبوت وقراءة وصفه. تقول أن الروبوت "يتجمد" في شبكته الاجتماعية المفضلة وليس في أي مكان آخر. لكل المحاولات للتحدث معه على الأقل بطريقة ما ، يرفض الروبوت ويطلب منه الكتابة إليه في أولمبيا. نذهب إلى العنوان الذي أشار إليه الروبوت ونصل إلى الصفحة بترخيص في الشبكة الاجتماعية "الإلهية" (لا).
عند الاتصال بالروبوت ، يمكنك أن تتلقى الرسالة التالية: "أنا لا أتبع روابط غير مألوفة!" ، مما قد يعطينا فكرة أن الروبوت قد يتبع الرابط المألوف.
عندما تحاول الانتقال إلى مكان آخر غير صفحة التفويض (لصفحة الفهرس ، على سبيل المثال) ، فإننا نعيد التوجيه بطريقة مثيرة للاهتمام (في الواقع ، يتم ذلك في العديد من المواقع ، لكنهم يقومون عادةً بتصفية المعلمة التالية):
تسجيل الدخول؟ التالي = الفهرس
أول ما يتبادر إلى الذهن: "أليس هناك OpenRedirect-a؟" هو ، لكنه يعمل فقط لمستخدم معتمد على شبكة اجتماعية ، وهو إله السخرية والتشهير ، أمي ، ل يجلس باستمرار في ذلك. نعم ، دعنا نرفع موقعنا ، كمعلمة تالية ، لتمرير الرابط إليه ومعرفة ما إذا كان الروبوت قد نقر على الرابط؟ نرفع بسرعة أي موقع على استضافة مجانية. نحن نخدم الروبوت:
http://213.170.100.214؟next=https://your.freeapp.kek/
لم يصل الروبوت إلى الصفحة ، ولم تعمل إعادة التوجيه. الأمر كله يتعلق بالفلترة ، حيث يقوم المطورون المؤسفون بالتحقق مما إذا كانت هناك سلسلة فرعية http أو https في المعلمة "التالية" ، على أمل إعادة توجيه المستخدم داخل نطاقهم فقط. ساذج. نحن نشحن:
http://213.170.100.214؟next=//your.freeapp.kek/
ثالثا ... بوت يذهب إلى موقعنا! لكن لا شيء آخر يحدث. دخلت الروبوتات ونظرت وغادرت (في اليوم الأول لم يكن الأمر كذلك ، لأن الروبوت كان لديه خطأ: لقد أرسلنا ملفات تعريف الارتباط مع جلسة بعد إعادة توجيه إلى موقع المهاجم ، مما جعل المهمة أسهل قليلاً ، في اليوم الثاني ، تم إغلاق الثغرة في اليوم الثاني).
ومع ذلك ، إذا قمت بإنشاء نسخة من صفحة التفويض ، فستعتقد الروبوت أنه تم تسجيل الدخول وتسجيل الدخول إلى صفحتك. نقوم بنسخ الموارد من صفحة التفويض الخاصة بالشبكة الاجتماعية وإنشاء صفحة تصيد. على الخادم ، نكتب إلى سجلات جميع تسجيلات الدخول وكلمات المرور. نرسل الرابط إلى الروبوت ، ويقوم بتسجيل الدخول عن غير قصد إلى الصفحة المزيفة.
نأخذ اسم المستخدم وكلمة المرور وتسجيل الدخول إلى الشبكة الاجتماعية ، نحصل على المفتاح. النجاح!
لهذه المهمة ، كتب أحد المشاركين لدينا ، mr_umnik ، اقرأ هنا .
المهمة رقم 4 - "تشفير التشفير"
المهمة الرابعة لـ "Crypto Crypto" مكرسة ، بشكل غريب بما فيه الكفاية ، للتشفير! وهذا ليس حول CTF RSA التقليدي ، ولكن عن الأصفار في العالم القديم ، عندما كان فن التشفير في مهده.
لذلك ، يتم إعطاء أرشيف مع ثلاثة ملفات. تتضمن محتويات الملف الأول نصًا مقروءًا وسطرًا مشفرًا:
استخدم الحكمة التي أعطتها الإلهة لك.
5fw909zcmxsc7sxn1m6m86wxs2xrhrx78r72333mms8rlkg1u41o4dm82n632n2c2s8r17nwx3673c6hnh8n8x3mn7dwrrdswmxm1nc3wc681d16rmdc8cx
السؤال الذي يطرح نفسه ، أي نوع من آلهة نتحدث؟ دعنا ننتقل إلى الأسطورة. المرجع الوحيد هو ذكر امرأة حكيمة في خوذة مع حربة في يديها ، مصورة على ميدالية سيربيروس. تتوافق مثل هذه الأثواب مع إلهة الحكمة أثينا ، والتي توحي على الفور باستخدام الشفرات الأفقية الثابتة. القوة الغاشمة القديمة الجيدة سمحت لفك تشفير الرسالة السرية:
معامل 9b6598564ebfb1fd6576cac681c87000bb51
نص مشفر 2b174f07479751ce84d60f809fa4a14160b482dcc25db6be490d9f1e2efcb29196
إذن ما العمل بعد ذلك؟ ربما الملف الثاني سوف يعطي المزيد من المعلومات؟ لذلك محتوياته:
ما رمز القديمة الأخرى سوف تتبادر إلى الذهن؟ دعنا نبدأ مع بسيطة ...
35ub2b9slmkjonnqtsokomumqnphkinmrqlqoyz4aayvr4tzv4ax8vv19xrcvb9ayv6fayrx58vr4ayv58v3r4uayvtyz4v9v68v9v4avuayvtyz4v9vayv58v3rs5baf5b145ddyra
أول شفرات تتبادر إلى الذهن هي شفرات قيصر . لحسن الحظ ، ويمكن فك تشفيرها بسهولة! نحصل على:
معامل b45327669cb7375d596803165a9497
تلميح قدم لنا الإغريق القدماء نظرية فيثاغورس ، وقدم الصينيون النظرية الصينية عنك تعرف ماذا
آها! هنا هو تلميح! وعلاوة على ذلك ، مما يشير إلى نظرية البقية الصينية . تنص هذه النظرية على أنه يمكن إعادة بناء عدد صحيح معين من مجموعة بقاياها من القسمة على أرقام من مجموعة من الأعداد الأولية المتبادلة الزوجية.
لذلك ، لذلك ، لذلك ، لدينا 2 وحدات ، وكذلك نص مشفر معين. ربما هذا النص هو نفس عدد صحيح استعادة؟ ثم ، للعثور على البقايا ، يكفي إدخال النص المشفر إلى وحدتين معروفتين لنا. نحصل على:
البقايا 1: C1 = Mod Cexttext mod (modulus 1) = 8b53إنارة74ebfb1fd6576cac681c86ffc36e7
البقايا 2: C2 = Mod Cexttext mod (modulus 2) = 14327669cb7348d59680c6595418
ماذا تفعل بعد ذلك؟ لنلاحظ الملف الثالث:
كان لدينا اثنين من الوحدات البسيطة المتبادلة ، واحدة نص مشفر خفي ، تلميحا في بعض التكنولوجيا الصينية و ... طباعة من سبارتا القديمة.
ليس أنه احتياطي ضروري لحل اللغز ، لكن منذ أن بدأت في جمع تلميحات ، من الصعب التوقف ... ربما حان الوقت لبدء حلها بالفعل؟
يبدو أن كل شيء في مكانه ... باستثناء طبعة سبارتا القديمة. لماذا هي هنا؟ ربما هناك مثل هذا الشفرات؟ في الواقع ، فإن شفرات سبارتا القديمة تسمى أيضًا شفرات زيتال .
دعونا نحاول فك تشفير المخلفات الناتجة. نتيجة لذلك ، نختار تلك التي تتزامن شظاياها مع قطع العلم الواردة في وسيلة الإيضاح. نتيجة لذلك ، تلقينا:
M1 = 88b78fb7161c54fcc33eda86bb6c6edf56f7
M2 = 19d64c553b9927657384640168c8
ثم العلم النهائي يأخذ النموذج:
NQ2019 88b78fb7161c54fcc33eda86bb6c6edf56f719d64c553b9927657384640168c8
المهمة رقم 5 - "رسالة Apple"
وفقًا للأسطورة ، لدينا البيانات التالية: صورة من كاميرا ويب بها "Robert B. GmbH". وأيضا - ملف مع بعض المحتوى الغريب. للحصول على المفتاح ، يجب عليك ملء الحقول التالية من النموذج:
علاوة على ذلك ، يشير بطل الأسطورة إلى أن الصورة هي تلميح إلى رقم الهاتف ، وأن الملف يجب أن يقودنا بطريقة ما إلى معرف الكاميرا.
سنتعامل مع الصورة أولا. البحث عنه على الإنترنت لا يؤدي إلى أي شيء. لكن النقش "Robert B. GmbH" بعد الطلب الأول في Google يخبرنا أن الشركة المصنعة لهذه الكاميرا هي شركة Bosch الألمانية ، مؤسسها هو Robert Bosch. ثم حان الوقت لتذكر أنه في نموذج الويب بالقرب من الحقل ، تم وضع علامة على "الهاتف" "(.gr)". حسنًا ، الإجراء يحدث في اليونان ، إنه منطقي. لذلك ، بعد بعض المداولات ، ننتقل إلى موقع Bosch اليوناني . ورقم الهاتف المشار إليه هناك ( +30 210 5701360 ) هو ما نحتاج إليه!
نمرر إلى الملف الثاني. يحتوي على نوع الإدخال التالي:
... c6d1eb6f29d739176bdbe79c3d3b504c9d64fecb ... olympic_shot.png
كان علينا تخمين أن لدينا رابط المغناطيس في أبسط أشكاله ، حيث يوجد تجزئة تستخدم في شبكة BitTorrent الأكثر شيوعًا! يبقى لاستعادة تنسيق ارتباط المغناطيس بشكل صحيح.
المغناطيس :؟ xt = urn: btih: c6d1eb6f29d739176bdbe79c3d3b504c9d64fecb & dn = olympic_shot.png
نضيف هذا الرابط إلى العميل سيل ، قم بتنزيل الصورة:
للوهلة الأولى ، لا يوجد شيء مميز في ذلك ، ولكن إذا نظرت عن كثب ، يمكنك أن ترى أن المعلم في مدرسة يونانية قديمة لا يوجه إصبعه إلى الفراغ ، ولكن في رابط صالح تمامًا إلى مجموعة فكونتاكتي.
في المجموعة ، نجد منشورًا يحتوي على الجزء التالي من المهمة. من الضروري تنزيل ملف مكتوب في C من المستندات والعثور على أخطاء بناء الجملة والدلالي فيه. في الملف نفسه ، يمكنك ملاحظة التفسير الغريب للأساطير اليونانية القديمة.
C شفرة المصدر#include "AncientGreece.h" void eat (int who, int *whom) { *whom = 0; } int BirthOfAthena() { int Zeus = 10000; int Metis = 1000; int Athena = Zeus + Metis; eat(Zeus, &Metis); Athena = 0; bool headache = TRUE; int kick = -1000; do { kick++; if (kick = Athena) { Athena = 1000; headache = FALSE; } } while (headache); return Athena; } int ApplesOfTheHesperides() { int labour = 0; int Heracles = 100; int heaven = 100000; int Atlas = 1000; int golden_apples = 8222; bool trick = TRUE; while(!Heracles_is_here) { Atlas = Atlas + heaven; if (labour == 10) break; labour++; } Heracles_is_here = TRUE; Atlas = Atlas - heaven; Heracles = Heracles + heaven; Atlas = Atlas + golden_apples; trick = TRUE; Atlas = Atlas - golden_apples; Heracles = Heracles - heaven; Atlas = Atlas + heaven; return Heracles + golden_apples } void BirthOfZeus() { int Cronus = 1000; int newborn_gods[] = {1000, 1000, 1000, 1000, 1000, 1000}; int i = 0; for (i = 0; i < 6; i++) { eat(Cronus, &newborn_gods[i]); } int Zeus = newborn_gods[6] + 10000; bool battle = TRUE; bool peace = FALSE; int Thetis = newborn_gods[0] + 1000; int Hera = newborn_gods[2] + 1000; int Hades = newborn_gods[3] + 1000; int Demeter = newborn_gods[1] + 1000; int Poseidon = newborn_gods[4] + 1000; Cronus = 0; battle = FALSE; peace = TRUE; } void main() { BirthOfZeus(); BirthOfAthena(); ApplesOfTheHesperides(); }
نجد الوظيفة الرئيسية () ونفهم أنه من الضروري النظر في الوظائف حسب ترتيب مكالماتهم في main () ، والأرقام في هذه المهمة لها معنى خاص بها: يتم تعيين الشخص الذي لم يولد بعد / إله بالرقم 0 ، والشخص برقم 100 ، وكل آلهة وجبابرة - 1000 وزوس الرعد هو 10000.
انتقل إلى وظيفة BirthOfZeus (). من المنطقي أن نفترض أن هذه الوظيفة تتحدث عن ولادة زيوس ، وكذلك عن كفاحه من أجل السلطة. لذلك ، بعد قراءة أسطورة ولادة زيوس ، نلقي نظرة على الكود ، ونرى أن دورة من 0 إلى 6 في هذه الحالة هي خطأ دلالي - لم يأكل كرونوس خمسة من أبنائه ، بل خمسة فقط. يبقى لفهم كيفية إنشاء مفتاح من هذا: يتم تجميع المفتاح بواسطة أرقام الأسطر مع الأخطاء. الجزء الأول من المفتاح - رقم السطر - هو 60. ننتقل.
الخطأ التالي ينتظرنا في السطر رقم 64 - كل شيء بسيط ، يتجاوز حدود المصفوفة.
الخطأ التالي على الخط 67. والحقيقة هي أن ثيتيس ، وهي آلهة ثيتيس ، لم تكن ابنة كرونوس وشقيقة زيوس. بدلا من ذلك ، يجب أن يكون هناك آلهة هيستيا.
في دالة BirthOfAthena () ، ينتظرنا خطأ للغاية: في الحالة على السطر 20 ، يتم كتابة علامة واحدة متساوية ، ووفقًا لمعيار اللغة C ، تكون علامتان متساويتان ضروريتان للمقارنة.
كانت الوظيفة الأكثر تعقيدًا ApplesOfTheHesperides (). فرع من مهمة مباشرة تنشأ حرفيا على الفور. لماذا int golden_apples = 8222؟ ليس واضحا بعد.
يحتوي منشور VKontakte أيضًا على بعض النصائح لهذه المهمة:
1) أين تبحث عن الجواب؟ في الافتتاح الذي حدث في الأول من مارس.
من خلال عرض أحداث أول مارس (لفترة قصيرة) (أو يمكنك أن تجد على الفور ما تحتاجه من خلال تذكر المنشور وتذكر الخيمياء) هو اكتشاف الجدول الدوري لـ D. I. Mendeleev. عظيم ، والمضي قدما!
2) ماذا تستخدم عند وضع جزء من المفتاح؟ (لاحظ موقع اللغز في النص)
• ما الذي يوحد الكلمات الثلاث التالية: Mnemosyne، Ocean، Huygens؟
• من أعطى الناس النار؟
جوجل والعثور على الجواب: TITAN OF PROMETHES. كما هو مذكور في المهمة ، سيساعد هذا في تجميع المفتاح. يبقى أن نفهم لماذا بالضبط 8222. لم يكن عبثا بحثنا عن معلومات حول الجدول الدوري: من الواضح أنه يجب البحث عن الجواب هناك. تذكر الكيمياء ، نجد الرقم التسلسلي للذهب = 79.
لكن ماذا عن التفاحة؟ ربما ، سوف تأتي الكيمياء في متناول يدي هنا بطريقة أو بأخرى. نكتشف أن التفاح يحتوي على معظم البوتاسيوم. الرقم التسلسلي هو 19. نقترب من السر العظيم: لماذا 8222 ، وليس 7919؟ بالطبع ، رمز قيصر القديم الجيد. نحول كل عنصر 3 إلى اليمين ، ونحصل على قيمة 8222.
كان هناك اليسار تافه: لتشفير TITAN من PROMETEI وفقا للجدول الدوري. كلا هذين العنصرين موجودان في الجدول ، نحصل على: 2564. بشكل ملحوظ ، ننتقل إلى مزيد من اكتشاف الأخطاء في الكود.
في نفس الوظيفة ، من المتوقع وجود متغير غير مهيأ في السطر 38 ، خطأ دلالي في السطر 41 (كان 12 هيركوليس الفذ!) وغياب فاصلة منقوطة في السطر 52. فوه ، تمكنا. الرمز الناتج = 606467202564384152. هذا هو معرف الكاميرا لدينا. غريب ، ولكن في اليونان القديمة لا يحدث هذا.
ندخل هاتين القيمتين في النموذج ، ونثبت للعالم أجمع أننا لسنا روبوتًا ، ونحصل على المفتاح الذي نعتز به!
المهمة رقم 6 - "يذهب ، الثور ، يتأرجح"
المهمة رقم 6 هذا العام كانت صعبة للغاية ، لكنها مثيرة للاهتمام. سنقوم بتحليله بالتفصيل في Habrastatya منفصلة ، ولكن في الوقت الحالي ، قل لفترة وجيزة: كان عليك أن تلعب مع Minotaur باستخدام تطبيق مفقود.
المهمة رقم 7 - "أنت أكثر وضوحا؟ لا ، سريع! "
في هذه المهمة (التي ستكون أيضًا كتابة منفصلة!) ، طُلب من المشاركين التعامل مع تطبيق يقوم بتشفير البيانات المدخلة باستخدام قيمة معلمات مقياس التسارع بالجهاز التي تم التقاطها أثناء الضغط على الأزرار الموجودة على لوحة المفاتيح. لإكمال المهمة ، كان من الضروري إدخال بيانات مختلفة في التطبيق ، وتحليل التحيزات الناتجة بعناية.
المهمة رقم 8 - "المترجم الإلهي"
ربما يكون المشاركون المنتظمون قد تعلموا هذه المهمة - فقد بقي من العام الماضي. ثم لم يمر أي شخص بالجزء الثاني ، وقررنا إعطائه فرصة ثانية. وفقًا للجزء الأول من المهمة ، يوجد برنامج مكتوب على Habré ، حيث يخبرنا أساسًا عن بحث الثغرات الأمنية. لم يركز تركيز المهمة هذا العام على البحث ، ولكن على استغلال الثغرات الأمنية - ولهذا السبب ، مرة أخرى ، سنفرز هابراستاتي منفصلة.
خلاصة القول هي أن برنامج مترجم الأوامر يعمل على منفذ شبكة الخادم. البرنامج الثنائي متصل بالمهمة. يعمل الخادم بنظام Windows Server 2016 ، ومن بين أشياء أخرى ، يتم تضمين آلية حماية CFG هناك. كل ما هو معروف عن المفتاح هو أنه يتكون من 70 حرفًا ويقع في ملف key.txt بجوار الملف القابل للتنفيذ على الخادم.
المهام №9 - "اللعبة في المربع"
في هذه المهمة ، لدينا خادمين. يمكنك إرسال أرشيفات RAR إلى الخادم رقم 1 ، الذي تم فك حزمه هناك ، كما يمكنك المساعدة في إخفاء المفتاح على الخادم رقم 2.
المهمة رقم 10 - "لا تضغط ، أوديسيوس"
كانت هذه المهمة واحدة من أصعب المهام ، حيث أتقنها مشارك واحد فقط. البيانات الأولية - الأرشيف مع البنية التحتية للشبكة ، وجميع الملفات اللازمة التي تم تشفيرها. وإذا تم تشفيرها ، فهناك طريقة واحدة فقط - فك تشفير!
مهام استخلاص المعلومات رقم 9 ورقم 10 سوف تأتي أيضا منفصلة Habrastatami!
وقد أنشأ العلماء البريطانيين
الإحصاءات الصغيرة لهذا العام:
- عدد المشاركين المسجلين 1014 شخص.
- عدد المهام المنجزة - 10/10
- عدد المشاركين الذين أكملوا مهمة واحدة على الأقل بالكامل هو 33.
عدد مفاتيح صالحة لكل مهمة
عدد المفاتيح الصالحة لكل يوم من أيام المسابقة
طوال فترة المرحلة عبر الإنترنت من NeoQUEST-2019 ، تم استلام 94 مفتاحًا.
ما التالي؟
ثم - "المواجهة" في 26 يونيو ، في سان بطرسبرغ ، والتي ستستضيف نهائي منافسينا! نحن في انتظار أفضل المتسللين للتأكد من أنك الأفضل حقًا! وحول أولئك الذين لا يأتون ، سوف نفكر مثل هذا ...
تابع الأخبار على الموقع الإلكتروني للحدث الصيفي!