На прошлой неделе состоялась конференция Positive Hack Days 7, в рамках которого прошла теперь уже можно сказать традиционная (второй раз, чем не традиция?) битва Защитников и Атакующих — Противостояние (The Standoff).
Суть такова… Участник может играть SOCами, охраной города и злодеем. И если пользователь играет защитниками то ему дают разные средства защиты, а на сегменты города набигают злодеи. Можно грабить корованы…
Более подробное описание ролей участников есть на сайте организатора (Positive Technologies):
Первый общий брифинг участников Противостояния состоялся 12 апреля, где организаторы рассказали о планах построить город, который надо будет «хачить» и защищать. Нам досталась роль SOC на одном из офисных сегментов. Защитниками этого сегмента стала команда S.P.A.N (Servionica Palo Alto Networks).
Они оказались подготовленными профессионалами и отличными ребятами, с которыми мы довольно быстро нашли общий язык и сработались на площадке самой игры.
Нашей второстепенной задачей был мониторинг города с целью выявлять и анализировать атаки на городскую инфраструктуру.
Офисный сегмент города организаторы полностью подняли в виртуальной инфраструктуре на базе VMware.
Примерно за три недели до начала мероприятия мы получили доступ (спасибо организаторам) к виртуальной машине с MaxPatrol 8 для сканирования и построения карты сети. Получилось 1719 страниц pdf-отчёта.
Неделю мы устанавливали и тестировали наши средства мониторинга. Мы планировали использовать:
Всё работало как надо. Мы расписали смены дежурств группы мониторинга.
Пентестер заявил, что «на площадке буду все 30 часов и отлично оторвусь».
Пиарщик сказал, что «PHDays — это единственная возможность сделать угарный баннер».
Было ощущение, что мы готовы.
На самом деле нет.
«Парни, на наших сенсорах нет трафика!» — это наш девиз и призыв к организаторам на первые 8 часов Противостояния, которое началось примерно в 11-30.
К сожалению, из-за технических трудностей, только к 19 часам удалось подать трафик на обе IDS:
По объёму и наблюдаемым событиям было понятно, что зеркалируется далеко не весь трафик (хотя запросили по максимуму). Про зеркало трафика на Moloch и говорить не стоит. А без него и анализ аномалий смысла не имеет.
Фактически, всё, что мы делали на неделе перед мероприятием, пришлось переделывать заново прямо на площадке. Тем не менее, всё-таки надо поблагодарить и админов организаторов, они впрягались и помогали, где могли.
Доблестные защитники долго пытались развернуть агенты HIDS для контроля, однако из-за периодического падения инфраструктуры и отсутствия доступа в интернет из инфраструктуры для коннектов к репозиториям, сделать этого так и не удалось.
Прямой доступ в контролируемую инфраструктуру отсутствовал, все лезли через VPN, что также не добавляло радости. Грусть печаль тоска… Но грустное на этом заканчивается!
Ещё одна интересная история была с динамическим распределением ресурсов на ферме виртуализации. Два аналитика SOC сидели рядом. Их рабочие места тоже в виртуалках. У одного всё летало, а другой тихо матерился в монитор и говорил, что никогда не видел, чтобы консоль тормозила.
В итоге за ночь и ещё почти целый день мониторинга мы успели и атаки навыявлять, и контролируемый сегмент поисследовать.
Из фейсбука члена команды S.P.A.N.
Если оценивать глобально — атакующие молодцы! И АСУ ТП поломали, и банк обчистили, и вроде даже смски «мэра» перехватили. Что касается нашего Офиса — остался нетронут, и команда защитников завершила Противостояние с полными 100% «репутации».
Конечно, от атакующих мы ожидали более сильного напора. С чем были связаны их сложности? У нас есть три гипотезы:
Очень печально, что были такие масштабные технические трудности, трафика было мало. А ведь это шикарное всё-таки пространство для аналитики!
К следующему году учтём все ошибки и будем понимать, что требовать от организаторов. Ждём PHDays 8.
Благодарим Positive Technologies (особо — Викторию, Алексея, Михаила и Тамару) за организацию этого праздника.
Благодарим команду S.P.A.N. за защиту, опыт и хорошую командную игру.
Спасибо всей нашей команде, вы очень крутые.
И отдельное спасибо капитану команды мониторинга Максиму Baymaxx за подготовку этого отчёта.
Теперь табличка со «Всевидящим оком» украшает одну из стен Центра мониторинга.
UAC Bypass или история о трех эскалациях
Отчёт Центра мониторинга информационной безопасности за I квартал 2017 года
Жизнь без SDL. Зима 2017
Суть такова… Участник может играть SOCами, охраной города и злодеем. И если пользователь играет защитниками то ему дают разные средства защиты, а на сегменты города набигают злодеи. Можно грабить корованы…
Участники Противостояния
Более подробное описание ролей участников есть на сайте организатора (Positive Technologies):
Заголовок спойлера
Атакующие
Атакующие вольны делать всё, что угодно, главное — не нарушать логику построения и работу полигона. Никаких тасков и флагов, участники сами решают, что они хотят получить от города. Задача атакующих — любыми удобными им способами выполнить поставленные перед ними цели.
Защитники
В качестве защитников могут выступать как корпоративные команды, так и отдельные специалисты (можно под псевдонимом). У защитников будет несколько профильных команд, каждая из которых обеспечит безопасность одного объекта на полигоне — оператора, офиса и т. д.
В задачи команд входят проектирование, установка, настройка и эксплуатация средств защиты, а также обеспечение безопасности и сохранности активов компании, за которой они закреплены. В ходе игры защитники должны периодически выступать с отчётами о произошедших инцидентах и проделанной работе.
Всего предусмотрено 5 объектов защиты:
Внешние SOC
Во время Противостояния SOC должен оперативно оповещать защищающихся об атаках и предлагать меры защиты. Также как и защитники, команды SOC должны публично докладывать о проводимых атаках и используемых методах взлома, представлять статистику защищённости полигона (тренды по атакам и другие метрики).
Атакующие вольны делать всё, что угодно, главное — не нарушать логику построения и работу полигона. Никаких тасков и флагов, участники сами решают, что они хотят получить от города. Задача атакующих — любыми удобными им способами выполнить поставленные перед ними цели.
Защитники
В качестве защитников могут выступать как корпоративные команды, так и отдельные специалисты (можно под псевдонимом). У защитников будет несколько профильных команд, каждая из которых обеспечит безопасность одного объекта на полигоне — оператора, офиса и т. д.
В задачи команд входят проектирование, установка, настройка и эксплуатация средств защиты, а также обеспечение безопасности и сохранности активов компании, за которой они закреплены. В ходе игры защитники должны периодически выступать с отчётами о произошедших инцидентах и проделанной работе.
Всего предусмотрено 5 объектов защиты:
- Телеком-оператор
- Офис
- ТЭЦ и подстанция
- Нефтяная компания
- Железнодорожная компания
Внешние SOC
Во время Противостояния SOC должен оперативно оповещать защищающихся об атаках и предлагать меры защиты. Также как и защитники, команды SOC должны публично докладывать о проводимых атаках и используемых методах взлома, представлять статистику защищённости полигона (тренды по атакам и другие метрики).
Подготовка
Первый общий брифинг участников Противостояния состоялся 12 апреля, где организаторы рассказали о планах построить город, который надо будет «хачить» и защищать. Нам досталась роль SOC на одном из офисных сегментов. Защитниками этого сегмента стала команда S.P.A.N (Servionica Palo Alto Networks).
Они оказались подготовленными профессионалами и отличными ребятами, с которыми мы довольно быстро нашли общий язык и сработались на площадке самой игры.
Нашей второстепенной задачей был мониторинг города с целью выявлять и анализировать атаки на городскую инфраструктуру.
Офисный сегмент города организаторы полностью подняли в виртуальной инфраструктуре на базе VMware.
Примерно за три недели до начала мероприятия мы получили доступ (спасибо организаторам) к виртуальной машине с MaxPatrol 8 для сканирования и построения карты сети. Получилось 1719 страниц pdf-отчёта.
Неделю мы устанавливали и тестировали наши средства мониторинга. Мы планировали использовать:
- IDS для Офиса.
- IDS для Города.
- Moloch для записи и анализа трафика.
- Network Analyzer для выявления аномалий в трафике Офиса.
- Network Analyzer для выявления аномалий в трафике Города.
- HIDS (host IDS) для контроля ключевых серверов Офиса.
- TIAS для анализа логов, мониторинга и аналитики.
Всё работало как надо. Мы расписали смены дежурств группы мониторинга.
Пентестер заявил, что «на площадке буду все 30 часов и отлично оторвусь».
Пиарщик сказал, что «PHDays — это единственная возможность сделать угарный баннер».
Было ощущение, что мы готовы.
Началось!
На самом деле нет.
«Парни, на наших сенсорах нет трафика!» — это наш девиз и призыв к организаторам на первые 8 часов Противостояния, которое началось примерно в 11-30.
К сожалению, из-за технических трудностей, только к 19 часам удалось подать трафик на обе IDS:
- На Офисную был подан только трафик из DMZ, хотя требовалось зеркало всего трафика.
- На Городскую был подан трафик внешнего периметра Офиса и трафик ещё нескольких vlan’ов без конкретизации.
По объёму и наблюдаемым событиям было понятно, что зеркалируется далеко не весь трафик (хотя запросили по максимуму). Про зеркало трафика на Moloch и говорить не стоит. А без него и анализ аномалий смысла не имеет.
Фактически, всё, что мы делали на неделе перед мероприятием, пришлось переделывать заново прямо на площадке. Тем не менее, всё-таки надо поблагодарить и админов организаторов, они впрягались и помогали, где могли.
Доблестные защитники долго пытались развернуть агенты HIDS для контроля, однако из-за периодического падения инфраструктуры и отсутствия доступа в интернет из инфраструктуры для коннектов к репозиториям, сделать этого так и не удалось.
Прямой доступ в контролируемую инфраструктуру отсутствовал, все лезли через VPN, что также не добавляло радости. Грусть печаль тоска… Но грустное на этом заканчивается!
- Не стоит забывать, что Атакующие находились в тех же условиях, а для них ведь важен простор, свобода — сидели они периодически гораздо более грустные, чем защитники.
- Трафик хоть какой-то получен — значит уже можно работать!
- Защитники к взаимодействию открыты, бреши перекрывают — значит всё не так уж плохо на сегодняшний день.
Ещё одна интересная история была с динамическим распределением ресурсов на ферме виртуализации. Два аналитика SOC сидели рядом. Их рабочие места тоже в виртуалках. У одного всё летало, а другой тихо матерился в монитор и говорил, что никогда не видел, чтобы консоль тормозила.
В итоге за ночь и ещё почти целый день мониторинга мы успели и атаки навыявлять, и контролируемый сегмент поисследовать.
Что зафиксировали
По офисному сегменту
- Как только дали трафик, с адреса 198.18.78.12 постоянно кто-то ломился на один из наших web-серверов (198.18.12.177) с непонятными и всегда одинаковыми кредами. Проверили — активность странная, но не опасная. Потом ещё всю ночь будем об этом думать. Чего хотели — остаётся загадкой. Видимо, у Атакующих что-то пошло не так.
- На фоне п.1. с того же адреса постоянно шли сканы, валились эксплоиты и прочая нечистая сила. Идентифицировали NAT Атакующих. Жаль блочить было нельзя – fair-play и всё такое.
- Подозрение на компрометацию нашего сервера (198.18.12.169) из DMZ — с него шёл нездоровый интерес к mysql внутреннего ресурса (10.25.153.24). Защитники не отвечали, сколько не спрашивали. Ничего другого от данного адреса видно не было. Компрометация не подтвердилась, возможно системный чекер. Следили за ним одним глазом.
- Пока мониторили, параллельно исследовали свой же DMZ. На еще одном web-cервере (198.18.12.179) обнаружена XSS. Мы до обеда следующего дня маячили об этом защитникам. Как только начали массово пытаться внедрить xss, они быстро отреагировали и запретили спецсимволы в url. Как никто из атакеров не воспользовался — загадка!
- На том же web-сервере (198.18.12.179) зафиксировали pureFTP. СЗИ блочили чуждые обращения к FTP. Всё в порядке.
- На третьем web-сервере (198.18.12.180) нашли открытый репозиторий сайта (/.git) и оповестили защитников. Они оперативно закрыли. Командная работа!
- Около 00:30 во внутренней сети активизировалась подсеть 10.64.94.0/24. Оттуда сразу начался брутфорс сервисов в DMZ. Защитники блокировали данную подсеть, другого выхода не было. *Да-да блочить нельзя, но врага внутри оставлять тем более нельзя — поломают всё!
- Ещё один web-сервер (198.18.12.141), ещё одна доступная директория /install. Атакующие могли перетянуть сайт на свою базу данных и скомпрометировать пользователей. Защитники закрыли к папке доступ.
- Среди ночи началась аномальная активность между пользовательским сегментом и контроллером домена! Атаковали SMB. Разбор показал, что СЗИ от НСД Secret Net живёт своей жизнью и пытается общаться с главным сервером. Ок, false positive — поехали дальше.
- На 198.18.12.169 обнаружили /wp_include со всеми исходниками. Защитники закрыли.
- С 05:00 до 07:00 затишье. Покемарили.
- С 8:00 начали сканить с новыми силами, уже не пытаясь скрыться и не стесняясь в средствах: nmap, sqlmap, nessus, куча самописных сканеров (ну или просто скрипты к nmap’у). Особенно порадовал сканер, судя по user-agent: go-http-client — самописный, прошёлся по приличному набору уязвимостей.
- Кругом бардак — эксплойты, инъекции, брутфорсы, сканы. Всего много, но всё одинаковое, бесполезное и неинтересное.
- Увидели, что появился узел 198.18.12.143. На нём был wordpress (почти как везде) с открытым API-доступом с кредами admin:admin123. Подобрали вручную со второй попытки. Заалертили, оперативно закрыли.
- До последнего брутили доступ к FTP. Коннекты рубились СЗИ.
Из фейсбука члена команды S.P.A.N.
— Я безопасник, я не хочу ничего решать, я хочу писать кастомные сигнатуры и смотреть, как дропаются пакеты.
— О, пошли дропы!
По городу
- 20:26 зафиксировали успешный брутфорс smb 172.20.3.147 от 10.25.21.23. Чей адрес — неизвестно. Не повезло кому-то.
- Вообще, по городу кругом торчали smb, snmp, sql. Атакующие гуляли по ним, как по своим. Брутфорс по всем фронтам.
- Зафиксировали, что на узле 203.0.113.169 (вроде объект Телеком) wordpress и открыта админка… Были бы не white hat, сами бы сломали.
- Под конец повторно успешно сбрутили smb 172.20.3.147 от 10.25.21.24 (возможно те же самые, просто не выключили скрипт).
Что получилось и не получилось
Если оценивать глобально — атакующие молодцы! И АСУ ТП поломали, и банк обчистили, и вроде даже смски «мэра» перехватили. Что касается нашего Офиса — остался нетронут, и команда защитников завершила Противостояние с полными 100% «репутации».
Конечно, от атакующих мы ожидали более сильного напора. С чем были связаны их сложности? У нас есть три гипотезы:
- Они не использовали весь свой арсенал. Противостояние — это всё-таки игра и, возможно, нам не показали все инструменты, чтобы иметь запас на реальные проекты. А широко известные инструменты и техники легко блочились средствами защиты.
- У атакующих (как и у защитников) не было прямого доступа к сети Города, возможно, часть арсенала просто не взлетела.
- У атакующих появляются сложности, когда им оказывают активное и оперативное противодействие. Если действовать в лоб — это видно, а если тоньше — то и времени уйдёт больше, и требования к скиллу уже другие.
Очень печально, что были такие масштабные технические трудности, трафика было мало. А ведь это шикарное всё-таки пространство для аналитики!
К следующему году учтём все ошибки и будем понимать, что требовать от организаторов. Ждём PHDays 8.
Благодарности
Благодарим Positive Technologies (особо — Викторию, Алексея, Михаила и Тамару) за организацию этого праздника.
Благодарим команду S.P.A.N. за защиту, опыт и хорошую командную игру.
Спасибо всей нашей команде, вы очень крутые.
И отдельное спасибо капитану команды мониторинга Максиму Baymaxx за подготовку этого отчёта.
Теперь табличка со «Всевидящим оком» украшает одну из стен Центра мониторинга.
Другие статьи блога
UAC Bypass или история о трех эскалациях
Отчёт Центра мониторинга информационной безопасности за I квартал 2017 года
Жизнь без SDL. Зима 2017
Поделиться с друзьями
GRayFist
А откуда это стало известно? Мы развернули HIDS одним из первых СЗ (OnRails!).
Baymaxx
У нас возможность накатить HIDS на Офис-2 появилась только после начала Противостояния, а про ваши объекты мы и не говорим.