Pull to refresh

Comments 9

«Интересный момент: команда RDot, занявшая третье место, сумела найти и проэксплуатировать больше всех уязвимостей, однако ей не удалось защитить украденные деньги, которые были похищены с их счета командой More Smoked Leet Chicken.»

Интересно было бы увидеть комментарии команды RDot по этому поводу.
Собственно, предполагаемые уязвимости в самом сервисе эксплуатировала по сути только команда RDot в моём лице =)
А у неё деньги были похищены при помощи банального ARP-спуфинга, т.е. атаки на инфраструктуру, а не на само задание (систему ДБО).

Как выяснилось, из-за большой нагрузки в результате многопоточных атак циска перешла в режим хаба, и спуфинг стал возможным. Я не предполагал такой вариант, и возможности провести XSS не было, поэтому и не защищал свои куки, а SSL на веб-сервере не было.

Единственная атака, которую мы не успели осилить за ночь, — это «взаимодействие с тестовым сценарием, использовавшимся для контроля работоспособности API backend (обход проверок доступа, чтение произвольных файлов)».
Спасибо за подробное пояснение!
На самом деле уязвимости в самом сервисе эксплуатировали и другие участники (как минимум те, кто смог залогиниться, обойдя двухфакторную авторизацию).
Мы, например, юзали «обход защиты механизма отложенных платежей». И никакого ARP-спуфинга.
У меня только один вопрос к RDot: почему вы не вернули украденное у вас себе обратно (с помощью «обхода защиты механизма отложенных платежей»)?
Да, но у ботов вроде бы никто больше не стянул деньги %) Про вас MSLC почему-то говорили, что вы тоже заспуфили.
Ну, значит, были ещё те, кто расковырял саму задачу =)

Вернуть обратно не получилось, наверное, из-за DoS'а. ARP-спуфинг добавил нестабильности, и половина пакетов просто не долетала. Возможно, иногда частично возвращались какие-то суммы, но их снова переводили назад руками.
Поскольку во время соревнования MSLC сказали, что используют SSRF, я думал, что бесполезно что-либо предпринимать и даже не выходил из аккаунта и не делал целевые атаки по айдишнику.
Я уже говорил на PhDays — печаль, что получилось немного не fair play ;)
Сори, но мы не были уверены, что доберем нужное количество очков в других конкурсах, поэтому использовали все имеющиеся возможности. Ломали не ради денег, как ты сам понимаешь.
Спасибо ptsecurity за интересный конкурс!

Что понравилось:
— Архитектура системы ДБО с фронтэндом и бэкэндом, чистенький и понятный PHP-код.
— То, что виртуалку с ДБО дали всего за день до конкурса (у всех было примерно одинаковое время на поиск уязвимостей). В прошлый раз виртуалка была доступна для скачивания за неделю, и кто-то всю неделю спокойно исследовал, а кто-то в ночь перед конкурсом.

Чего не хватало в конкурсе:
— Защиты от ARP-спуфинга (может в следующий раз настроить на свиче привязку по MAC'у или настроить доступ к серверу по HTTPS ну или предупредить, что спуфинг разрешён)
— Защиты от DOSа на сервере (ограничить бы количество запросов в секунду от каждого участника)

С удовольствием поучаствую в конкурсе и в следующем году, если всё-таки решите его устраивать.
Не увидел в статье информации о произошедшем в рамках конкурса инциденте и дублировании очков.

«Большой ку$h» – традиционный для CTF конкурс. Взлом системы ДБО в ограниченное время с реальным денежным призом, это очень круто, но… Давайте по порядку. Есть конкурс, есть правила, есть победитель. Заранее анонсируют максимальное количество очков за конкурс, заранее всем объясняют, как именно очки будут распределены по итогам конкурса. Как так выходит, что в итоге одно и то же количество очков за победу получают две команды? Одна команда всю ночь готовится к конкурсу, анализирует систему, пишет эксплоиты и, как результат, успешно набирает баллы в конкурсе, а другая команда в итоге забирает себе победу и почти все очки с помощью сетевой атаки. Как бы ОК, все в порядке вещей, это хакерские соревнования, и их смысл в проведении кибер-атак. Но прежде всего, это соревнования, которые проводятся по определенным правилам. Согласно правилам, атаки на сетевом уровне (также как и атаки на других участников) или запрещены, или разрешены. На основании данного критерия по итогам конкурса выбирается победитель в условиях той ситуации, которая произошла в этом году. Почему в итоге всем наплевать на правила?

Также не могу не прокомментировать вот это:
В этом году отдельные конкурсы стали частью CTF (подробнее в нашей статье на Хабрахабре), и, наряду с гостями форума, участвовать в соревнованиях могли CTF-команды.

На PHD есть командные соревнования CTF, в которых учитывается суммарный рейтинг по очкам, набранным в разных категориях (в этом году – в разных конкурсах). Одновременно с этим, все конкурсы сами по себе являются доступными для всех посетителей форума, и для каждого из конкурсов есть свой отдельный рейтинг. Причем в одних конкурсах участников CTF удаляют из общего рейтинга, а в других – нет. Что особенно неприятно, удаляют уже во время соревнований, без предупреждения ДО их начала. В итоге выходит, что победители в «Leave ATM Alone» или в «Большой ку$h» получают награды и за CTF и еще отдельно за общие конкурсы, а победители «Конкурентной Разведки», например, за общий конкурс ничего не получают. Потому что лидера в «Конкурентной Разведке» выкинули из общего рейтинга из-за того, он являлся участником одной из CTF-команд. Что за двойные стандарты? Или для CTF-ников нет ограничений, или они должны быть одинаковыми для всех конкурсов, имхо. В крайнем случае, если какой-то из конкурсов особенный, нужно заранее предупредить все команды, что в общем рейтинге они не могут ни на что претендовать, но никоим образом не выкидывать лидера рейтинга в том или ином конкурсе уже во время его проведения.
В правилах в этом году действительно не было запретов на проведение атак на сетевом уровне, поскольку мы всегда решали эту проблему технически, а не организационно. В этом году появились накладки с рейтом в порт секурити – наша вина. Соответственно, ваша логика корректна – в правилах сетевые атаки не запрещены и выиграли участники с наибольшим количеством денег на счету.

Тут еще вот какой момент, финал конкурса проходит очень динамично, и по его ходу невозможно понять, как тот или иной участник добывает деньги — крадет их из банка или у других конкурсантов (и если так, то каким образом). В итоге подробности того, как именно победители смогли добиться такого результата стали известны уже после награждения, когда пересматривать результаты несколько поздновато.

Да и это, как вы отметили, все-таки хакерский конкурс, если кто-то проявил смекалку, то можно его только похвалить. Оборудование изначально было настроено так, чтобы не позволять проведение таких атак, и после конкурса ее не удалось воспроизвести, но во время финала это получилось (выше как раз сказано почему это стало возможным). В следующем году мы постараемся предусмотреть подобные ситуации еще и в правилах.

Что касается «двойных» стандартов в отношении участников CTF, то изначально, во всех конкурсах, помимо «Большого куша», рейтинг посетителей и команд был разным, т.к. место которое мог занять посетитель сразу превращалось в количество команд участвующих в данном конкурсе + 1 (это по нашему опыту оценка скиллов). Согласитесь, не очень хороший стимул для посетителей. Концепция изменилась в самом конце дня для конкурсов где фактически кроме команд или их участников некого было награждать. В Конкурентной разведке, о которой вы говорите, было очень много других участников. Уверяем вас, общение между организаторами конкурсов и участником CTF команды было спокойным и корректным: никто никого не выкидывал.
Sign up to leave a comment.