Участники одного из оффлайновых хакерских турниров Cyber Readiness Challenge
В пятницу закончилась онлайн-игра хак-квеста Cyber Readiness Challenge, которую проводили Symantec и КРОК.
Частенько встречаются хакквесты, которые делают люди, далекие от профессионального инфобеза. Такие квесты можно узнать по заданиям на угадайку: для прохождения требуются не столько скиллы, сколько везение и угадывание что имел в виду автор. А здесь, похоже, получилась очень редкая вещь: соревнование делали люди, шарящие в инфобезе, но при этом далекие от мира CTF. В результате таски получились с одной стороны наивными, но в то же время технически правильными. В одном соревновании сошлись задания вида «Просканируйте сетку. Сколько у нас машин в сети?» и хардкорчик вроде «Расшифруйте заксоренный блок base64, мультибайтовый xor-ключ неизвестен».Влад «vos» Росков
Участники подключались к симулятору, моделирующему сеть крупной корпорации EDC. По сценарию в системе безопасности EDC произошло несколько инцидентов. Компания нанимает разобраться в случившемся лучших экспертов в области информационной безопасности, чтобы доказать или опровергнуть возможность взлома.
В целом на игру ушло около 3070 часов (общее время, затраченное участниками). Всего в турнире залогинилось 143 игрока из разных регионов России, из которых активно участвовало примерно две трети.
Победители
I место — vos – Влад Росков – Санкт-Петербург;
II место — VY_CMa – Игорь Каныгин — Омск;
III место — AV1ctOr — Виктор Алюшин из Москвы.
По итогам онлайн-части победил Влад Росков, выступавший под ником vos. Он практически сразу ушел в отрыв и сохранял его до самого финала, куда пришел с 36.800 из 38.800 возможных баллов, это 88 из 90 тасков (последние два флага не взял никто). Теперь, мы ждем Влада на оффлайн часть турнира 10 сентября.
Топ-20. Обратите внимание на отрыв первых игроков.
Рассказ Влада про турнир
Вот что рассказал сам Влад про игру журналистам:
«На мой взгляд прожженного участника соревнований по компьютерной безопасности (CTF), игра получилась удивительной: задания были наивными, но в то же время увлекательными. Это большая редкость. Любому желающему попробовать свои силы на простых и при этом технически грамотных заданиях по ИБ очень рекомендую пройти Cyber Challenge в следующий раз. С интересом жду оффлайн-этапа, и благодарю Symantec и КРОК за классный квест».
А вот что он рассказал мне уже для Хабра (здесь и далее это сокращения и сборка из нескольких писем, где шел диалог):
У меня свой взгляд на этот челленж, слегка искаженный профессиональной деформацией прожженного участника CTF. Симантековский хакквест удивил: он оказался одновременно и наивным, и интересным. Такое бывает редко.
Спал все ночи — это святое :)
На самом деле, удалось быстро вырваться вперед, решив целых 85 тасков в первый же день (спасибо поддержке Symantec, которая быстро отреагировала на проблемы с получением доступа к списку заданий). После этого я, честно говоря, подзабил и долго так и висел с 34300 поинтами и последней сдачей флага 15-го числа. В последний день сел еще поковырять, добил 3 задания.
Близкие не оценили целый день, проведенный носом в ноутбук :-D
Самое простое — смириться с отсутствием доступа в интернет при подключенной игровой VPN.
Наибольшая трудность — придумать при регистрации ник длиннее 3 символов.
Читал хинты на задания 88, 89. Не помогло.
Понравилась и изумила изоляция инфраструктуры игроков друг от друга. До сих пор не понимаю, как это было реализовано. Неужели на каждого из сотни игроков был поднят свой набор виртуалок?
Больше всего понравилось, что простые по формулировке задания заставляли пошевелить мозгами и придумать необычный способ решения. И еще это чертовски классное ощущение, когда идея срабатывает с первого раза.
Виктор Алюшин (III место):
Спал каждую ночь, но одну ночь ноут работал – подбирал пароль к mysql. В принципе все просто, кроме Metasploit, XSS, подбора пароля к mysql и 2 и 3 флагов на 4 уровне).
Почти все делал сходу, только не знал чем можно подбирать пароли mysql в online… Когда ваш бот не работал, и я думал как решать banter.edc, я думал что надо взломать IIS 4.0. Примечание: речь о 78 и 79 флагах — как только набралось достаточное количество участников, дошедших до них, получилось идентифицировать проблему и поправить её. Подсказки и счет при этом восстановили.
Больше всего понравилось, что далеко прошел и не пришлось скучать. А также то, что взломал куку Scoreboard и banter.edc. Просьба алгоритм не менять и давить какую-нибудь дырку на это, а то сейчас особой уязвимости расшифровка куки не предоставляла, кроме возможности украсть куку алекса.
Оффлайн? Конечно, только пригласите) Я живу в Москве, поэтому ехать недалеко.
Рассказ Теймура Хейрхабарова (IV место)
Дошёл до последнего 4 уровня, на нём удалось взять 2 флага из 5. В общем собрал 87 флагов, что позволило занять мне 4-е место. Сложно сказать, сколько я суммарно времени потратил на игру. Полноценно играть начал только лишь с 3 дня, да и только по вечерам, днём нужно было работать. Не спал только последнюю ночь, в остальные не мог себе такого позволить, подъём на работу в 6 утра. Основной проблемой для меня явилась нехватка времени из-за работы. Было бы хорошо, если бы игра началась, например, в среду, чтобы захватить выходные дни, когда можно было бы уделить игре достаточное время. Я думаю многие из игравших или тех, кто хотел поиграть, со мной бы согласились, так как многие среди них есть работающие и семейные люди.
Самым простым были задания из разряда какая версия того или иного программного обеспечения установлена на сервере или сколько хостов в сети. Наибольшую трудность вызвали 3 задания. Одно из них – брутфорс пароля пользователя СУБД MySQL. Пытался подобрать пароль около 2 дней, в итоге выяснилось, что используемый мной инструмент для брутфорса неправильно работал и пропускал даже действенный пароль. После смены инструмента пароль был подобран за несколько минут. 2 других задания из 3-го этапа очень долго не удавалось выполнить по причине технических проблем на игровых серверах. Из-за этого не было понятно, то ли я делаю что-то не так, то ли действительно игровой сервер сбоил. В итоге оказалось последнее.
Знаний было достаточно, не хватало временами практических навыков. Приходилось «гуглить» примеры использования той или иной утилиты.
Больше всего понравились третий и четвёртый этапы игры, где были задачки, которые действительно заставляют подумать. Ну и конечно же драйв последних часов игры, когда развернулась нешуточная борьба между участниками первой десятки рейтинга.
Оффлайн? Вероятнее всего нет. Живу в Красноярске, до Москвы далековато.
Вот рассказ Андрея Леонова (VII место), тоже не для журналистов:
Взял 86 флагов. Несколько из них пришлось брать без очков, использовав все подсказки.
Думаю, что в общей сложности на всю игру ушло часов 50. Но в довольно равном темпе. Спал часа по четыре в сутки.
Как и следовало ожидать, я не очень силён в анализе сетевой инфраструктуры и в инструментарии linux. Из-за последнего не удалось взять 87 флаг (я понимал, что нужно перенаправить порты через машину 1.1.2.19, и даже понимал что мне в этом может помочь, но конкретную реализацию вовремя найти не смог, ни через nc, ни через socat), что очень обидно. Поднялся бы повыше в турнирной таблице.
Что бы я изменил? Часть задач, особенно из простых, показались мне чрезмерно простыми и/или не совсем из области информационной безопасности.
В чем отличия от других турниров? В научной-популярности. Можно было участвовать даже с минимальным багажом знаний, но большим желанием, и достичь не плохих результатов, не только в турнирном табло, но и в плане получения новых знаний.
Затруднения… ну тут всё просто — 2 или 3 подсказки я потратил на следующие флаги:
— Сколько хостов онлайн во внутренней сети
— Пароль от пользователя базы данных netadmin — тут очень подвела гидра, скормил ей 200К паролей, а она молчала. Помог ответ службы поддержки, что пароль в одном из словарей распространённых паролей. Сменив инструмент брута на metasploit/mysql_login, ответ был получен за пару минут. А потратил я на этот флаг сутки)
— Flag 78 — на него ругались многие. Но трудность не в том, что я не понял, что делать, а в странной работе бота. Но тут уж — как есть. Самое странное, что в таблице уровней, загруженной в последнюю минуту, у меня нету информации, что я использовал все три подсказки. Чудеса?) (прим.- здесь все также объясняется той же проблемой, которая описана выше).
Лично мой меркантильный интерес — больше уязвимостей в веб приложениях. Хороших и разных. Где XXE?:) Где хоты бы простенький WAF(ну хотя бы чтобы кавычки нужно было за urlencod'ить)? В некритичных для прохождения задачах было бы интересно увидеть что-нибудь относительно новенькое — SSRF. например. Или менее очевидные вектора. Хотя это уже моя блажь — я в этом разбираюсь, мне однострочный юнион работающий через mod_rewrite, что слону дробина=) Вот если бы там нужно было, поняв вектор, и поняв, что эксплуатация не проходит mod_rewite, побрутить скрипт на который передаются данные, вот это уже было бы интереснее.
Оффлайн? Надо регистрироваться=). Лично и себя показать и на других посмотреть. Хочу пожать руку vos'у. Огромное всем спасибо за такие интересные пять дней. Пилотная серия прошла отлично — ждём следующую:)
Андрей также рассказал несколько вещей, которые мы пока не будем публиковать, поскольку это явные спойлеры (первый онлайн-турнир проводился в России, но будет и в других странах).
Наш опыт
Как я уже говорила, онлайн-турнир в рамках CRC проводился, по нашим сведениям, впервые. Многие участники просили поднять IRC-канал для общения, плюс был просчёт с одной неправильной подсказкой (на сложность брутфорса паролей жаловались многие). Эти и другие замечания мы учтём, плюс когда закончим анализировать статистику прохождения всеми участниками, возможно, модифицируем задания и подсказки. После этого турнир будет проводиться не только в нашей стране.
Кто проводил турнир и зачем?
Корпорация Symantec (мировой лидер в области решений для обеспечения безопасности, резервного копирования данных и высокой доступности) и компания КРОК (российский лидер в области создания ИТ-инфраструктур, №1 в России по услугам системной интеграции по отчетам IDC за 2002–2012 гг.). Основная цель проведения Cyber Readiness Challenge в России и по всему миру — образовательная. Отчёты с прошлых мировых турниров можно найти вот здесь. В проведенном онлайн-раунде хотелось максимально охватить именно регионы — ведь оффлайновая часть будет точно в Москве, и участвовать смогут не все.
Как принять участие?
10 сентября 2013 года в Москве состоится оффлайн-чемпионат, в котором могут принять участие желающие старше 18 лет. Он будет несколько сложнее – участникам выделят четыре часа, чтобы проникнуть в сеть RK Industries и доказать или опровергнуть её участие в атаке на конкурента.
Кому бы посоветовали такой турнир?
Влад Росков: Идеал для новичков, хорошая разминка для прошаренных.
Андрей Леонов: Я бы без зазрения совести посоветовал бы такой турнир тем, кто только начинает свой путь в области информационной безопасности. Это не значит, что турнир был простым. Но учитывая то, что задания в целом следовали одно из другого, и были подсказки, порой содержащие полностью ответ, то можно было обрести много новых знаний. Или понять где не хватило даже подсказок :)
Виктор Алюшин: Посоветовал бы абсолютно всем – от начинающих до профессиональных пинтестеров и просто тем, кто хочет попробовать себя в хакерстве. Для последних я бы посоветовал сделать пошаговые инструкции [особенно для Metasploit] скажем за 110% стоимости задания ;).
Теймур Хейрхабаров: Всем тем, кому не безразлична тема информационной безопасности, а в особенности её практическая сторона… Я впервые поучаствовал в подобном мероприятии.
Зарегистрироваться на оффлайн-часть можно вот здесь. Места ещё есть.
CROC Cyber Conference
Параллельно пройдет конференция CROC Cyber Conference, где эксперты обсудят вопросы информационной безопасности. Все мероприятия нацелены на повышение информированности жителей России о важности защиты конфиденциальных данных.