Финал ruCTF 2012
Недавно состоялся финал главного российского CTF — ruCTF. В этом году в финал попали 12 команд — часть команд по итогам отборочных и часть команд за вклад в развития CTF’ов в России (т.е. они делали свои CTF’ы).
Наша команда Bushwhackers заняла на отборочных этого года 8-ое место (против первого места на отборочных 2011 года). Отборочные в этом году были, однозначно, интереснее и сложнее, чем квалсы 2011 года. Как мне кажется, это частично связано с тем, что в этом году отборочные устраивала команда SiBears, а не Hackerdom (как обычно), и делала это в первый раз. Думаю, сказалась высокая ответственность и желание сделать все на самом высоком уровне. Отдельных лестных слов заслуживает сайт blackbox.sibears.ru, написанный на Django (мой любимый фреймворк).
Финал в этом году снабжался легендой и проводился по обновленным правилам. Очевидно, авторы были вдохновлены iCTF’ом 2011 года (легенду и правила можно вспомнить вот тут), который был ни больше ни меньше воистину spectacular. Очевидно, мы наблюдаем тенденцию по уходу от плоской модели монетизации флагов в очки к более сложным моделям.
Предвижу, что скоро на каком-нибудь CTF мы будем, захватывая флаги от тех или иных сервисов и защищая сервисы различных классов, прокачивать различные умения своего виртуального героя (attack & defense, получать equipment в виде бонусов за решение miscellaneous tasks и т.п.). В конце игры герои будут импортироваться в Mortal Kombat или Heroes of Might and Magic для завершающей разборки :)
В финале ruCTF командам были предложены образы Windows 2003 с сервисами на языках Erlang, F#, Ruby (RoR), perl, C++. Что ж, необычно! Наша команда сражалась как лев и заслуженно заняла 6-ое место, с чем я и поздравляю всех ее участников! Одновременно поздравляю победителей ruCTF 2012 — команду [Censored] из Калининграда.
Традиционные благодарности принимают создатели ruCTF — команда Hackerdom. Отдельное спасибо за то, что команда не скатывается в штампование одинаковых финалов и квалсов, а находит в себе силы и мотивацию придумывать и реализовывать что-то новое. Так победимЪ!
В завершение привожу выдержку из лога нашего командного чата — вот он истинный дух CTF!
bushwhacker_001: Как только мне удается перебороть себя и сесть за диплом, вы сразу же начинаете флудить в чятике
bushwhacker_001: Не, понятно, можно отключить уведомления
bushwhacker_001: Но селективно только от этого чятика — нельзя
bushwhacker_002: ты можешь отключить popup notification для всех чятиков, и повесить вместо него скрипт, который будет парсить все регекспом и показывать попап только для нужных тебе чятиков
bushwhacker_002: ну в общем я запилил нотификейшены через notify-send вместо скайповского, но чувствую что я себе сам впилил сейчас remote command execution…
bushwhacker_001: достойно
bushwhacker_003: ../../../../../../bin/bash
bushwhacker_001: Ну-ка
bushwhacker_001: » || true ; rm -rf /home/nea
bushwhacker_002: я предусмотрительно успел выпилить, да =)
bushwhacker_001: жаль
Dirty Magic @ Penetration Testing
Пока мои коллеги вовсю подводят итоги прошедшего года и делают прогнозы на новый, я решил окончательно сорвать покровы с темных чародеев в сфере услуг тестирования на проникновение.
Чтобы не было разносудов, сразу скажу, что под пентестом я понимаю получение некоторого уровня доступа к заданному ресурсу при заданных ограничениях. Например,
— получить доступ к документам с грифом ДСП;
— получить максимальные привилегии на одном из сетевых устройств в ядре;
— получить root в кластере процессинга и т.п.
Главное, что вопрос полноты, как при аудите, не стоит.
А теперь самое вкусное — это ограничения. Перечислю их по порядку от банальных до более тонких:
— время — например, под атаку отводится 24 часа, после чего Game Over @ Jigsaw Movie;
— методы воздействия — технические, физические, социальная инженерия;
— объекты воздействия — ломайте как хотите, а узел X не троньте;
— ресурсы и мотивация потенциальных злоумышленников.
И вот тут начинается самое интересное. Команда высококлассных пентестеров обладает заведомо большей квалификацией и набором инструментов (в том числе платных, за 100500$$), чем среднестатистический вероятный Интернет-проходимец.
Теперь представим себе такую ситуацию:
- Я заказываю пентест своей корпоративной сети и сервисов, оговаривая профиль предполагаемого нарушителя (в профиль входит мотивация, квалификация, доступные ресурсы).
- Пентест делает коммерческая фирма, которая хочет все работы выполнить с минимальными издержками. Так что пентестеры p0wn’ят мою сеть, например, через DNS Rebinding, переходят к режиму «белого ящика», находят уязвимость, которая подпадает под профиль нарушителя, обозначенный в договоре — вуаля!
- С одной стороны — да, получается, что тестируемая сеть не защищена от ожидаемых потенциальных нарушителей — есть конкретная уязвимость. С другой стороны мне абсолютно не понятно, будет ли уровень мотивации и квалификации потенциального злоумышленника, которого я ожидаю, достаточным для того, чтобы откопать и проэксплуатировать найденную уязвимость именно в режиме черного ящика. И моделирование именно такого процесса я ожидал, а не применение «ломика в рукаве»!
К чему я это все?
Во-первых, я за честные и открытые пентесты (открытые не как выборы, а как редиректы).
Во-вторых, я призываю всех наконец осознать важность включения модели нарушителя в аналитические работы по оценке защищенности IT-ресурсов.
Всех с наступающим!
iCTF’2011
Буквально пару слов.
Третьего дня вонзались в iCTF’2011. Мне кажется, это главная игра для всех причастных. При всем уважении к PHD и ruCTF.
Наблюдательный читатель все равно бы заметил нытьё, так что я поною прямо:
— 13 место, 5-ое среди наших команд (в том году были 30-ые);
— сдали позиции с 6-ой до 13-ой за последний час, потому что не смогли допилить челенджи. Очень хочется верить, что не смогли, потому что не тупые, а устали, но это для злорадствующих.
Отдельно хочется отметить большое количество российсикх команд в топе:
— Чуть более копчёных элитных цыплёнков (перевод — авторский, бить — меня; капризель — превед), которые только в последние 15-ть минут про**ли лидерство каким-то упырям. Парни, мы за вас болели всю игру.
— Хакердом. Старые соперники, которые в середине игры никак не воспринимались нами всерьёз, но потом по итогам были выше. Alas for us all.
— Консистентность с ruCTFE — мы были 12-е и тоже 5-е среди наших (и тоже слили с высокого места, но там из-за сообщений об уязвимостях).
So, in anticipation for further challenges, we hail the winners:
1. We_0wn_Y0u from Austria
2. More Smoked Leet Chicken from Russia
3. FluxFingers (Mario, Reiners, cheers) from Germany.
…
and the last but not the least,
41. Bushbabies from Russia. Our team of youngsters. We wish them good luck and a progressive kick off.
Забавный дуализм в оценке рисков ненаправленных атак на сайты
Многие владельцы небольших веб-сайтов не ожидают направленные атаки на свои ресурсы. Таким образом, задача обеспечения безопасности сводится к реализации ровно таких защитных мер, которых достаточно для предупреждения ненаправленных атак.
Напомню, что целью ненаправленных атак являются любые информационные ресурсы, после компрометации которых злоумышленник получит с них некоторый доход (единовременный или постоянный). Из определения следует, что ненаправленные атаки характерны во-первых, массовостью, и, во-вторых, невысоким уровнем мотивации злоумышленников в отношении своих целей. Действительно, вместо длительного взлома одной хорошо защищенной цели экономически выгоднее скомпрометировать несколько менее защищенных целей.
До недавних пор я считал, что в деле защиты от ненаправленных атак работает принцип двух товарищей и медведя. Принцип гласит, что для того, чтобы не быть съеденным медведем, не надо бежать быстрее медведя, а достаточно бежать быстрее своего товарища. В переложении на веб-безопасность это значит, что защищенность сайта должна быть немного выше, чем средняя защищенность других сайтов того же класса в той же гео-зоне. Идея понятна: злоумышленники, реализующие ненаправленные атаки, добиваются массовости. Следовательно, у них есть понимание того, когда анализ очередной цели стоит прекратить (ибо он становится не cost-effective, т.е. прибыль с данного сайта не покроет ресурсы, потраченные на его взлом) и перейти к следующей, вероятно более уязвимой цели.
Так вот на днях меня посетило озарение, что это не всегда так. Тег «Далее»
В тему последних событий с поисковиками — загадка!
Дано:
- Есть сайт А, на котором есть уязвимость SQLi, позволяющая удалить все данные из БД.
- Есть форум B, на который мальчик Петя постит ссылку, при переходе по которой отправляется запрос, реализующий SQLi на сайте А и, как следствие, удаляющий там данные.
- Есть поисковик С, который радостно индексирует форум B и, переходя по ссылке, наносит ущерб сайту А.
Вопросы:
- Виноват ли поисковик в том, что на сайте А пропали данные?
- Если не виноват поисковик, то кто же виноват?
Credits: навеяно знаменитым постом Миши Залевского в журнал Фрак.
Update: загадка не имеет ничего общего с раскрытием перданных. Мы говорим про прямой ущерб от уничтожения данных.
Поисковики отакуэ — анонимность опасносте!
Не успел утихнуть скандал с раскрытием СМСок Мегафона, не успели обманутые жены и мужья подать заявление на развод, как грядет новая серия неприятных минут для пользователей секс-шопов и прочих радостей жизни.
А все дело в том, что в Яндексе можно искать статусы доставки заказов некоторых Интернет-магазинов.
Получается примерно вот так:
Тынц
Пользовался онлайн секс-шопом? Жди на почту шутки, подколки и всякие увлекательные предложения уже завтра!
О том, как одновременно посидеть на нескольких стульях, или программа Positive Hack Day
Причастные, наверное, уже знают, что 19 мая в Москве состоится мега-мероприятие под названием Positive Hack Day. На моей памяти такого в России еще не было, жду с нетерпением.
А сегодня на сайт была добавлена программа мероприятия. Внимательное изучение показало — надо сходить везде. А если учесть, что все это идет в пять параллельных треков, да еще 19-го у моего сына День рождения, становится ясно: some tough decisions should be made.
По созвучию с PhD и накалу внутренних противоречий тут же вспомнилась песенка So Much Drama in PhD, которую всем настоятельно рекомендую послушать :)
Увидимся на форуме!
Задание на РусКрипто’2011 CTF от Bushwhackers
Таки я за РусКрипто CTF пару слов хочу сказать. В 2010 году ребята из Positive Technologies задали высочайший уровень для РусКрипто CTF. К сожалению, в этом году новые организаторы не смогли соответствовать. В итоге получилось … кхм … Ладно. В итоге просто не получилось.
Подробности (плюс описание нашего задания) следуют далее. Тег «Далее»
Квалификация ruCTF’2011
Ну что ж, наша команда Bushwhackers заняла первое место на квалификации ruCTF’2011, с чем ее от всей души и поздравляю!
Большое спасибо организаторам за мероприятие. Хочется, тем не менее, отметить возросшие требования к использованию библиотеки libastral по сравнению с квалификацией 2010 года.
Не могу не поделиться фотографическим вещдоком, на котором зафиксирована наша команда в деле:
Мини-отчет нашей команды можно прочитать вот тут: http://redsecure.ru/blog/ructf-quals-2011-bushwhackers.
Кто на самом деле придумал искать уязвимости методом fault injection
Вызывает антирес
Ваш технический прогресс:
Как у вас там сеют брюкву —
С кожурою али без?..
Один из самых распространенных способов поиска уязвимостей методом черного ящика является «fault injection». Идея метода крайне проста: а давайте-ка мы в качестве входных данных передадим приложению всякий «мусор» и посмотрим, что будет? Если в выходных данных мы увидим специфические ошибки (например, синтаксические ошибки парсера SQL), то с большей долей вероятности можно делать вывод о наличии уязвимости.
Так вот оказывается (!!!) этот метод придумали ребята из Cenzic всего-то в 2007 году. Об этом свидетельствует патент №7185232 с заголовком «Fault injection methods and apparatus». За прошедшие 4 года вокруг патента разгорелась настоящая война: Cenzic подавала иски на HP и IBM с целью признанения факта незаконного использования Великого Научного Открытия в продуктах этих компаний.
Против патента открыта Интернет-кампания, с ее подробностями можно ознакомиться вот тут: http://stop232patent.com/
p.s. Пора, пора уже патентовать time-based техники, а то опередят!!!