Новости Поездка на RuCTF 2009 - Глазами SiBears'a

blackzert
, 02 May 2009

Ура, мы победили в RuCTF 2009! =)

Далее многобуквенный рассказ от первого лица - Blackzert из команды SiBears.

запись является дополнением версии Progressor'a из NanoBears.

День 0. Тайга.

Выспавшись, как настоящий медведь, часов до 10-11 я в скором темпе начал собирать сумку. Благо этот квест оказался несложным, ввиду моей подвижной (в плане поездок) жизни. Где то там ближе к 12 30 мы с Леной и Вовкой отправились на вокзал пешим ходом. Настоящему медведю, тяжелые сумки не страшны! )

Итак, среда, 22 апреля, Томск-I, медведи. С сумками. С девушками. И бубном.

Пока все стояли и ожидали такси, Progressor неожиданно сорвался домой. Все в недоумении предположили, что за велосипедом, ан-нет.. А жаль.. Минутами спустя, мы увидели Димыча, который, как и полагалось главному медведю, ждал нас около нашего такси с тележкой, больше похожего на пони, чем на машину. В тележку сумки, на пони - мы. 14 человек не считая водителя. Поезда долгая - часа 4, посему мишки расслаблялись шутками, не редко разбавляя их долгими разговорами о компьютерной безопасности и о её нарушении ;). Где-то за Анжеркой, водитель включил диск Арии, за что был вознагражден подвыванием всех медведей Кипелову.

Тайга, вокзал, сумки. Сумки из тележки оказались в пыли, отобразив на себе всю прелесть русских дорог. Ну да ладно. Двинули на вокзал. Перроны, люди, сумки, тусуровцы, снова люди, снова сумки и наконец вокзал, а точнее сидения, на которых можно сбросить сумки и парочку медведей-охранников. Сбросив, Я, Димыч, Лена (уже другая;) ), Максим, Алексей и Аня пошли изучать местные достопримечательности - качели! Сто лет не качался, а тут на те - качели! Это было круто - как в детстве. Покачавшись час с лихвой, закупившись водой и бананами в местном магазине, мы направились обратно к сумкам. Местные обитатели, почему-то, сразу же определили нас как "не местных". Может всё дело в шарфе Димыча или в моей кепке?..

Поезд прибыл, мы загрузились и поехали, оставив где-то там, вдали, тайгу, качели, местный, и областной суд тайги. Всей Тайги.

День 1. А вот и мы.

В поезде было шумно, и во многом, благодаря нашей большой компании. Мафия, компутеры, голубая корова, разговоры, приколы - вроде бы больше ничего и не делали.

Екатеринбург показал свои просторы в окна поезда довольно-таки быстро. Выгрузились, пошли до трамвая. Уже в трамвае до УрГУ, Игорь выполнял роль нашего гида - у него в ноуте оказался ДубльГис с картой города. Оказывается и тут есть улица Шевченко. Меня даже Славка домой пригласил - где то на этой улице ;)

Трамваями, ногами, шутками добрались мы до гостиницы "А-Класс". За год здесь ничего не поменялось - всё такие же лабиринты. Разбились в 4 комнаты по 3 человека. Я жил со Стасом и Игорем. Это было забавно :)

Вечер - спать не хотелось. Мозг кипел идеями. Еще в поезде мы с Игорем, Стасом и Марком, придумывали всяки автоматические обёртки, эксплоиты и сервисы отправки всего всему. Поэтому, на равне с Димычем и Жекой, которые дописывали тренировку, мы сиделим до 3-х ночи и писали всё, что приходило в голову. Самое зачетное - это веб аппликуха с кнопочкой "hack", греющей эго по нажатию =) (кстати сказать, она действительно работала - всё "хакалось" само по себе, тонкости раскрывать не буду ;) ).

День 2. Мастер-класс.

Утро. Мы спали?.. Абы как встав, умывшись и придя в порядок, отправились на автобусе до УрГУ, попутно подрывая боевой дух команд, что ехали с нами в одном автобусе.

УрГУ... В прошлом году баннер, приветствующий нас, был развешен на входе, сейчас же он висел на втором этаже. Это говорило лишь о том, что теперь всё по другому.

Актовый зал. Открытие. Женя с Димой ушли пилить жюрейку, мы же остались смотреть концерт. Всё было здорово, не считая ужасной тяги ко сну из-за ночных действ. Ребята из других команд и организаторы приготовили доклады, в которых поведали о чем-то новом, что создавалось в мире безопасности. От нас же выступил Максим с обзором безопасности беспроводных сетей нашего Томска. Спасибо, Максим!

Пару слов о предстоящей игре, пару слов о прошедших отборочных, еще пару слов.. и организаторы отправили всех поесть.

Аудитория, компутеры, команды. Мы вели метод семинар. Дима и Вова ввели людей в курс того, что же такое этот RuCTF, как он проходил для нас, что мы делали и как готовились. Потом, после перерыва, понеслась наша тренировочная игра. Быть жюри - это круто :) В аудитории из медведей остались все, кто писал сервисы, кто точил жюрейку, и еще пару мишек, кому просто не куда было идти и было интересно. Некоторые же пошли гулять. С них отчёт - интересно, что они повидали, пока мы были в делах :)

Банкет! Круто :) Мы, пропустив пару бокалов вина и шампанского, веселились со всеми, кто населял эту аудиторию. Я, Макс, Игорь и еще может пару наших, встали у доски и начали писать формулировки теорем, определений и прочего. Между прочим - верно!. Это внесло долю математики во всё празднество.

А-Класс. Уж и не помню, писали ли мы что этой ночью, но порывы к тому явно были. Опять заснули без задних лап.

День 3. Свободный.

Экскурсию описал Progressor, я же хочу добавить, что мы были теми, кто отпочковался. сделали мы это не специально, а просто потому, что остановились купить воды у киоска. А нас уже и не искали. Ну и ладно, зато мы терь куда хотим туда и идём :) пошли к мосту, посмотреть на речку. Я, Марк, Игорь. Кто еще не помню.. Потом пару раз взглянув на часы, вернулись в УрГУ, где и встретились с остальными.

После всего, вернулись в гостиницу - бардак это не наше - скоро соревнования. Снова сели за ноутбуки и до часу ночи оттачивали то, что уже написано. Потом небольшой инструктаж о том, как этим пользоваться и здоровый крепкий сон.

День 4. Игра.

Припевы и бубно-освещение придумано было намедни. Исполнили впервые. =)

Аудитория была такая обычная с компутерами и растениями. За предоставленное нам организаторами время, мы переставили на 2-х машинах ОСь на убунту, воткнули ноуты в разетки, подключились. Даже один стол освободили от обитающего там повседневно компутера.

Началась игра. Мы решили не тратить драгоценный час на таски, а копать копать копать. Это было вознаграждено. За первый час я написал много адвизори на сервис WRW, за что и оказались сразу же первыми. Копать особо этот сервис не хотелось (уж слишком там всё было надуманно), мы залепили очевидные дырки, написали адвизы, и бросили его на мирное существование с жюрейкой. Однако, в покое он нас не оставил. Вскоре сервер стал зависать, и после трёх ребутов, Стас сообщил, что это апач. Почитав логи вайршарка, я понял что за скрипт приводит к этому, и быстро его пофиксил, заменив то, что приходим от пользователя, тем, что нравится мне :). Дос отбит, можно продолжать.

Вскоре с нас утянули первый флаг! и тишина... восстановив всё тем же способом как же это произошло, Димыч и Стас написали адвизори, патч, эксплоит.. почти одновременно с NanoBears полились флаги. Спасибо, парни ;)

Почти всю игру мы с Игорем копали реверсинг. всевозможный реверсинг. Задание на 100 баллов я даже особо и не разбирал. Увидев название сегмента UPX, я слил последнюю версию этого пакера и снял эту гадость. Зпустив далее в OllyDbg экзешник, отдав ему на вход то, что дало жюри, я увидел какие то цифорки в ответ. Отдал их как ответ.. ну на первый раз не помогло. Разбираться не охота, взялись за слоника. Кстати сказать, вскоре жюри выложили другую версию, которая на ввод выдала уже другие цифорки, расцененые жюри как правильные. Круто. +100.

Слоник был непростым. Мы разобрали весь протокол по которому он работает, нашли там лишний функционал и написали адвизори как его прикрыть и к чему ведет. ввиду отсутствуия эксплоита дали нам только 128 =(... как оказалось позже - всё что мы не смогли понять - это стандартное crypto api. Это же так просто по ассемблерным командам понять, что это MD2 =))..

Правда не догодались мы до одного очевидного решения.. Ну и ладно - этот сервис почти полностью раскопали, за исключением как раз функции крипто апи.

Команда NanoBears не давала нам покою на первом месте, постоянно желая столкнуть нас. Посему, посоревновавшись, у кого же из медведей лапа больше, Димыч решил удалять флаги.. и нам +2 и остальным +0, и тем у кого удалили +0 за защиту.. Жестоко.. а что поделать - время то военное!.

Reversing 500 оставил впечатление... вытянутые куски кода, MD4, MD5, SHA.. Марк с ним повоевал и понял, что он читает файл argv[1] и возврощает его хэш. Поиграв чуток с тем, что дало нам жури - мы плюнули на это дело ввиду безрезультатности. Всеравно реверсиров у других команд не особо много. Мы не решили - никто не решит за игру. Я не прав?...

Под конец игры нам задали перцу. Команда Just4Fun нашла дырку в сервисе на перле и начала тянуть оттуда флаги. Причем очень и очень быстро.. где-то минут через 30 после этого буйства, меня это начало угнетать, я глянул в вайршарк и понял почему так происходит. Написал адвизори на +25 и мы начали это дело раскручивать. Ну раскрутить не успели, игра закончилась. И фиг с ним :) Особо не радовались, ибо мало ли - там непроверенные адвизори были... Настоящая радость пришла лишь во время награждения.

Игра окончена. Дальше в программе Луна-2000. Приехали.. Чтото вроде развлекательного центра с клубом и боулингом. Ну и цены тут. Поели пицу всей берлогой. Я подбивал всех потанцевать. Игорь только согласился. Пошли с ним и Аней на верх - в клуб. А там сюрприз - в этот день там проходили не совсем танцы.. В общем вернулись мы обратно к мишкам. Мишки же уже собирались домой на такси. А нам чото захотелось остаться до 4 пока не приедет бесплатный автобус.. Я, Игорь, Аня.. Сначала играли в воздушный хоккей, потом болтали, потом смотрели клипы.. где то в 3 снова поднялись в клуб и вуа-ля - нормальная такая дискотека :) поколбасились, пофотались, и спать. =) Я рад тому что растряс себя после игры - это было круто)

День 5. Награждение.

Нас наградили за 1 место :) уря!!! )

Дальше всё происходило точно также, так что нет смысла повторяться.

отмечу лишь пару моментов.

Ночь 6-го дня. Томск.

Вся команда на Томске-I, где всё и начиналось. Мишки потихоньку разбредались. Так, как нам с Вовкой чуть ли не в один дом и пешком, решили проводить сначала всех, а потом пойти. Проводили и пошли :)

Это еще надолго отляжется в нашей памяти, и, пожалуй, каждый из нас хочет вернутся в те дни, в те ощущения и впечатления. Это было здорово.