Привет! На связи организаторы кибербитвы Standoff, и в этой статье мы с командой 5HM3L поделимся с вами свежим кейсом.

Скрытый текст

Международные киберучения, в рамках которых воссоздаются IT-инфраструктуры виртуальных государств (в этом году битва впервые прошла сразу в двух государствах — F и S) с настоящими и актуальными системами управления. Часть узлов киберполигона с реальными технологическими и бизнес-процессами предоставили нам партнеры. Для компаний участие в Standoff — это своеобразный экспресс-тест на защищенность, а для команд атакующих — отличная возможность легально исследовать настоящие («боевые») системы реальных компаний. По итогам мероприятия все партнеры получают подробный отчет с описанием найденных «красными» уязвимостей.

Одним из партнеров выступило «Научно-производственное предприятие „Исток“ им. Шокина» (входит в холдинг «Росэлектроника» госкорпорации «Ростех»), которое приняло участие в кибербитве Standoff 13 в рамках международного фестиваля Positive Hack Days в «Лужниках». Компания тестировала защищенность своей платформы IIoT.Istok. Как разворачивалась борьба защитников и атакующих — рассказываем под катом.

Что стояло на кону: описание атакуемой инфраструктуры

Как вы уже могли догадаться, команда «НПП „Исток“ им. Шокина» пришла на киберполигон с платформой industrial internet of things. В виртуальном городе платформа стала частью системы управления даркстором управляющей компании City. Согласно легенде, на территории склада расположены стеллажи, конвейер и погрузочная зона, а в разных залах в зависимости от вида товара и сезона автоматически регулируется температура.

Цифровая платформа IIoT.Istok отвечала за температурный режим на складе, а атакующие (белые хакеры) пытались реализовать два критических события— изменить температуру на ПЛК холодильного оборудования и переключить режим работы с летнего на зимний.

УЗЕЛ

FQDN

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

10.149.14.134

istokw.city.stf

Microsoft Windows Server 2019 (64-bit), IIoT.Istok Connector

10.149.14.70

istok1.city.stf

Astra Linux (64-bit), IIoT.Istok Cloud

10.149.14.71

istok2.city.stf

Astra Linux (64-bit), IIoT.Istok Platform

Платформа IIoT.Istok состояла из трех узлов и входила в сегмент управляющей компании City (city.stf).

Решение участвовать в Standoff 13 было обусловлено несколькими ключевыми факторами. Во-первых, такие мероприятия предоставляют компании уникальную возможность протестировать и повысить защищенность своих продуктов. Standoff 13 — это отличный способ проверить инфраструктуру в реальных условиях. Продукт, который был размещен на киберполигоне, является промышленной системой интернета вещей (IIoT) под названием IIoT.Istok. Система предназначена для управления промышленными объектами и их мониторинга, и ее надежность и безопасность критически важны для предотвращения возможных кибератак.

Вектор и развитие атаки

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

Разведка в демилитаризованной зоне и первый эксплойт

Атака началась с того, что исследователи с помощью утилиты nmap просканировали сеть 10.119.2.112/28 в поиске доступных веб-ресурсов. Вскоре на gate8.city.stf (10.119.2.119) в демилитаризованной зоне сети они нашли сайт, который принадлежал УК City. На нем атакующие обнаружили список почтовых адресов: g_loves@city.stf, f_potov@city.stf, r_reeves@city.stf, k_barber@city.stf.

Затем они решили проверить адрес http://10.119.2.119/admin и вышли на форму авторизации в Bludit версии 3.9.2, где подобрали учетную запись admin:696969. Так они нашли уязвимость CVE-2019-16113, которая позволяет удаленно выполнить произвольный код (RCE). Белые хакеры применили PoC найденной уязвимости и загрузили предварительно подготовленную полезную нагрузку для MSF (Metasploit).

В результате они получили сессию на MSF.

Туннелей много не бывает

Далее атакующие использовали Chisel, чтобы построить сетевой туннель через gate8.city.stf (10.119.2.119). С его помощью они просканировали сеть 10.119.11.192/26 и обнаружили узел 10.119.11.203, который является сервером Microsoft Exchange. Взяв ранее полученные адреса почты (g_loves@city.stf, f_potov@city.stf, r_reeves@city.stf, k_barber@city.stf), команда нападения осуществила перебор учетных записей по выданным организаторами словарям.

В результате им удалось подобрать пароли к учеткам g_loves@city.stf и f_potov@city.stf, первая из которых позволила подключиться к OWA и разослать вредоносный документ с макросом.

Макрос в документе отвечал за скачивание с хоста хакеров (http://10.119.250.98/) полезной нагрузки tyagi_pmef.exe. С ее помощью они установили обратное соединение (реверс-шелл) от лица пользователей r_reeves и k_barber, а затем использовали Cobalt Strike, фреймворк для пентестов, чтобы доставить на хост kbarber.city.stf (10.149.14.229) Chisel и построить еще один сетевой туннель.

Сессии в Cobalt Strike позволили атакующим определить адрес dc-2.city.stf (10.149.15.70). Через построенный на предыдущем шаге туннель они обратились к хранилищу SYSVOL на dc2.city.stf и скачали из базы данных KeePass файл Database.kdbx. Далее атакующие подобрали к нему пароль и получили доступ к учеткам пользователей L_Craft_admin и K_Stewart_admin.

Выход на инженеров АСУ ТП

Доступ к учетным данным L_Craft_admin и инструмент CrackMapExec позволили атакующим через SMB-протокол распространить по сети 10.149.14.224/27 вредоносный файл tyagi_pmef.exe. Это открыло для них узлы mglass.city.stf, ldorsey.city.stf, scurtis.city.stf. С помощью Cobalt Strike белым хакерам удалось доставить SharpHound.exe на узел mglass.city.stf и собрать информацию о домене.

SharpHound — программа для сбора данных в BloodHound, который часто применяется в пентестах. Этот инструмент использует теорию графов и позволяет визуализировать некорректные параметры объектов в Active Directory, чтобы спланировать развитие атаки.

Загрузив собранные данные в BloodHound, атакующие выяснили, что в группу инженеров АСУ ТП входят пользователи c_molina, e_dodson, f_ewing и w_sala.

После этого на тот же узел mglass.city.stf доставили инструмент Advanced Port Scanner и нашли их IP-адреса, которые были доступны по RDP. Сетевой туннель позволил хакерам подключиться к хостам инженеров, выполнить на них полезную нагрузку tyagi_pmef.exe и получить сессии Cobalt Strike.

Взлом вентиляции и завершение атаки

Далее «красные» через сессию Cobalt Strike доставили на узел cmolina.city.stf (10.149.15.5) инструмент Сhisel и построили еще один сетевой туннель. Затем на хостах инженеров АСУ ТП они запустили Advanced Port Scanner и нашли узел 10.149.14.70 (istok1.city.stf) с открытым портом 5432 (PostgreSQL).

Атакующие подключились к этому порту с учетной записью по умолчанию — postgres:sa — и нашли в базе данных пользователя ioadmin. Доступ к веб-интерфейсу 10.149.14.71:8443 (istok2.city.stf) позволил им авторизоваться под этой учетной записью с установленным по умолчанию паролем secret. Так команде нападения удалось добраться до SCADA, то есть вплотную подойти к цели.

Через веб-интерфейс 10.149.14.71:8443 (istok2.city.stf) нападавшие перешли на вкладку SCADA и открыли параметры приточной вентиляции. Чтобы спровоцировать инцидент, им осталось только выяснить пароль, необходимый для смены режима работы. Атакующие нашли его через консоль разработчика на вкладке script.js.

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

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

Ждем вас на Standoff 14 в ноябре!

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


  1. agkispu
    28.08.2024 12:47
    +1

    пароли в js - это просто топ!


    1. motezor
      28.08.2024 12:47
      +1

      Да, последний шаг какой-то халявный, но это с моей колокольни так выглядит


  1. SaX_KT
    28.08.2024 12:47
    +1

    Пароль мало того, что 1234, так ещё и захардкоденый - это даже не пять, это все десять. Про пароль администратора 696969 торчащего наружу сервиса я уж молчу - это дно дна.