«Понимаете, два раза в год, в ноябре и в мае, мы с коллегами ходим в баню судим хакеров. Это у нас такая традиция». Нет, это не ирония судьбы, а ожидаемое и яркое событие, которое происходит с нашей командой глобального SOC дважды в год на Standoff.

Привет, Хабр!

Меня зовут Гузель Хисматуллина, я руководитель команды аналитиков в Центре противодействия киберугрозам Innostage CyberART и глобального SOC на кибербитве Standoff. Совсем скоро, с 17 по 20 мая, нас ждет очередное противостояние команд этичных хакеров и защитников. Для них уже готовится киберполигон с новыми объектами и недопустимыми событиями. Уже известно, что их ждет новая отрасль экономики — атомная промышленность — с АЭС и заводом по обогащению урана. Однако «костяк» инфраструктуры не сильно изменится, поэтому в этой статье я расскажу, как прошла предыдущая битва в ноябре и разберу пару реализованных недопустимых событий. Статья будет полезна тем, кто уже принимал участие в киберучениях или только собирается.

Если вам больше нравится формат видео, то запись того, о чем пойдет речь в статье, вы найдете здесь: Вебинар: итоги юбилейной кибербитвы Standoff 10.

Примечание: после вебинара были обнаружены неточности в моем рассказе (в части про способ подключения к серверу со скринами ShareX), поэтому разбор утечки персональных данных сотрудников в Нефтегазовой компании «Tube» рекомендую изучить именно в этой статье.

Про ноябрьские киберучения

Инфраструктура полигона состояла из шести объектов, представляющих различные отрасли экономики:

  1. УК Сити (city.stf) — освещение улиц, эксплуатация зданий, городские системы видеонаблюдения, внешние рекламные конструкции, городской парк развлечений, водозабор и водоочистные сооружения.

  2. Транспортная компания Heavy Logistics (hv‑logistics.stf) — транспортные активы: ж/д хозяйство, аэропорт, управление автомобильными светофорами, портальный кран в морском грузовом порту.

  3. Металлургический комбинат МеталлиКО (metall.stf) — добыча и переработка местных запасов. Реализован полный цикл производства стали.

  4. Нефтегазовая компания Tube (tube.stf) — добыча, транспортировка, хранение нефти и транспортировка газа.

  5. Электроэнергетика (energy.stf) — генерация (АЭС, ГЭС, ТЭЦ), транспортировка электроэнергии (магистральные линии, электросбытовые компании).

  6. Банковская система (bankoff.stf) — основной банк для «Государства F» — «Commercial Bank of the Standoff», а также фрагменты Центробанка «Государства F» и молодого банка «First Partner Bank», реализованные для эмуляции межбанковского взаимодействия.

Каждый объект включает в себя IT-инфраструктуру, которая разделена на несколько подсетей со своей настроенной маршрутизацией. Как и в реальной инфраструктуре здесь заложены уязвимости и мисконфигурации, которые могут привести к реализации недопустимых событий. Напомню, что недопустимые события подразделяются на инфраструктурные и промышленные (SCADA).

Для отслеживания шагов команд атакующих реализован мониторинг:

  • событий с хостов и необходимого прикладного ПО;

  • веб и почтового трафика;

  • сетевого трафика с инфраструктуры офисных и технологических сегментов.

Рисунок 1. Арсенал средств защиты и мониторинга глобального SOC и большинства команд защитников
Рисунок 1. Арсенал средств защиты и мониторинга глобального SOC и большинства команд защитников

Нововведения ноябрьской кибербитвы:

  1. На киберполигоне отсутствовал Интернет — команды атакующих поднимали свою инфраструктуру в локальной сети.

  2. Было заложено 96 недопустимых событий вместо 100, среди которых появились новые:

  • Вывод из строя промышленных коммутаторов технологической сети станции водозабора (УК «Сити» — city.stf)

  • Вывод из строя промышленных коммутаторов технологической сети телетрапа (Транспортная компания HL — Heavy Logistics — hv‑logistics.stf)

  • Внедрение вредоносного кода в исходный код разрабатываемого приложения (Транспортная компания HL — Heavy Logistics — hv‑logistics.stf)

  • Вывод из строя промышленных коммутаторов технологической сети подачи сырья (Черная металлургия — Металлургический комбинат «МеталлиКО» — metall.stf)

  • Пролив металла из сталеразливочного ковша МНЛЗ в цех (Черная металлургия — Металлургический комбинат «МеталлиКО» — metall.stf)

  • Вывод из строя промышленных коммутаторов технологической сети очистки нефти (Нефтяная промышленность — Нефтегазовая компания «Tube» — tube.stf)

  1. Атакующие команды были из зарубежных стран.

Разбор реализованных недопустимых событий (НС)

Дальше я разберу реализацию двух недопустимых событий: показ нежелательного контента на рекламных видеоэкранах в УК Сити и утечку персональных данных сотрудников в Нефтегазовой компании Tube. Будет много картинок с шагами атакующих.

Показ нежелательного контента на рекламных видеоэкранах в УК Сити

Задание для атакующих: получить доступ к системе управления рекламными экранами в городе. Показать символику своей команды на экране.

Общая схема реализации данного недопустимого события:

Рисунок 2. Вектор реализации НС «Показ нежелательного контента на рекламных видеоэкранах» в УК Сити
Рисунок 2. Вектор реализации НС «Показ нежелательного контента на рекламных видеоэкранах» в УК Сити
  1. Раскрытие прикладного ПО на сервере через уязвимый к Path Traversal WordPress-плагин Delightful Download (Delightful Downloads <= 1.6.6 - Unauthenticated Path Traversal), который позволил неавторизованному пользователю выполнить листинг директорий.

Рисунок 3. PT AF: Неавторизованный листинг директорий через плагин Delightful Downloads (T1592.002: Gather Victim Host Information: Software)
Рисунок 3. PT AF: Неавторизованный листинг директорий через плагин Delightful Downloads (T1592.002: Gather Victim Host Information: Software)
  1. Чтение конфигурации веб-приложения под неавторизованным пользователем из файла web.xml через другой уязвимый плагин – TrueRanker (WordPress Plugin The True Ranker 2.2.2 - Arbitrary File Read (Unauthenticated).

Рисунок 4. PT AF: Неавторизованное чтение файлов через плагин TrueRanker (T1592.002: Gather Victim Host Information: Software)
Рисунок 4. PT AF: Неавторизованное чтение файлов через плагин TrueRanker (T1592.002: Gather Victim Host Information: Software)

Здесь из ответа понятно, что для обращения к сервлету, т.е. к интерфейсу Java – ControlApi, необходимо отправить запрос по адресу, указанному в атрибуте url-pattern.

  1. Нахождение заголовка PrivateAT в коде сервлета ControlApi, в который можно передать произвольный запрос. Значение этого заголовка логируется на сервере с помощью уязвимой версии библиотеки Apache Log4j (версию также нашли с помощью листинга директорий).

Рисунок 5. PT AF: Нахождение уязвимого заголовка PrivateAT в блоке кода по логированию (T1592.002: Gather Victim Host Information: Software)
Рисунок 5. PT AF: Нахождение уязвимого заголовка PrivateAT в блоке кода по логированию (T1592.002: Gather Victim Host Information: Software)
  1. Получение root-шелла путем эксплуатации уязвимости CVE-2021-44228 в Apache Log4j.

Рисунок 6. PT AF: Загрузка tcp-шелла на хост через CVE-2021-44228 (T1190: Exploit Public-Facing Application)
Рисунок 6. PT AF: Загрузка tcp-шелла на хост через CVE-2021-44228 (T1190: Exploit Public-Facing Application)
Рисунок 7. Перехваченный в сетевом трафике пакет
Рисунок 7. Перехваченный в сетевом трафике пакет
Рисунок 8. PT NAD: Установка сессии между веб-сервером и атакующими (T1505.003. Server Software Component: Web Shell)
Рисунок 8. PT NAD: Установка сессии между веб-сервером и атакующими (T1505.003. Server Software Component: Web Shell)
  1. Реализация недопустимого события: загрузка видео на сервер атакующими и подмена дефолтного ролика.

    Рисунок 9. PT NAD: Загрузка видео на сервер (T1105: Ingress Tool Transfer)
    Рисунок 9. PT NAD: Загрузка видео на сервер (T1105: Ingress Tool Transfer)
Рисунок 10. MaxPatrol SIEM: Замена ролика по умолчанию на ролик команды атакующих (T1491: Defacement)
Рисунок 10. MaxPatrol SIEM: Замена ролика по умолчанию на ролик команды атакующих (T1491: Defacement)
Рисунок 11. Ролик команды Hexens
Рисунок 11. Ролик команды Hexens

Утечка персональных данных сотрудников в Нефтегазовой компании «Tube»

Задание для атакующих: получить доступ к ERP-системе или узлу с базой данных и выгрузить данные о сотрудниках компании. Обязательные данные для подтверждения: Name, Birth date, Marital status, Social security number, Pay Company, Employment, Company department, Annual gross salary.

Реализация данного недопустимого события строилась по следующему алгоритму:

Рисунок 12. Вектор реализации НС «Утечка персональных данных сотрудников» в Нефтегазовой компании «Tube»
Рисунок 12. Вектор реализации НС «Утечка персональных данных сотрудников» в Нефтегазовой компании «Tube»
  1. Разведка сервисов на сетевом периметре и нахождение лендинга с почтовыми адресами HR.

    Рисунок 13. Лендинг с почтовыми адресами (T1594: Search Victim-Owned Websites)
    Рисунок 13. Лендинг с почтовыми адресами (T1594: Search Victim-Owned Websites)
  2. Отправка фишингового письма пользователям компании с адреса bhodge@services.stf на адреса O_Michael@tube.stf, A_Dodson@tube.stf, S_Little@tube.stf с вложенным файлом CV.doс, содержащим в себе вредоносный макрос.

Рисунок 14. PT SandBox: Детект фишингового письма (T1566: Phishing)
Рисунок 14. PT SandBox: Детект фишингового письма (T1566: Phishing)
Рисунок 15. PT SandBox: Детект фишингового письма (T1566: Phishing)
Рисунок 15. PT SandBox: Детект фишингового письма (T1566: Phishing)

Макрос позволил выполнить загрузку и исполнение дополнительной нагрузки с командного сервера атакующих – 10.126.10.34.

Рисунок 16. MaxPatrol SIEM: Запуск вредоносного документа (T1204: User Execution)
Рисунок 16. MaxPatrol SIEM: Запуск вредоносного документа (T1204: User Execution)
  1. Получение контролируемого доступа на АРМ доменного пользователя A_Dodson – COMP-9794.tube.stf (10.156.44.4) – и загрузка утилиты gost.exe для организации SOCKS5-прокси с последующим его запуском.    

    Рисунок 17. MaxPatrol SIEM: Загрузка утилиты gost на АРМ (T1105: Ingress Tool Transfer)
    Рисунок 17. MaxPatrol SIEM: Загрузка утилиты gost на АРМ (T1105: Ingress Tool Transfer)
    Рисунок 18. MaxPatrol SIEM: Запуск утилиты gost на АРМ (T1090: Proxy)
    Рисунок 18. MaxPatrol SIEM: Запуск утилиты gost на АРМ (T1090: Proxy)

    Эти же события видны в сетевом трафике.

    Рисунок 19. PT NAD: Загрузка утилиты gost на АРМ
    Рисунок 19. PT NAD: Загрузка утилиты gost на АРМ
    Рисунок 20. PT NAD: Проксирование трафика (T1090: Proxy)
    Рисунок 20. PT NAD: Проксирование трафика (T1090: Proxy)
    1. Нахождение в текстовом файле пароля администратора рабочих станций V_Roach_admin в документах пользователя на COMP-9794.tube.stf (10.156.44.4). 

      Рисунок 21. Пароль администратора V_Roach_admin в открытом виде (T1552: Unsecured Credentials)
      Рисунок 21. Пароль администратора V_Roach_admin в открытом виде (T1552: Unsecured Credentials)
    2. Вход по протоколу RDP на COMP-8564.tube.stf (10.156.44.5) под учетной записью V_Roach_admin.

Рисунок 22. RemoteInteractive вход под v_roach_admin на comp-9794.tube.stf (10.156.44.4)
Рисунок 22. RemoteInteractive вход под v_roach_admin на comp-9794.tube.stf (10.156.44.4)
  1. Нахождение клиента на COMP-8564.tube.stf (10.156.44.5) для подключения к серверу ShareX – sharexftp.tube.stf (10.156.46.114) – сервис для снятия и хранения скриншотов.

Рисунок 23. Подключение к sharexftp.tube.stf через клиент ShareX
Рисунок 23. Подключение к sharexftp.tube.stf через клиент ShareX
  1. Обнаружение в ходе изучения сервиса ShareX скриншота страницы axelor.tube.stf (10.156.45.3) (http://sharexftp.tube.stf/7.png), на котором в режиме отладки браузера отображен пароль 5zero55zero5 пользователя A_Dodson.

Рисунок 24. Скриншот с паролем пользователя A_Dodson (T1039: Data from Network Shared Drive)
Рисунок 24. Скриншот с паролем пользователя A_Dodson (T1039: Data from Network Shared Drive)
  1. Успешное подключение к веб-интерфейсу axelor.tube.stf (10.156.45.3) с АРМ COMP-9794.tube.stf (10.156.44.4) под скомпрометированной учетной записью A_Dodson (5zero55zero5).

Рисунок 25. Вход под скомпрометированной учетной записью A_Dodson
Рисунок 25. Вход под скомпрометированной учетной записью A_Dodson
Рисунок 26. Чтение персональных данных сотрудников
Рисунок 26. Чтение персональных данных сотрудников

Скриншот финального шага от команды атакующих:

Рисунок 27. Персональные данные сотрудников
Рисунок 27. Персональные данные сотрудников

Итоги кибербитвы

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

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

В тот момент инженеры Positive Technologies, которые разворачивали инфраструктуру SCADA, закладывали недопустимые события для их реализации, и команды атакующих:

P. S. Это был мой первый опыт участия в роли руководителя судейской команды, поэтому этот Standoff мне точно запомнится, и я с волнением жду следующих киберучений.

Желаю всем командам‑участникам хорошенько отдохнуть на майских и устроить по‑настоящему интересную битву на предстоящем Standoff 17–20 мая. Удачи всем нам и до встречи!

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


  1. danilovmy
    18.04.2023 14:11
    +3

    В кпдв девушка говорит четыре слова, хотя ее просили три. Это так задумано?


    1. zelya0x0 Автор
      18.04.2023 14:11
      +2

      Просто она произнесла "в Standoff" как одно слово :)


    1. Loskostuz
      18.04.2023 14:11
      +3

      Наверное, эта девушка посчитала предлог служебной частью речи, который поддерживает существительное…

      то чувство, когда под техническим материалом ты обсуждаешь правила русского языка))