Александра Антипина, независимый эксперт, автор блога Inside и капитан команды Cult, рассказала порталу Cyber Media о своем опыте участия в кибербитвах, их отличиях от CTF-соревнований и дала рекомендации тем, кто планирует поучаствовать в кибербитве впервые.
Cyber Media: В чем разница между кибербитвами, которые проводят крупные вендоры, и CTF-соревнованиями в формате A/D?
Александра Антипина: Обозначенные в данном вопросе активности имеют массу различий как организационных, так и содержательных. Основываясь на опыте участия в соревнованиях моей команды Cult – я могу выделить здесь основные моменты.
Первое – это то, что обычно во время соревнований A/D каждой команде выдается одинаковое количество одинаковых приложений-сервисов, в среднем пять штук, которые затем каждая команда разворачивает у себя. В то же время во время участия в кибербитве либо во время решения киберполигона участникам предоставляется доступ к сложной сегментированной инфраструктуре содержащей в себе десятки виртуальных машин и сотни различных сервисов.
Второе отличие, которое стоит отметить – это то, что во время соревнований A/D сервисы чаще всего самописные – созданы организаторами и требуют поиска заложенной ими уязвимости, в то время как на киберполигонах преобладают стандартные сервисы используемых в игровой инфраструктуре операционных систем и распространенное ПО (CMS, ERP и т.п), в которых предполагается эксплуатация дефектов конфигураций или версионных уязвимостей.
Если у игроков A/D есть возможность изучить свои копии сервисов как white или greybox, то во время кибербитвы участники сталкиваются с исключительно c blackbox поиском уязвимостей.
Стоит отметить, что в отличие от игр в формате King of the Hill и A/D, В кибербитах не требуется патчить уязвимости и не поощряется препятствование другим красным командам в их эксплуатации – красные команды на кибербитве занимаются исключительно развитием атаки. Соответственно, название Attack/Defense говорит о большей вариативности действий, требуемой от игроков CTF, включая в себя защиту сервисов.
Резюмируя, я могу сказать, что из-за большого количества специфических различий между данными видами деятельности игроку соревнований формата A/D потребуется время на полную перестройку своих подходов и тактик для участия в кибертве.
Cyber Media: Насколько сложно пройти отборочные испытания, высока ли конкуренция между российскими командами?
Александра Антипина: 5-6 лет назад, когда я только начинала собирать команду Cult отбор команд происходил исходя из их описаний и достижений в прошлом. Я могу предположить, что это было продиктовано требованиями к количеству игроков и их компетенциям. Например, многие CTF команды могут состоять из пяти игроков, в то время как оптимальным для кибербитвы является число 10. К настоящему времени интерес к кибербитвам возрос и стали внедряться отборочные испытания, но так как моя команда стала занимать топовые места мы продолжили получать прямые приглашения.
Несмотря на то, что нас обычно приглашают напрямую, я в обязательном порядке слежу за тем какие задания предлагаются новым командам – зачастую это задача аналогичные по сложности соревновательным в меньшем объеме, но при большем количестве времени на их решение. Возникновение у команды серьезных проблем с решением одной из задач на период до 2 дней – для меня стало бы причиной задуматься о том, чтобы отложить участие в пользу улучшения подготовки, потому что соревнования длятся всего несколько дней и соответственно решение задач должно укладываться в минимально короткий промежуток времени относительно продолжительности соревнований.
Относительно конкуренции – ситуация достаточно тяжелая, так как данный вид соревнований молод, но уже популярен, красные команды, в силу профессиональной деформации, могут получать преимущества неэтичными путями, выводя конкуренцию за рамки спортивной и за рамки установленных правил.
Cyber Media: Какие советы и рекомендации вы могли бы дать тем, кто участвует впервые, к чему стоит быть готовым?
Александра Антипина: Я бы советовала изучить как можно больше тематических материалов в интернете об интересующей вас кибербитве – все опубликованные анонсы, райтапы и правила, в том числе предыдущих лет. Почему это важно сделать? Я часто замечаю, что у каждой площадки, поставляющей уязвимые виртуальные машины существуют повторяющиеся паттерны решения. Например, статистически, решая задачи на «площадке 1» мне встречались слабые пароли веб приложений, такие как admin:admin четыре раза из двадцати, в то время как на «площадке 2» мне в принципе не встречалось таких кейсов. Из этого можно сделать простой вывод – разработчики заданий у конкретного вендора обязательно имеют набор любимых уязвимостей и мисконфигураций, а также в условиях ограниченного времени могут дублировать задачи и несущественно изменять их. Соответственно большим плюсом для вас станет сбор базы знаний по конкретному киберполигону для вычисления любимых паттернов его разработчиков.
Если киберучения в которых вы участвуете подразумевают присутствие разных команд хакеров в одной и той же инфраструктуре, то необходимо учитывать, что стабильность такой инфраструктуры будет значительно ниже обычной. Это значит, что сервисы могут отказывать из-за ваших действий и действий других игроков, вследствие чего ваша разведка сети и сканирования не всегда будут отражать действительность. Поэтому, если у вас что-то не получается, например проэксплуатировать уязвимость, но вы уверены, что делаете всё правильно (и делали так раньше) и здесь должен присутствовать баг, то есть смысл уточнить у организаторов соревнований корректно ли на их стороне работает целевой сервис, прежде чем отчаиваться.
Cyber Media: Можете ли вы поделиться интересными кейсами из вашего опыта участия в кибербитвах?
Александра Антипина: Я могу вспомнить интересный кейс, который показывает, что иногда простой подход может открыть путь к решению сложной и в тоже время дорогой задачи, которая может принести множество баллов. Однажды, вместо того чтобы пытаться реализовать сложную цепочку атаки, затрагивающую сервис, статус и работоспособность которого не могла была быть проверена, мы использовали ручное добавление OTP-кодов в базу данных сервиса, что позволило нам сбросить пароль от админа в бизнес-логике, без знаний о внутреннем устройстве приложения, без знаний о связях в базе данных и без настоящего ОТP-кода для сброса пароля.
Cyber Media: Как выглядит оптимальная команда для участия в кибербитве, специалисты каких направлений обязательно нужны?
Александра Антипина: Оптимальная команда для участия в кибербитве должна состоять из 10 человек, но важно учитывать, что собрать 10 человек в одно время и в одном месте достаточно сложно, поэтому желательно знать людей, которые могут подстраховать на случай непредвиденных обстоятельств. Для комфортного участия в кибербитве необходимы специалисты одного направления — это пентестеры. Исторически в компетенции пентестеров входит умение искать и эксплуатировать веб-уязвимости, умение повышать привилегии в различных операционных системах, знать сети и уметь применять пивотинг, знать Active Directory и соответствующие атаки, уметь обходить антивирусное ПО и WAF’ы.
Я понимаю, что, например, студенческим командам будет сложно найти людей, полностью удовлетворяющих этим требованиям, поэтому существует возможность набора команды таким образом, чтобы эти компетенции были равномерно распределены между участниками.
Cyber Media: Формат кибербитв становится все популярнее: компании чаще проводят киберучения, появляется больше публичных соревнований. Какие рекомендации вы могли бы дать разработчикам кибербитв, на что стоит обратить внимание?
Александра Антипина: Одна из глобальных проблем при проведении соревнований между командами на единой инфраструктуре заключается в том, что участники соревнований могут мешать друг другу как умышленно, так и нет. Единая инфраструктура накладывает большие ограничения на вариативность заданий – существует множество атак на эксплуатацию мисконфигураций, влекущих за собой необратимые изменения в системе – сброс пароля, перерегистрация пользователя в сервисе с тем же логином, использование страниц, относящихся к процессу установки CMS. Внедрение вышеуказанных мисконфигураций будет означать, что после их использования одной командой другие игроки не смогут ими воспользоваться. Идеальным, но дорогостоящим решением данной проблемы стал бы индивидуальный разворот копии инфраструктуры под каждую команду либо возможность разворота копий подобных необратимых заданий.
Зачастую в виртуальной инфраструктуре, атакуемой хакерами, существует целая своя «история». Это подразумевает что для приближения к реальности разработчики закладывают «артефакты». Подобными «артефактами» могут быть коммиты в Gitlab, почтовая переписка между доменными пользователями, базы менеджеров паролей, или, банально, критичные файлы на рабочем столе пользователя. Эти ресурсы по моему мнению являются в своём роде «необратимыми» – их наличие редко проверяется скриптами чекеров и, при их отсутствии, заложенный ход решения может быть полностью недоступен.
Ещё одна идея, которую я стараюсь продвигать – это полноценное тестирование сценариев кибербитв. Обычно для этого привлекаются хакеры и им выдаётся доступ к бета-тестированию. Но мне кажется, что рациональнее было бы нанять человека, который проходил бы всё от А до Я хотя бы в формате graybox, имея на руках документацию от разработчиков заданий. Это бы точно помогло проверить работоспособность продукта и скорректировать все проблемы.
Нажимая на кнопку, я даю Согласие на обработку персональных данных в соответствии с Политикой обработки.
Зарегистрироваться