На прошлой неделе состоялась конференция Positive Hack Days 7, в рамках которого прошла теперь уже можно сказать традиционная (второй раз, чем не традиция?) битва Защитников и Атакующих — Противостояние (The Standoff).

Суть такова… Участник может играть SOCами, охраной города и злодеем. И если пользователь играет защитниками то ему дают разные средства защиты, а на сегменты города набигают злодеи. Можно грабить корованы…

image

Участники Противостояния


Более подробное описание ролей участников есть на сайте организатора (Positive Technologies):

Заголовок спойлера
Атакующие
Атакующие вольны делать всё, что угодно, главное — не нарушать логику построения и работу полигона. Никаких тасков и флагов, участники сами решают, что они хотят получить от города. Задача атакующих — любыми удобными им способами выполнить поставленные перед ними цели.

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

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

Всего предусмотрено 5 объектов защиты:

  • Телеком-оператор
  • Офис
  • ТЭЦ и подстанция
  • Нефтяная компания
  • Железнодорожная компания

Внешние SOC

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

Подготовка


Первый общий брифинг участников Противостояния состоялся 12 апреля, где организаторы рассказали о планах построить город, который надо будет «хачить» и защищать. Нам досталась роль SOC на одном из офисных сегментов. Защитниками этого сегмента стала команда S.P.A.N (Servionica Palo Alto Networks).

image

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

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

image

Офисный сегмент города организаторы полностью подняли в виртуальной инфраструктуре на базе VMware.

Примерно за три недели до начала мероприятия мы получили доступ (спасибо организаторам) к виртуальной машине с MaxPatrol 8 для сканирования и построения карты сети. Получилось 1719 страниц pdf-отчёта.

Неделю мы устанавливали и тестировали наши средства мониторинга. Мы планировали использовать:

  • IDS для Офиса.
  • IDS для Города.
  • Moloch для записи и анализа трафика.
  • Network Analyzer для выявления аномалий в трафике Офиса.
  • Network Analyzer для выявления аномалий в трафике Города.
  • HIDS (host IDS) для контроля ключевых серверов Офиса.
  • TIAS для анализа логов, мониторинга и аналитики.

Всё работало как надо. Мы расписали смены дежурств группы мониторинга.

Пентестер заявил, что «на площадке буду все 30 часов и отлично оторвусь».

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

image

Было ощущение, что мы готовы.

Началось!


image

На самом деле нет.

«Парни, на наших сенсорах нет трафика!» — это наш девиз и призыв к организаторам на первые 8 часов Противостояния, которое началось примерно в 11-30.

К сожалению, из-за технических трудностей, только к 19 часам удалось подать трафик на обе IDS:

  • На Офисную был подан только трафик из DMZ, хотя требовалось зеркало всего трафика.
  • На Городскую был подан трафик внешнего периметра Офиса и трафик ещё нескольких vlan’ов без конкретизации.

По объёму и наблюдаемым событиям было понятно, что зеркалируется далеко не весь трафик (хотя запросили по максимуму). Про зеркало трафика на Moloch и говорить не стоит. А без него и анализ аномалий смысла не имеет.

Фактически, всё, что мы делали на неделе перед мероприятием, пришлось переделывать заново прямо на площадке. Тем не менее, всё-таки надо поблагодарить и админов организаторов, они впрягались и помогали, где могли.

Доблестные защитники долго пытались развернуть агенты HIDS для контроля, однако из-за периодического падения инфраструктуры и отсутствия доступа в интернет из инфраструктуры для коннектов к репозиториям, сделать этого так и не удалось.

Прямой доступ в контролируемую инфраструктуру отсутствовал, все лезли через VPN, что также не добавляло радости. Грусть печаль тоска… Но грустное на этом заканчивается!

  1. Не стоит забывать, что Атакующие находились в тех же условиях, а для них ведь важен простор, свобода — сидели они периодически гораздо более грустные, чем защитники.
  2. Трафик хоть какой-то получен — значит уже можно работать!
  3. Защитники к взаимодействию открыты, бреши перекрывают — значит всё не так уж плохо на сегодняшний день.

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

image

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

Что зафиксировали


По офисному сегменту


  1. Как только дали трафик, с адреса 198.18.78.12 постоянно кто-то ломился на один из наших web-серверов (198.18.12.177) с непонятными и всегда одинаковыми кредами. Проверили — активность странная, но не опасная. Потом ещё всю ночь будем об этом думать. Чего хотели — остаётся загадкой. Видимо, у Атакующих что-то пошло не так.
  2. На фоне п.1. с того же адреса постоянно шли сканы, валились эксплоиты и прочая нечистая сила. Идентифицировали NAT Атакующих. Жаль блочить было нельзя – fair-play и всё такое.
  3. Подозрение на компрометацию нашего сервера (198.18.12.169) из DMZ — с него шёл нездоровый интерес к mysql внутреннего ресурса (10.25.153.24). Защитники не отвечали, сколько не спрашивали. Ничего другого от данного адреса видно не было. Компрометация не подтвердилась, возможно системный чекер. Следили за ним одним глазом.
  4. Пока мониторили, параллельно исследовали свой же DMZ. На еще одном web-cервере (198.18.12.179) обнаружена XSS. Мы до обеда следующего дня маячили об этом защитникам. Как только начали массово пытаться внедрить xss, они быстро отреагировали и запретили спецсимволы в url. Как никто из атакеров не воспользовался — загадка!
  5. На том же web-сервере (198.18.12.179) зафиксировали pureFTP. СЗИ блочили чуждые обращения к FTP. Всё в порядке.
  6. На третьем web-сервере (198.18.12.180) нашли открытый репозиторий сайта (/.git) и оповестили защитников. Они оперативно закрыли. Командная работа!
  7. Около 00:30 во внутренней сети активизировалась подсеть 10.64.94.0/24. Оттуда сразу начался брутфорс сервисов в DMZ. Защитники блокировали данную подсеть, другого выхода не было. *Да-да блочить нельзя, но врага внутри оставлять тем более нельзя — поломают всё!
  8. Ещё один web-сервер (198.18.12.141), ещё одна доступная директория /install. Атакующие могли перетянуть сайт на свою базу данных и скомпрометировать пользователей. Защитники закрыли к папке доступ.
  9. Среди ночи началась аномальная активность между пользовательским сегментом и контроллером домена! Атаковали SMB. Разбор показал, что СЗИ от НСД Secret Net живёт своей жизнью и пытается общаться с главным сервером. Ок, false positive — поехали дальше.
  10. На 198.18.12.169 обнаружили /wp_include со всеми исходниками. Защитники закрыли.
  11. С 05:00 до 07:00 затишье. Покемарили.
  12. С 8:00 начали сканить с новыми силами, уже не пытаясь скрыться и не стесняясь в средствах: nmap, sqlmap, nessus, куча самописных сканеров (ну или просто скрипты к nmap’у). Особенно порадовал сканер, судя по user-agent: go-http-client — самописный, прошёлся по приличному набору уязвимостей.
  13. Кругом бардак — эксплойты, инъекции, брутфорсы, сканы. Всего много, но всё одинаковое, бесполезное и неинтересное.
  14. Увидели, что появился узел 198.18.12.143. На нём был wordpress (почти как везде) с открытым API-доступом с кредами admin:admin123. Подобрали вручную со второй попытки. Заалертили, оперативно закрыли.
  15. До последнего брутили доступ к FTP. Коннекты рубились СЗИ.

Из фейсбука члена команды S.P.A.N.
— Я безопасник, я не хочу ничего решать, я хочу писать кастомные сигнатуры и смотреть, как дропаются пакеты.

— О, пошли дропы!

image

По городу


  1. 20:26 зафиксировали успешный брутфорс smb 172.20.3.147 от 10.25.21.23. Чей адрес — неизвестно. Не повезло кому-то.
  2. Вообще, по городу кругом торчали smb, snmp, sql. Атакующие гуляли по ним, как по своим. Брутфорс по всем фронтам.
  3. Зафиксировали, что на узле 203.0.113.169 (вроде объект Телеком) wordpress и открыта админка… Были бы не white hat, сами бы сломали.
  4. Под конец повторно успешно сбрутили smb 172.20.3.147 от 10.25.21.24 (возможно те же самые, просто не выключили скрипт).

Что получилось и не получилось


Если оценивать глобально — атакующие молодцы! И АСУ ТП поломали, и банк обчистили, и вроде даже смски «мэра» перехватили. Что касается нашего Офиса — остался нетронут, и команда защитников завершила Противостояние с полными 100% «репутации».

Конечно, от атакующих мы ожидали более сильного напора. С чем были связаны их сложности? У нас есть три гипотезы:

  1. Они не использовали весь свой арсенал. Противостояние — это всё-таки игра и, возможно, нам не показали все инструменты, чтобы иметь запас на реальные проекты. А широко известные инструменты и техники легко блочились средствами защиты.
  2. У атакующих (как и у защитников) не было прямого доступа к сети Города, возможно, часть арсенала просто не взлетела.
  3. У атакующих появляются сложности, когда им оказывают активное и оперативное противодействие. Если действовать в лоб — это видно, а если тоньше — то и времени уйдёт больше, и требования к скиллу уже другие.

Очень печально, что были такие масштабные технические трудности, трафика было мало. А ведь это шикарное всё-таки пространство для аналитики!

К следующему году учтём все ошибки и будем понимать, что требовать от организаторов. Ждём PHDays 8.

image

Благодарности


Благодарим Positive Technologies (особо — Викторию, Алексея, Михаила и Тамару) за организацию этого праздника.

Благодарим команду S.P.A.N. за защиту, опыт и хорошую командную игру.

Спасибо всей нашей команде, вы очень крутые.

И отдельное спасибо капитану команды мониторинга Максиму Baymaxx за подготовку этого отчёта.



Теперь табличка со «Всевидящим оком» украшает одну из стен Центра мониторинга.

image

Другие статьи блога


UAC Bypass или история о трех эскалациях

Отчёт Центра мониторинга информационной безопасности за I квартал 2017 года

Жизнь без SDL. Зима 2017
Поделиться с друзьями
-->

Комментарии (2)


  1. GRayFist
    30.05.2017 09:42
    +1

    Доблестные защитники долго пытались развернуть агенты HIDS для контроля, однако из-за периодического падения инфраструктуры и отсутствия доступа в интернет из инфраструктуры для коннектов к репозиториям, сделать этого так и не удалось


    А откуда это стало известно? Мы развернули HIDS одним из первых СЗ (OnRails!).


    1. Baymaxx
      30.05.2017 11:07
      +1

      У нас возможность накатить HIDS на Офис-2 появилась только после начала Противостояния, а про ваши объекты мы и не говорим.