Последние несколько лет я плотно занимался вирусным анализом. Это полезный опыт: погружение во вредоносный код помогает понять, как мыслят люди на той стороне. Благодаря этому я смог посмотреть на атакующих под другим углом — не так, как их привыкли видеть пентестеры, red team и другие практики наступательной безопасности.
В этой статье мы сравним два вида атак:
- Реальные. Обсудим практики, которые красные применяют на киберполигоне, и подходы реальных киберпреступников.
- Синтетические. Разберемся, для чего нужны системы эмуляции атак и в каких случаях они могут заменить классические red team.
Попробуем выделить преимущества и недостатки каждого подхода и разобраться, какой из них больше подходит для киберполигона. Погнали!
Про живой трафик
Red team
Давайте начнем с «хороших красных». Какие задачи они решают в рамках киберполигона?
В первую очередь участники сталкиваются с задачками, которые я называю «Hack the Box»: здесь атакующим нужно забирать флаги на одном-двух хостах. В очень крупную клетку алгоритм можно описать так:
- Осмотр хоста. Команда ищет информацию для первичного доступа к формам аутентификации на лендингах веб-страниц и сканирует открытые порты.
- Брутфорс учетных записей. На этом этапе участники подбирают пароли для обнаруженных почтовых адресов и никнеймов пользователей. Тем самым они пытаются получить доступы: к почтовым ящикам, уже упомянутой форме аутентификации на сайте, службе FTP-сервера или какой-нибудь популярной базе данных. Список можно продолжать долго.
- Эксплуатация уязвимостей (удаленное выполнение кода или внедрение команд). Может выполняться как благодаря брутфорсу, так и вместо него (или не выполняться вовсе). Зачастую это самая интересная часть атаки: она позволяет получить первичный доступ на хост-жертву.
- Повышение привилегий. На этом моменте красные уже снимают пару плюшек с почти захваченного компьютера, но пока это «дешевый» результат. Для дальнейшего развития атаки нужно заполучить больше прав. Как правило, красные эксплуатируют уязвимости ОС, чтобы добраться до заветных root-прав. Но их конечная цель может быть масштабнее: контроль БД с доступом к чувствительным данным, управление бизнес-процессом, который нужно скомпрометировать, захват учетной записи для выполнения действий на другом сервисе и т. д.
- Реализация целевого недопустимого события. Вишенка на торте — то, ради чего ребята и собрались в этот прекрасный день. На этом моменте мучения несчастного компьютера обычно заканчиваются.
На первый взгляд, все выглядит достаточно просто — зачастую так оно и есть :) Но попадаются и более сложные сценарии. Например, эксплуатация уязвимостей может проходить в несколько этапов, а эксплойты иногда приходится дорабатывать или вообще создавать с нуля.
Бывают и задания другого плана — «инфраструктурные» сценарии, в рамках которых атакующим нужно проникнуть в инфраструктуру офиса и развивать атаку вплоть до реализации недопустимых событий. В этом случае красные обычно идут по следующему алгоритму:
- Фишинг пользовательской машины. Атакующие присылают пользователю письмо с вредоносным вложением, полезные нагрузки проходят первичную фильтрацию и запускаются на машине жертвы. Цель — создать первичную опорную точку (Foothold) для дальнейшего развития атаки.
- Повышение привилегий. Опять же, с первичным доступом далеко не уйдешь: чтобы продвинуться дальше, нужно повысить себе права.
Обычно мы оставляем на пользовательских машинах закладки, которые упрощают жизнь атакующим. Однако участники часто находят совершенно новые пути, о которых мы даже не думали. Мы не считаем это нарушением правил или собственным упущением, ведь это делает испытания еще интереснее!
- Разведка по сети. Красные начинают искать в сети цели поинтереснее: фрукты, за которыми гонится команда, обычно находятся на важных серверах или машинах значимых пользователей.
- Горизонтальное перемещение (Pivoting). Атакующие закрепляются в новых точках и буквально обкладываются туннелями, чтобы свободно разгуливать по инфраструктуре.
- Реализация целевого недопустимого события. Здесь как карта ляжет :) Красные могут полностью завладеть атакуемым офисом, захватить несколько машин, вывести из строя отдельные системы или сделать все и сразу.
Для наглядности я снова упростил алгоритм, но основную мысль, думаю, вы уловили. Отмечу, что на пути к победе красных могут ждать самые неожиданные препятствия: ограничения сетевого доступа, автоматическое или ручное реагирование на конечных хостах и т. д. Любая банальная ошибка может привести к потере доступа, и все придется начинать сначала.
Дикая природа
Теперь давайте посмотрим на хакеров из «дикой природы». Какие интересные нюансы в деятельности киберпреступников можно выделить сегодня?
Хитрые фишинговые нагрузки. Визитная карточка большинства хакерских группировок! Плохие парни проявляют фантазию и активно используют нетипичные форматы исполняемых файлов, эксплойты в редких офисных документах и, конечно же, LOLBins. А какие изысканные формулировки иногда встречаются в теле вредоносных писем…
Sideloading. Моя любимая техника! Злоумышленники маскируют вредоносный код и запускают его вместе с доверенными программами. Это простой, в некотором смысле топорный метод, но он надежен как швейцарские часы и применяется почти всегда. Такие атаки бывает крайне сложно обнаружить, и они часто превращаются в успешные киберинциденты — значит, практика работает.
Закрепление. Чтобы обеспечить себе длительное присутствие в системе, хакеры используют разные техники:
- Простые: например, маскировку под легитимный софт, который не вызовет подозрений у защитников.
- Более сложные: например, компрометация служб аутентификации пользователя или подмена разделяемых (общеиспользуемых) объектов. Они позволяют обходить сложные средства защиты, которые, к сожалению, тоже не идеальны.
На киберполигоне красные часто проносятся по инфраструктуре, как ветер: им просто нет смысла озадачиваться обеспечением автозапуска на захваченных хостах. В реальности же атаки часто размываются по времени на недели, месяцы, а то и годы!
Кастомные эксплойты. Стоит признать, что это под силу далеко не всем кибергруппировкам, однако кастомизация общеизвестных техник и приемов — далеко не редкость. Она затрудняет обнаружение атаки с помощью методов, которые строятся на детектировании известных пентестерских инструментов и характерных команд. Некоторые реализации ВПО сбивают логику обнаружения СЗИ, основанную на корреляции тех или иных событий.
Нестандартные протоколы обратной связи. Системы анализа сетевого трафика ежедневно сталкиваются с плодами фантазии атакующих. Это могут быть собственные транспортные протоколы, редкие сетевые протоколы прикладного уровня, внешние легитимные сервисы для передачи команд или извлечения конфиденциальных данных с машин и т. д.
Отличаются ли действия киберпреступников от действий красных на киберполигоне? Определенно, да. Основная причина в том, что на соревнованиях отраслевую инфраструктуру не всегда удается воссоздать полностью, иначе красным попросту не хватит времени в ней разобраться и подготовить специфические инструменты для достижения цели.
Про синтетический трафик
Согласитесь, обнаружить атаку в искусственной обучающей среде не так уж сложно. Если на машине есть движение, значит, пришли красные. Если тишина, вероятно, атаки нет. В результате любой шум начинает восприниматься как нечто подозрительное. В реальной жизни все иначе: на каждой машине постоянно что-то происходит, ведь офис живет. Поэтому, говоря о синтетических атаках, важно учитывать, что на киберполигоне реализована симуляция пользовательской активности в инфраструктуре. Степень разнообразия и частота таких помех заметно усложняют жизнь защитникам и мешают отделять мух от котлет.
На рынке ИБ существуют продукты класса Breach and Attack Simulation (BAS). Их цель — эмулировать и автоматически проводить хакерские атаки в выделенной инфраструктуре. При этом реализация конкретного решения может меняться в зависимости от его задач:
- Blackbox. Если система должна самостоятельно искать возможные точки проникновения и распространения по инфраструктуре, чтобы захватить определенную машину, получить доступ к файлу или остановить критичный процесс, BAS работает в режиме черного ящика.
- Whitebox. Если система должна воспроизводить тщательно размеченную последовательность действий по определенному расписанию, это режим белого ящика. В этом случае оператор BAS может гибко настраивать шаги атаки и даже менять сложность отдельных действий.
Для решения подобных задач мы используем на киберполигоне специально разработанную BAS-систему Archer. Схема его работы представлена на рис. 5.
Возникает логичный вопрос: в каких случаях имеет смысл использовать регулируемые атаки вместо реальных red team? Сценариев много, и все они опираются на важные фичи подобных систем:
- Возможность повторного воспроизведения идентичных атак. Важным фактором в обучении синих является проверка ранее усвоенных навыков. Иногда для этого нужно точно воспроизвести атаку, с которой защитники уже сталкивались. Вряд ли красные смогут раз за разом в точности повторять последовательность своих действий (это не только сложно, но и ужасно скучно!). Кроме того, благодаря воспроизводимости атак можно проводить честное сравнение скиллов нескольких команд защитников.
- Настраиваемая сложность атаки. В рамках обучения полезно иметь возможность регулировать сложность атаки и анализа полученных артефактов.
- Реализация HighPro-атак. Практика показывает, что на киберполигоне красные редко раскрывают весь свой потенциал. С одной стороны, им необходимо беречь козырные инструменты и находки, с другой — экономить время. Поэтому для демонстрации сложных сценариев атак часто используются BAS-системы: в них любые техники воспроизводятся буквально в один клик.
- Полное покрытие техник и тактик атакующих. Ни одна красная команда не сможет покрыть сразу все возможные техники/тактики той же MITRE ATT&CK. При этом иногда синим нужно отрабатывать противодействие конкретным практикам атакующих — BAS-системы отлично справляются с подобными задачами.
Живой трафик vs синтетика: плюсы и минусы
Так что же выбрать киберполигону: живых хакеров в белых шляпах или систему для автоматизации атак?
Бесспорно, плюсом в пользу людей будет максимальный реализм во всем: от хронологического распределения действий атакующих до ошибок, которые они допускают. Реальные злоумышленники, как и красные команды, могут внезапно поменять тактику и отступить от намеченного плана, а BAS-система на это не способна. При этом мы всегда будем уверены в логической связности действий атакующих и в том, что они будут всеми силами подстраиваться под меняющуюся инфраструктуру.
Минусы тоже будут! Живые атакующие не работают 24/7, у них разная квалификация и т. д. Скорее всего, у них также есть уникальный и узнаваемый стиль атаки, который они не смогут моментально поменять.
Говоря о сильных сторонах BAS-систем, можно отметить воспроизводимость атак и возможность гибко настраивать цепочки действий. Более того, подобные решения могут мимикрировать под реальные кибергруппировки и проводить атаки по аналогичным паттернам. Кроме того, BAS-система может постоянно пополняться экспертизой об актуальных методах атак любой сложности. А возможность неограниченно комбинировать техники идеально подходит не только для обучения ИБ-специалистов, но и для проверки эффективности СЗИ.
При этом BAS-решения тоже не лишены недостатков. Успех их работы напрямую зависит от эффективности настройки (с учетом всех нюансов конкретной инфраструктуры). При возникновении нештатной ситуации атака может быть прервана, и чтобы ее продолжить, потребуется полноценный перезапуск продукта. В целом ни одна автоматизированная система не проведет атаку так, как это сделает человек!
***
Мораль проста: системы эмуляции атак по-своему хороши, но людей они точно не заменят! В противостоянии живого трафика и синтетики побеждает взаимодополняемость ;)