Light mode

Готовимся к кибербитве в роли Blue Team

  • #BlueTeam

О чем статья

Советы для blue team, впервые принимающих участие в кибербитве Standoff, — от состава команды до технических лайфхаков 

Кибербитва Standoff — это ежегодные международные киберучения. На них ИБ-специалисты проверяют защищенность компаний на примере виртуальной инфраструктуры. Мы разворачиваем сегменты полигона, в которых воссоздаем максимально реалистичные ИТ-системы. Как правило, сегмент — это определенная отрасль экономики или компания, которая ее представляет. Каждый сегмент включает один или несколько сервисов, которые обеспечивают работу компании/отрасли.

Подготовка 

Вашу инфраструктуру будут атаковать много команд хакеров. Вы будете в постоянном аврале, ведь активность red team будет буквально везде. Поэтому ваша команда должна уметь слаженно работать.

Процесс подготовки включает не только решение организационных вопросов (распределение ролей, ознакомление с правилами и т. д.), но и освоение теоретических материалов и выполнение практических задач. Команде выдается все скопом — ведь время изучения будет разным у каждого человека. Материалы включают как базовые (введение в ОС и сетевые технологии, популярные атаки), так и сложные темы (туннелирование, скрытие трафика, продвинутые сетевые атаки и эксплуатация уязвимостей).

Параллельно команда защитников изучает свою инфраструктуру. Рисует карту сети, сканирует активы, находит уязвимости, планирует возможные векторы реализации критических событий.

Менторы

Материалы, конечно, сильно помогут до старта соревнований. Но по-настоящему blue team может встряхнуть человек, который будет видеть сильные и слабые стороны как команды, так и отдельных людей. Это ментор — ИБ-эксперт, но при этом еще и преподаватель.

Основная задача ментора на соревнованиях — помочь участникам еще сильнее прокачать свои навыки. Ментор знает почти обо всех событиях, происходящих на полигоне: насколько хакеры близки к реализации риска, каким путем они этого добиваются, сколько команд хакеров уже получили первоначальный доступ к инфраструктуре.

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

Ментор наблюдает и за капитаном. В некоторых сценариях он может помочь в управлении командой, корректном распределении человеческих ресурсов.

Технические лайфхаки

Действия хакеров зачастую типичны. Способы повышения привилегий, получения первоначального доступа, горизонтального перемещения повторяются. Постепенно можно собрать набор тактик и техник… поиска событий. Ниже мы перечисляем основные способы фильтрации в СЗИ, которые позволят увидеть большую часть действий злоумышленников на скомпрометированных активах инфраструктуры.

С чего начать расследование

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

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

Однако бывают ситуации, когда вы не знаете, какое именно критическое событие произошло, и не можете даже приблизительно определить, на каком этапе находится злоумышленник. Тогда лучше всего начать расследование с анализа ИБ-инцидентов. Инциденты формируются на основе скоррелированных событий, которые позволяют выявить закономерности, указывающие на потенциальную угрозу. Например, несколько связанных событий — множество неудачных попыток входа и последующий успешный вход, запуск подозрительного процесса и исходящее сетевое соединение — могут быть объединены в один инцидент. Это упрощает анализ и ускоряет обнаружение атаки.

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

Как найти хоть что-то?

Где смотреть скоррелированные события и откуда они берутся? Есть быстрый способ проверить, что было скоррелировано SIEMом на хосте. Применяем фильтр, убирая нескоррелированные события, группируем по имени корреляции (см. рис. 1).

(event_src.host = "hostname.domain.stf") AND (correlation_name != null)

Рисунок 1. Скоррелированные MaxPatrol SIEM события 

И вот перед нами список разных скоррелированных событий. Кстати, в базе знаний MaxPatrol SIEM содержатся описания каждой из корреляций. 

Как найти исток атаки?

Допустим, мы нашли явное подтверждение того, что хакеры уже завладели хостом. Надо определить, как они смогли туда попасть. Тут нам поможет дерево процессов. Мы увидели подозрительную активность, а значит, можем посмотреть, какой процесс ее породил. Эта информация хранится в поле object.process.parent.id.

Зная ID процесса, можно найти его запуск с помощью фильтра object.process.id. И ведь у этого процесса тоже будет свой родитель. По итогу мы обнаружим, какой процесс был источником активности. Например, если цепочка процессов стартует от explorer.exe, то с большой вероятностью хакер получил доступ к ПК с помощью RDP. А если от spoolsv.exe, то была проэксплуатирована уязвимость службы печати.

Если хакер пользовался cmd или powershell, можно легко отыскать все запущенные процессы от этих оболочек, используя PID оболочки в качестве значения поля object.process.parent.id. Тут мы можем увидеть и whoami, и arp, и certutil, и запуск ВПО. Ведь все это — порождаемые процессы.

Был ли дамп УЗ с хоста?

При получении доступа к узлу хакеры часто ищут учетные данные в системе. Есть много утилит для поиска учеток, но для многих из них уже написаны нужные корреляции. Вот один из примеров фильтра: 

event_src.host = "hostname.domain.stf" and (correlation_name = "Mimikatz_Command" or correlation_name = "LSASS_Memory_Dump" or correlation_name = "LSASS_Memory_Dump_via_Migrated_Process").

Командная работа

Состав команды

Когда речь заходит о формировании команды для расследования инцидентов ИБ или участия в кибербитве, многие думают: чем больше, тем лучше! Но это заблуждение. Представьте себе футбольную команду из 40 человек. Это полный хаос. Кто-то будет стоять на поле, кто-то — на трибунах, а кто-то вообще решит пойти за попкорном. В итоге играть не будет никто.

Почему 40 человек — это не команда?

Если в команде слишком много людей, невозможно эффективно координировать их действия.

Хаос вместо порядка. Каждый начинает делать то, что хочет. Никто не знает, кто за что отвечает, в итоге все задачи либо дублируются, либо остаются невыполненными.

Проблемы с коммуникацией. Чем больше людей в команде, тем сложнее им общаться. Представьте, что вам нужно согласовать каждое решение с 39 людьми. Это как пытаться организовать вечеринку в чате с 40 участниками: пока все договорятся, праздник уже закончится.

Снижение ответственности. Когда в команде много людей, каждый думает: ну, кто-нибудь другой это сделает. В итоге никто ничего не делает. Это «эффект толпы» — чем больше людей, тем меньше ответственность каждого.

Оптимальное количество человек — 15

Это идеальное число, которое позволяет всем быть на одной волне, быстро принимать решения и эффективно распределять задачи.

15 человек — золотая середина. В такой команде каждый знает, кто за что отвечает, и может сосредоточиться на своей задаче. При этом все могут легко общаться друг с другом, не теряя времени на бесконечные совещания.

Гибкость. Маленькая команда может быстро адаптироваться к изменениям. Если что-то пошло не так, вы можете быстро перегруппироваться и поменять стратегию.

Четкое распределение ролей: аналитики, инженеры, коммуникаторы и стратеги. 

Как избежать ошибок при формировании команды?

Выбирайте правильных людей. Не берите в команду просто потому, что человек «хороший» или «приятный». Важно, чтобы каждый участник обладал нужными навыками.

Распределяйте роли заранее. Перед началом работы четко определите, кто за что отвечает.

Убедитесь, что все на одной волне. Команда должна работать как единый механизм. Для этого важно, чтобы все участники разделяли общие цели и понимали, как их достижение зависит от работы каждого.

Роли в команде

  1. Специалист по рискам: человек, который видит будущее

Он изучает инфраструктуру, анализирует уязвимости и составляет потенциальные векторы реализации критических событий.

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

Например, после проведения сканирования в режиме pentest и audit этот эксперт изучает найденные уязвимости и определяет, какие из них могут быть использованы для атаки. Затем он составляет план, как минимизировать эти риски.

Один из итогов его работы — карта активов с обозначением хостов, где возможна реализация критических событий, указание векторов взлома этих хостов, возможных уязвимостей, которые будут проэксплуатированы хакером.

  1. Аналитики SOC: первая и вторая линии

Первые два уровня аналитиков — саперы и детективы в одном флаконе. Они копаются в логах, ищут аномалии и пытаются понять, что происходит.

1-я линия. Эти ребята берут на себя самую горячую работу — инциденты, которые появляются в СЗИ. Они видят событие, быстро его анализируют и решают, что делать. Если проблема серьезная, передают ее дальше.

2-я линия. Занимаются более сложными вещами — например, разбором корреляций между MaxPatrol SIEM, PT NAD, PT AF и другими ИБ-системами. Представьте, что вы играете в шахматы и пытаетесь предсказать, какой ход сделает противник через три шага. Вот так работает 2-я линия: они ищут скрытые угрозы и пытаются понять, как злоумышленник планирует действовать.

Здесь вспоминается один забавный случай. Однажды команда решила разделить роли, но забыла обсудить, кто за что отвечает. В итоге, когда произошла атака, все начали делать одно и то же — анализировать логи. Никто не занимался устранением проблемы, потому что каждый думал, что это делает кто-то другой.

  1. Эксперт по анализу уязвимостей: человек, который видит картину целиком

Этот специалист — как режиссер фильма. Он смотрит на всю картину происходящего и берет на себя расследование наиболее сложных инцидентов. Например, в одной из расследованных цепочек атаки неясно, как хакер смог повысить привилегии в системе. Ни первая, ни вторая линии SOC не смогли найти инцидентов и событий, связанных с этим. Тогда эксперт помогает дорасследовать эту цепочку, используя весь свой бэкграунд.

  1. Технический писатель: человек, который пишет историю

Он — как автор книги, который собирает все события воедино и пишет отчет.

Технический писатель берет данные от аналитиков и других специалистов и составляет отчет о том, что произошло, какие действия были предприняты и какие рекомендации можно дать. Эта задача не так проста, как может показаться на первый взгляд. Специалисту нужно превратить отдельно взятые шаги злоумышленника в целый вектор атаки. И при этом не упустить важные детали, а к каждому шагу прикрепить техническую информацию и скриншоты из СЗИ. Когда хакеры реализуют сложное критическое событие, оно зачастую состоит из большого количества шагов (порой около 25).

  1. Координатор (капитан) команды: человек, который держит все под контролем

По сути, это дирижер оркестра. Он планирует и организует работу команды, чтобы все процессы шли гладко и не было хаоса.

До начала соревнований капитан распределяет роли в команде, организует подготовку к соревнованиям, контролирует процессы анализа инфраструктуры.

Уже во время соревнований он приоритизирует расследования, анализирует сданные командой отчеты, участвует в процессах, если это необходимо.

Организация рабочего времени

Когда участники находятся в одном офисе или в одном часовом поясе, выстроить подготовку проще. Команда может легко распределять временные интервалы для выполнения разных задач — от анализа правил фильтрации в SIEM-системах до создания карт доступов и моделирования возможных векторов атак. Но что делать, если участники находятся в разных часовых поясах?

  1. Распределение времени для синхронизации команды во время подготовки

Нужно выбрать временные интервалы, когда все участники могут находиться онлайн одновременно. Совместная работа в таких сессиях позволяет команде не только координировать действия, но и прокачивать сплоченность, что особенно важно для новичков. Рекомендуем выделять несколько дней в неделю для синхронизации работы команды: обсуждайте задачи, распределяйте их на ближайшие дни и проверяйте, какие результаты уже достигнуты. Тогда каждый участник будет понимать важность соблюдения сроков и явно не захочет оказаться слабым звеном.

  1. Составьте план подготовки

Вместе с командой решите, какие темы необходимо изучить или повторить до участия в битве. Составьте подробный план. Если члены команды будут ему следовать, то к старту битвы будут иметь одинаковые базовые навыки и в случае чего смогут заменить друг друга.

  1. Самодисциплина

Каждый член команды должен грамотно распределять свое время, особенно это касается участников из других часовых поясов. Упорная подготовка — это хорошо, но если вы будете работать по 12 часов в день, то к началу битвы у вас просто не останется сил.

  1. График участия в кибербитве

Если вся команда находится в одном часовом поясе, играть вместе удобно, однако, если между участниками есть разница в 5, 6 и более часов, лучше всего сделать график дежурств. Например, ночью и утром могут дежурить те, кто находится далеко, а затем их сменит основная часть команды. 

Схема сети и карта доступов

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

Схема сети: карта поля боя

Схема сети — это не просто набор соединительных линий между элементами инфраструктуры. Это детальная карта поля боя, где каждый узел может стать стратегически важной точкой. Вернемся к шахматам: если вы потеряете контроль над ключевыми фигурами, игра закончится поражением. То же самое и здесь: если вы не знаете, где находятся ваши ключевые активы, злоумышленник легко их захватит.

Ключевые активы — это как важнейшие объекты в реальной военной операции: электростанции, мосты, склады с боеприпасами. В цифровом мире это могут быть:

  • центральные серверы аутентификации (как главный вход в вашу систему);
  • узлы хранения данных (где хранятся все ваши секреты);
  • критические системы управления (без которых ваша инфраструктура просто перестанет работать).

Как опытные команды используют схему сети? Они не просто отмечают эти активы на схеме, а моделируют различные сценарии атак на них. Представьте себе классическую RPG-игру, где для каждого уровня прописаны варианты развития событий. Так и здесь: команда заранее продумывает, как будет развиваться ситуация при компрометации того или иного актива.

Например:

  • Что будет, если злоумышленник получит доступ к серверу аутентификации?
  • Как он сможет перемещаться по сети после этого?
  • Какие меры нужно принять, чтобы остановить его?

Карта доступов

Это ваш «цифровой замок» с ключами от всех дверей. Но знаете что? В отличие от реального дома, где ключи можно спрятать под ковриком, здесь такие трюки не прокатывают. Если злоумышленник найдет слабую точку, он легко проникнет внутрь.

Что должно быть на хорошей карте доступов:

Все уровни привилегий — от простого зрителя до главного волшебника системы. Это как уровни доступа в видеоигре: одни игроки могут только смотреть, другие — менять правила игры.

Критические точки аутентификации — те самые места, где система проверяет: а ты точно свой? Это как охранник у входа, который спрашивает у вас пропуск.

Зоны ответственности каждого участника команды: кто за что отвечает.

Почему это важно? Представьте, что кто-то из команды обнаруживает подозрительную активность на одном из серверов. Если у вас есть полная карта доступов, вы сразу поймете:

  • кто имеет доступ к этому серверу;
  • какие привилегии у этих пользователей;
  • какие меры нужно принять, чтобы остановить атаку.

Как создать идеальную схему сети и карту доступов?

  • Начните с базового анализа. Проведите аудит своей инфраструктуры и найдите все ключевые активы. Это как составление списка вещей перед путешествием: если вы что-то забудете, это может стать проблемой.
  • Используйте визуализацию. Графики, диаграммы и схемы помогают лучше понять, как устроена ваша сеть. Это как карта метро: она показывает, как все станции связаны между собой.
  • Обновляйте схему регулярно. Сеть меняется, и ваша схема должна меняться вместе с ней. 

***

На этом пока все. В следующем номере мы поделимся техниками проведения расследований во время кибербитвы.

Мы дěлаем Positive Research → для ИБ-экспертов, бизнеса и всех, кто интересуется ✽ {кибербезопасностью}