И снова привет, Хабр! В прошлый раз мы разбирали, что из себя представляет онлайн-полигон Standoff и как можно взломать его внешний периметр. В этой статье пойдем дальше — расскажем, что делать с внутренним периметром и АСУ ТП, а также какие еще знания могут пригодиться на кибербитве.
Мы по-прежнему ждем комментариев, если ваш опыт отличается от нашего. Всем комьюнити будем рады узнать, как участвует в Standoff именно ваша команда ?
Внутренний периметр
Внутренний периметр виртуальной компании или отрасли часто делится на следующие сегменты (см. рис. 1):
-
Серверный сегмент — это зона с корпоративными ресурсами, на которых можно обнаружить либо уязвимости и артефакты для реализации критически опасных событий, либо информацию, необходимую для дальнейшего продвижения по сети. В нем располагаются:
файловый сервер: на нем можно найти файлы, относящиеся к критически опасным событиям (например, к утечке конфиденциальных документов), в том числе учетные данные;
CRM-система для финансистов или HR: тут можно найти информацию, относящуюся к критически опасным событиям (к утечке данных сотрудников или финансовой информации), либо уязвимость, за которую можно получить баллы;
почтовый сервер: часто фигурирует в отчетах о реализации критически опасных событий, так как с его помощью осуществляется фишинговая атака (как такую провести, мы разбирали в прошлой статье), один из важнейших шагов к инфильтрации в сеть виртуального офиса. Помимо этого, на некоторых версиях почтовых серверов могут быть уязвимости;
сервер, на котором развернут GitLab: если вы видите GitLab или другую платформу для разработки, то нужно попытаться не только проэксплуатировать известные уязвимости, но и собрать информацию, оставленную в коде сервисов, — это могут быть учетные данные.
-
Пользовательский сегмент — это сегмент с рабочими станциями сотрудников виртуальной компании. В домене есть группы пользователей с различными правами:
HR — пользователи, чьи электронные адреса можно найти на внешнем периметре. Нередко у них несложный и подбираемый брутфорсом пароль. Особых прав в домене нет, но пароль может подходить к учетной записи на HR-портале компании;
финансовый департамент — учетные данные таких пользователей можно использовать для спреинга на CRM-платформах, связанных с движением финансов компании;
IT-департамент — сотрудники могут иметь привилегированные учетные записи на серверах и в сервисах, касающихся разработки программного обеспечения;
-
администраторы — такие учетные записи могут быть трех типов:
администратор рабочих станций (WSAdmin, workstation admin) — с неограниченным доступом к рабочим станциям пользователей;
администратор серверов (SRVadmin, server admin) — с неограниченным доступом к серверам домена. Стоит отметить, что в домен могут быть не введены некоторые серверы, например: Exchange и SharePoint в Windows, Axelor и Dolibarr в Linux;
администратор домена (domain admin) — самая привилегированная учетная запись в домене;
SCADA-инженеры — пользователи, которые имеют сетевой доступ к технологическому сегменту;
директор — у него стоит искать конфиденциальные документы для реализации критически опасных событий или данные для получения доступа к закрытым для других пользователей сетевым ресурсам.
Технологический сегмент — это сегмент с доступом к серверам SCADA и программируемым логическим контроллерам. Критически опасные события, реализуемые в этом сегменте, серьезнее других за счет того, что эмулируемые системы являются киберфизическими: если в реальной жизни злоумышленник попадет туда и получит доступ к управлению ПЛК, это может вызвать физическое разрушение промышленного оборудования и впоследствии — техногенную катастрофу.
Мы рассмотрели самое простое устройство внутреннего периметра, базово инфраструктуры компаний состоят из подобных подсетей. Тем не менее есть вероятность, что вам встретится система сложнее представленной. Например, в банковском секторе у его филиалов может быть несколько доменов с разными пользовательскими, серверными и технологическими сегментами.
Варианты структуры Active Directory
Чаще всего инфраструктура компании состоит из Windows-домена, нескольких серверов на Linux и технологического сегмента (рабочей станции на Windows, не введенной в домен, и ПЛК). О том, как ломать Active Directory, можно почитать в интернете (например, в статье Active Directory Methodology).
Не так давно на Standoff появились домены, состоящие из рабочих станций на Linux. Такие домены строятся с помощью FreeIPA — ПО, функции которого схожи с функциями Active Directory в Windows.
Как ломать внутренний периметр
Как взламывать внешний периметр, мы описали в прошлой статье. Что же делать, когда вы успешно провели фишинговую атаку и попали на рабочую станцию сотрудника группы HR? Какие знания и утилиты могут потребоваться?
Повышение привилегий
Чтобы собрать с рабочей станции дополнительную информацию для перемещения внутри периметра, можно попробовать повысить свои привилегии. Вам пригодятся:
заранее собранный набор эксплойтов для различных версий Windows — это могут инструменты с Potato в названии (часто хорошо отрабатывают на онлайн-полигоне);
утилита WinPEAS — для поиска векторов повышения привилегий;
наборы материалов и чек-листов из интернета по запросу Windows local privilege escalation (например, Checklist — Local Windows Privilege Escalation).
Сбор информации на узле
Если вам удалось повысить свои привилегии на узле — отличная работа! Дальше вы можете собрать максимальный объем полезной информации. Вам пригодятся:
mimikatz — для извлечения паролей и билетов Kerberos;
BloodHound — для поиска векторов перемещения по Active Directory;
встроенные команды Windows (подробнее — в статье Information Gathering — Windows);
-
SauronEye — утилита для быстрого поиска данных в файловой системе Windows. На рабочей станции можно поискать файлы форматов:
KDBX (KeePass) — в них могут храниться пароли;
DOC, DOCX, TXT — потенциально содержат заметки пользователей и другие артефакты.
Не на всех узлах есть возможность повысить привилегии. Даже если вам этого не удалось, не стоит пренебрегать поиском по файловой системе.
Не забывайте, что если на узле включен антивирус, то он может распознать некоторые из перечисленных утилит, определить их как вредоносные и ограничить ваше взаимодействие с системой.
Пивотинг и перемещение внутри периметра
У пользователей с разными ролями могут различаться сетевая видимость и права доступа. Например, с АРМ инженера SCADA можно попасть в технологический сегмент, а с гейта во внешнем периметре — в серверный. Для того чтобы подключиться к сетевому ресурсу, доступ к которому можно получить только с определенной рабочей станции, необходимо осуществить пивотинг (к примеру, с помощью Chisel).
Для перемещения внутри периметра хорошо применяется спреинг паролей: используются учетные данные и хеш-суммы, полученные на этапе сбора информации, например с помощью mimikatz. Это возможно, если в целевой системе доступны стандартные порты служб PsExec, WinRM и протоколов SMB или RDP.
Учетные данные некоторых пользователей позволяют получить административные привилегии на недоменных серверах Linux. Их можно использовать, например, для эксплуатации уязвимости типа Authenticated RCE.
Если у вас есть учетные данные разработчика, то попробуйте осуществить спреинг на платформе GitLab.
Примеры того, как еще можно перемещаться по Active Directory, есть в статье Lateral Movement.
Использование С2-инфраструктуры
Количество доступных вам узлов, по мере выполнения заданий на онлайн-полигоне, будет пополняться. Для того чтобы сохранить ранее полученные права, в несколько кликов поднимать прокси-сервер для пивотинга и запускать автоматизированные инструменты на узлах, можно использовать серверы Command and Control (С2).
Один из самых известных С2-фреймворков — Metasploit. Вы могли встречать его в составе дистрибутива Kali Linux. С помощью Metasploit можно переключаться между доступными узлами и выполнять на них команды.
Развертывание фреймворка и настройка инфраструктуры для его работы — непростая задача. Вам потребуется:
выбрать С2-фреймворк — например, Sliver, Mythic, Cobalt Strike. Не все инструменты могут идеально работать с вашей операционной системой. Желательно протестировать каждый из них и выбрать наиболее удобный;
развернуть инфраструктуру для фреймворка («Что такое Command and Control? Описание инфраструктуры управления и контроля»);
проверить, детектируют ли антивирусы в целевой системе генерируемую фреймворком нагрузку. Если да, принять меры для их обхода, описанные ранее.
Если вам не хватает функций C2-фреймворка, доступных «из коробки», модернизируйте его самостоятельно.
АСУ ТП
Ранее мы говорили о том, что, проходя по внутренней инфраструктуре, можно попасть в технологический сегмент предприятия и реализовать внутри него критически опасное событие. Например, остановить работу гидроагрегата на гидроэлектростанции или нарушить работу доменной печи.
Киберфизические системы чаще всего состоят из двух частей:
узла, обычно с Windows, на котором развернута система SCADA — специализированное программное обеспечение для мониторинга и управления промышленным контроллером;
промышленного контроллера (ПЛК), управляющего технологическим оборудованием виртуального предприятия.
Учетные данные от виртуальной машины, на которой развернута SCADA, разбросаны по инфраструктуре в виде артефактов: файлов, паролей из репозиториев и менеджеров паролей.
Среди материалов, которые организаторы предоставят вам перед соревнованиями, с высокой вероятностью будет перечень SCADA, установленных в различных сегментах онлайн-полигона, и контроллеров с указанием их версий и производителей. Используя эту информацию, вы можете заранее ознакомиться с технической документацией и найти релевантные эксплойты в интернете.
На рисунке представлено несколько векторов реализации критически опасного события в технологическом сегменте.
SCADA
После получения доступа к устройству, на котором развернута SCADA, существуют следующие векторы реализации критически опасного события:
использовать стандартные или «пустые» учетные данные для авторизации в интерфейсе SCADA;
повышать привилегии в системе, искать учетные данные в конфигурационных файлах и использовать их для дальнейшей авторизации;
модифицировать конфигурационные файлы и сменить пароль в SCADA, если это возможно без повышения привилегий.
Если вы изменили конфигурацию или сменили пароль, сообщите об этом организаторам либо самостоятельно верните систему в исходное состояние.
Контроллер
Если вам не удалось получить доступ к интерфейсу SCADA, то, возможно, задание решается путем прямого взаимодействия с ПЛК. В этом случае можно рассмотреть такие векторы атаки:
подключиться к контроллеру напрямую и внести изменения в прошивку, используя специальное программное обеспечение (зачастую предоставляемое производителем на официальном сайте);
Алгоритм действий после изменения прошивки тот же, что и после смены пароля в SCADA: сообщите об этом организаторам или самостоятельно верните систему в исходное состояние.
авторизоваться в веб-интерфейсе контроллера, а затем отправить ему команду
STOP
;отправить команду
STOP
с помощью специального сетевого протокола (последний шаг к реализации критически опасных событий со словом «остановка» в названии — например, «остановка гидроагрегата»);отправить команду
FORCE
после авторизации на контроллере с помощью специального сетевого протокола (последний шаг к реализации критически опасных событий со словом «авария» названии).
Не все критически опасные события требуют остановки производства. В некоторых случаях, чтобы вызвать аварию определенного типа, необходимо изменить конкретные параметры конфигурации АСУ ТП.
Матрица MITRE ATT&CK и дополнительные знания
Разобранные виды атак — лишь малая часть того, что нужно знать и уметь хакеру, участвующему в соревнованиях или занимающемуся аудитом информационной безопасности.
Путь к компрометации системы, например к эксплуатации RCE, LPE или к реализации критически опасного события, часто состоит из цепочки шагов. Матрица MITRE ATT&CK описывает тактики и техники, которыми пользуются злоумышленники. Тактики разделены на столбцы по этапам кибератаки: от разведки и первоначального доступа до эксфильтрации данных из корпоративной сети.
На сайте Standoff 365 представлена матрица MITRE ATT&CK для Standoff 13. Здесь можно отфильтровать техники, заложенные в заданиях на онлайн-полигоне, — их более 76% от общего количества. Перед соревнованиями настоятельно рекомендуем ознакомиться с этой матрицей, убедиться, что вы знакомы с техниками (а если нет, то постараться заполнить пробелы) (см. рис. 3).
Мы не прощаемся: в следующей (заключительной) части разберемся, как составить хороший баг-репорт, а также расскажем, как попасть на кибербитву. А еще мы поделимся полезным чек-листом, поэтому stay tuned, коллеги ?
А пока ждем ваших комментариев. До новых встреч!
N3m351d4 @L1-1on
Капитан команды Cult на Standoff