С 27 по 29 октября состоялись соревнования по защите информации, проводимые по принципу Capture the flag (захват флага): hack.lu 2010. Соревнование проводила команда Рурского университета в Бохуме. Задания были разделены на несколько категорий: web-безопасность, криптография, реверс и форензика.

Не упуская возможность проверить свои знания, я зарегистрировал команду Сыктывкарского государственного университета. 27 октября в 13:00 на e-mail пришло сообщение: «Ahoy me Landlubbers! The fluxfingers are proud to announce the start of this years' HACK.LU CTF. Some tweet might have already indicated, that it's going to be all about pirates, yarr! We hope that you'll enjoy the CTF and wish you the best luck with looting all the hidden doubloons…». Откуда мы узнали, что темой этого CTF будут пираты.

Всего зарегистрировалось более 60 команд со всего мира, которым на 2 дня было предоставлено 23 задания. Первое задание, которое мы решили, звучало примерно так: «Что вы видите на небе?» и прикреплена картинка. Для решения было необходимо установить яркость и контраст на максимум, после чего появилась надпись «MD 5». Проверяем в качестве ответа md5 хэш от картинки… «Congratulations!».

Следующим заданием было найти ключ в pdf файле. При открытии pdf-ки появляется форма с запросом ввести ключ. Стало понятно, что используется JavaScript, и нашей задачей было найти этот скрипт. Открыв файл в блокноте (предворительно прочитав несколько статей о структуре pdf), начали искать что-нибудь интересное. Заметив надпись f146uxfi165ger.165et (разработчиком соревновании был fluxfinger), стало понятно, что некоторые буквы закодированы. Пролистав ниже, обнаружили большой кусок закодированных данных. Расшифровываем начало, получаем искомую надпись: «…JavaScript», значит мы на верном пути. Еще немного времени, и находим: «var key='45cd5f86ea1b489e4a5e86b98'».

Организаторы турнира не забывали и про тему пиратства: одним из заданий было выиграть в игру у капитана пиратов. Проходя по ссылке, которая была дана, мы получили длинную строку (как позже выяснилось, таких строк было 5). Если декодировать эту строку методом base64 и сохранить новую строку (с помощью hex редактора) в формате .jpg, то получим одну из 5 картинок, на которых изображены: камень, ножницы, бумага, ящерица, спок. Тут и стало понятно, в какую игру мы должны выиграть, но, к сожалению, задание так и не решили, потому что не знали как написать наш вариант ответа.

Еще одним заданием, которое мы решили, было восстановить информацию с поврежденного устройства. Была дана картинка этого устройства и строка 1E 25 22 22 2F 5D 5F 20 65 28 25 1D 1B 28. Поискав похожую картинку в интернете, наткнулись на USB KeySafe PRO – устройство, которое сохраняет все нажатые клавиши. Значит наша строка – это клавиши. Сделав смещение всех символов на 2A, получили следующую строку: HOLLY‡‰J†ROGER. Если заменить H на J, то все сходится (как же затрагивать пиратов, и не вспоминать Веселого Роджера), но в какой форме записать ответ? Вспомнив, что наше устройство запоминает все нажатые клавиши, начали рассуждать, что же можно нажать, вместо непонятных символов ‡‰†. Смотрев на клавиатуру минут 20, осенило! HOLLY*Home**Del**End*ROGER…Вводим в чеккер…«Congratulations!».

Также было задание, которое сложно отнести к соревнованиям по защите информации: выпить пол литра пива за максимально короткое время и предоставить видео в качестве доказательство.
Подробнее о заданиях с этого и прошлых ctf, а также о приближающихся соревнованиях можно посмотреть на сайте bda-expert.ru в разделе «Соревнования по информационной безопасности Capture the Flag».