Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
В 70-х годах для взлома телефонных сетей использовался обыкновенный свисток, в 90-х Адриан Ламо взламывал банки через интернет, используя только возможности браузера. Мир кибербезопасности не стоит на месте, постоянно усложняется и остаётся одной из самых интересных и захватывающих сфер в IT. Специально для тех, кому она интересна уже в институте, «Ростелеком» и «Ростелеком-Солар» уже второй год подряд дают возможность проверить свои силы в индивидуальных соревнованиях «Кибервызов». Итак, под катом — о том, как будут проходить эти соревнования, примеры заданий и рассказы победителей прошлого года о том, что оказалось самым сложным и как они съездили в НТУ «Сириус» на углублённый курс по информационной безопасности.
Что надо будет взломать?
Ничего, но всё равно будет интересно. «Кибервызов» проходит онлайн в два этапа. Основное веселье будет в начале: участникам необходимо в течение двух суток решать задачи по криптографии, поиску и эксплуатации бинарных уязвимостей, расследованию инцидентов, программированию и веб-безопасности. А для драйва на сайте будет табло с результатами в режиме реального времени.
Задачи делятся на шесть категорий:
- Crypto — криптографическая защита информации;
- PWN — поиск и эксплуатация реальных уязвимостей;
- PPC — программирование подсистем безопасности (professional programming and coding);
- Reverse — обратная разработка и исследование программ;
- WEB — обнаружение веб-уязвимостей;
- Forensic — расследование инцидентов в IT-сфере.
Категория состоит из 2–6 заданий, в каждом из которых нужно отправить «флаг» — кодовый набор символов — и получить за него баллы. Все флаги соревнования имеют одинаковый формат: CC{[\x20-\x7A]+}. Пример: CC{w0w_y0u_f0und_7h3_fl46}. Флаг используется в качестве секретной информации, которую нужно извлечь, находя уязвимости в анализируемых сервисах или исследуя предоставленный файл. Отправленные флаги проверяются автоматически, и результаты выполнения можно увидеть в режиме реального времени на табло.
После первого этапа 70 человек, набравших наибольшее количество баллов, попадут на скайп-интервью со специалистами «Ростелеком-Солар», где они проверят знания и раздадут приглашения на образовательную программу по кибербезопасности банковской сферы в НТУ «Сириус».
Качать Kali Linux и WireShark?
Не только. Например, в категории Web участникам был предложен сервис, в котором нужно было повысить привилегии пользователя за счёт эксплуатации web-уязвимости. В другом задании из категории Crypto необходимо было расшифровать сообщение, секретный ключ к которому неизвестен.
В каждом задании мы старались дать рекомендации и избавить участников от очевидно неудачных решений. Например, не использовать сканеры портов там, где это заранее бесполезно. А заодно подготовили список утилит, которые могут пригодиться:
- в категории Crypto: Cryptool, Sage, xortool, John the Ripper;
- в категории PWN: поиск и эксплуатация реальных уязвимостей OpenStego, Steghide, GIMP, Audacity;
- в категории PPC: Python, Sublime Text, Notepad++, Vim, Emacs;
- в категории Reverse: GDB, IDA Pro, OllyDbg, Hopper, dex2jar, uncompyle6;
- в категории Web: WireShark, tcpdump, netcat, nmap, Burp Suite;
- в категории Forensic: binwalk, ExifTool, Volatility.
Все задачи прошлого года можно посмотреть по ссылке. Они создавались на основе реальных угроз и уязвимостей, с которыми сталкиваются специалисты по информационной безопасности. Для тех, кто успешно пройдёт оба этапа, мы вместе с Банком России подготовили двухнедельный курс по кибербезопасности в банковской сфере.
И что, будет интересно?
Мы пинганули победителей прошлого года, и они вернули TRUE, а заодно скинули лог того, что было на прошлом «Кибервызове».
Василий Брит: «Летом, после окончания первого курса университета, я играл с друзьями в Dota2, и тут мне в чат кинули ссылку о „Кибервызове". В CTF я прежде не принимал участия и не верил, что реально можно выиграть приз. Я решил доказать себе и всем остальным, что „нельзя просто так взять и поехать в Сочи".
Я решил задачи из категории Crypto, Web, Forensic и PPC. Самой сложной категорией был Reverse. Его почти никто не решил, потому что задания были составлены профессионалами и времени на них не хватило. Для решения Web помогли фазеры honggfuzz и wfuzz, а также клавиша F12. Задачи Crypto решались с помощью xortool и cyberchief. На самом деле утилиты были указаны в заданиях и можно было не тратить время на поиск подходящих инструментов. Самым крутым оказалось задание по Forensic — был дан дамп оперативной памяти и требовалось узнать, что было открыто в браузере, на рабочем столе, и достать все данные.
Поездка в Сочи стоила тех бешеных 24 часов с решением заданий — преподаватели «Сириуса» две недели рассказывали про информационную безопасность, начиная от Web и заканчивая бинарными уязвимостями с инструментами для их поиска. Рассказали про всё очень лаконично, с практикой и примерами. В этом году определённо буду участвовать».
Дмитрий Зотов: «Я в CTF играю не впервые, и задания „Кибервызова" показались мне очень интересными, но достаточно сложными. Очень понравились задания из категории Web и Reverse, хоть я его и не решил. Благодаря динамическому скорингу можно было видеть в процессе соревнований, кто и какие задания решил. Чем больше людей решали задание, тем меньше за него давали баллов, но ты мог отследить это и выбрать более сложные задания. Так у меня сложилось с одним из заданий категории Web — кроме меня его решила только пара человек. Для решения Web чаще всего самый полезный инструмент — консоль разработчика в Chrome ну и самые простые консольные утилиты: curl, wget и python. Но самым классным оказалось задание из категории Reverse — были даны службы Windows, где с первого взгляда было совершенно ничего не понятно. Я не смог оставить его даже после окончания соревнования и дорешал уже после.
В «Сириусе» нам давали тонны полезной информации по кибербезопасности, начиная от различных стандартов в этой области и заканчивая тем, как действует малварь в Windows и на что смотреть, чтобы её обнаружить. Я познакомился с классными людьми и отлично отдохнул, обязательно попробую свои силы в этом году и всем советую».
Роман Никитин: «Я регулярно участвую в соревнованиях CTF, и в „Кибервызове" для меня было много полезных и новых задач, с которыми прежде я не сталкивался. По моему мнению, самые интересные задания были в категориях Reverse, Forensic и Web. В Web нужно было найти уязвимость XXE, и это была одна из самых „дорогих" задач по динамической разбалловке. Самой сложной категорией стал Reverse: уровень заданий был сильно выше, чем в остальных категориях, — это было неожиданно и времени не хватило. Но самым крутым во всём соревновании был, разумеется, приз в виде поездки в „Сириус", обязательно буду бороться за него и в этом году».