Кибербитва на PHDays, или Как за 30 часов взломать городскую инфраструктуру
23.07.2018
Третий год подряд главным соревнованием форума Positive Hack Days остается The Standoff — кибербитва между командами атакующих, защитников и экспертных центров безопасности (SOC). Игры 2016 и 2017 года показали, что максимально приближенный к реальности формат соревнований понятен и интересен не только участникам, но и посетителям конференции. Поэтому сомнений делать или не делать The Standoff в этом году у организаторов не было. Всего в The Standoff 2018 года поучаствовало 19 команд. Почти 30 часов они сражались за контроль над городом. Защитники стойко отстаивали вверенные им объекты, но атакующим все равно удалось кое-что взломать: некоторые объекты по правилам намеренно оставлялись без защиты. А вот битва между самими командами атакующих выдалась горячей: турнирная таблица кардинально изменилась буквально за полчаса до конца игры. Рассказываем, что происходило на площадке в течение двух дней.
Первый день: атакующие прощупывают почву
День был не очень богатым на события. Атакующим понадобилось много времени, чтобы разведать обстановку и внимательно изучить объекты игрового полигона. По легенде сражение развернулось в городе, вся экономика которого основывается на цифровых технологиях. В городе работали ТЭЦ и подстанция, железная дорога, несколько офисов, «умные» дома с рекуперацией энергии, банки с банкоматами и киосками самообслуживания, сотовая связь, интернет и различные онлайн-сервисы.
Макет игрового полигона
В помощь нападающим был внутренний портал, где размещалась общая информация об инфраструктуре и список верхнеуровневых целей, которые им нужно было достичь. За успешно выполненные задания организаторы начисляли командам публи (виртуальная валюта города). По правилам игры, побеждала та команда атакующих, которая наберет больше всех публей.
Первые атаки были зафиксированы ближе к обеду. Жертвами стали некоторые объекты городской инфраструктуры, которая включала в себя системы управления камерами, светофорами и вентиляцией.
Команда «Античат» обнаружила уязвимости в камерах и произвела атаку, направленную на отказ в обслуживании. В 11:20 команда получила доступ к системам видеонаблюдения и на протяжении двух часов пыталась вывести их из строя. Как и в жизни, на некоторых камерах были установлены простые пароли, которые легко можно было подобрать. В итоге часть камер атакующим удалось просто выключить, а другие — вывести из строя с помощью общедоступных эксплойтов.
Далее «Античат» нацелилась на системы отопления. Команда получила доступ к контроллеру, управляющему отоплением и вентиляцией, и начала включать и отключать отопление. Однако организаторы частично засчитали это задание по программе bug bounty, так как по условиям необходимо было вывести из строя еще системы управления вентиляцией и светофорами.
В 12 часов команда «ЦАРКА» обнаружила уязвимости в ПО АСУ ТП, но не смогла вовремя сориентироваться, чтобы использовать этот шанс и прорваться в инфраструктуру.
Примерно в это же время на главной сцене форума с отчетом выступила команда SOC «Ростелекома», которая мониторила незащищенный офис — по легенде, инжиниринговую компанию «Спутник». Она сообщила, что одной из команд атакующих удалось с помощью брутфорса и эксплуатации уязвимостей взломать офисную сеть и получить права администратора домена.
В середине дня «ЦАРКА» сбросила пароли всех абонентов портала телеком-оператора и попыталась продать сброшенные учетки покупателю на черном рынке, но он понял, что они фиктивные, и отказался от покупки. Телеком-оператор сразу после того, как получил жалобы от абонентов, восстановил учетные записи из бэкапа и закрыл дыру в портале. Далее команда попыталась сдать учетки по программе bug bounty, но за это она выручила копейки. Отметим, что это не было упущением команды защиты, так как организаторы временно попросили отключить WAF от портала для установки обновлений и тестирования новой функциональности, чем и воспользовались атакующие.
Защитники телекома ― команда You shall not pass ― отметили, что хакеры были нацелены в основном на взлом портала и веб-интерфейсов. Большинство ресурсов, относящихся к телекому, контролировались защитниками, но по задумке организаторов часть ресурсов оставалась без защиты. Например, команда не защищала от кражи учеток, сброса паролей в личном кабинете и перехвата SMS-сообщений, а команда SOC ANGARA только фиксировала эти инциденты, чем впоследствии и воспользовались противники. Кстати, You shall not pass также рассказала нам о попытках атакующих применить социальную инженерию: кое-кто из участников, помня прошлогодний удачный опыт команды «ЦАРКА», попытался получить данные от защитников, представившись журналистами. Но защитники не повелись на хитрые уловки соперников.
Ближе к вечеру атакующие узнали, что в городе F есть своя криптовалюта. У участников была возможность заработать дополнительные публи на распределенных DDoS-атаках, завязанных на блокчейн. Первой командой, решившей подзаработать, оказалась «ЦАРКА»: около шести часов вечера они взломали одну машину, чтобы использовать ее для майнинга. Далее команда переключилась на другие объекты: в девять стало известно, что она обнаружила автомобиль по GPS-координатам. Чуть позже команды «ЦАРКА» и Sploit00n практически одновременно взломали абонентов телеком-оператора: они перехватили SMS-сообщения с компроматом на топ-менеджера страховой компании города. Отметим, что безопасность абонентских данных не была подконтрольна командам защитников. За успешно выполненное задание атакующие получили по 250 000 публей.
Под конец дня неизвестные атакующие попытались сбрутить учетные записи от SIP-телефонии в режиме онлайн, но из-за своевременной правки защитниками конфигурации приложения для компьютерной телефонии Asterisk, усложняющую онлайн-брутфорс, эта атака не увенчалась успехом. Сказалось и то, что атакующим, видимо, не хватило времени на предварительную подготовку: они пытались сбрутить несуществующие номера телефонов: валидные номера были 10-значными без кода страны или города, а участники брутили 9-значные.
Чуть позже с отчетом выступила команда защитников банка Jet Antifraud Team, которая рассказала, что в течение дня ей удалось заблокировать 5 нелегитимных транзакций на сумму 140 публей — можно сказать, что это была разминка перед ночными атаками.
По итогам первого дня организаторы, наблюдавшие за противостоянием, отметили, что участники первое время осторожничали и не предпринимали попыток сделать серьезные атаки. Атакующие если и действовали, то очень прямолинейно и их активность была очень заметна. К концу дня множество атак все еще оставались на начальной стадии, так как атакующие не понимали, как их развить дальше. Например, взломав незащищенный офис, они не сразу догадались, что «Спутник» — управляющая компания технологического сегмента, также команды не воспользовались полученными ресурсами для майнинга местной криптовалюты.
Тем не менее за все это время было сдано около ста отчетов об уязвимостях по программе bug bounty, украдены учетки и данные банковских карт. За эти задания атакующие также получали деньги в игровой валюте — немного, но за счет количества некоторым командам удалось набрать серьезный счет (100 тыс. — 200 тыс. публей).
Защитники, наученные опытом прошлых игр, прогнозировали, что атаки начнутся ближе к ночи.
Ночь — время для темных дел
Участники The Standoff
Как и ожидалось, все самое интересное случилось ночью. Как только игровой день закончился, хакеры активизировались, и попытались использовать уязвимости, которые они обнаружили в течение дня. И сразу в нескольких точках города стало неспокойно.
Команда Jet Antifraud Team зафиксировала массированные атаки, целью которых была кража денег со счетов жителей города. К слову, всего в банке города было открыто 500 счетов, общая сумма составляла 3 млн публей. Атакующие попытались вывести деньги — точнее хоть немного погонять их между счетами и проверить банковский антифрод на прочность. Три крупные атаки произошли в промежуток с 10 часов вечера до двух часов утра. Всего было около 20 тысяч попыток совершения мошеннических операций на 19 мошеннических счетов. При этом были скомпрометированы 100 счетов, но банк на тот момент не потерял ни одного публя.
После полуночи команда True0xA3 решила составить конкуренцию «ЦАРКА» и взломала один компьютер для майнинга криптовалюты. За ночь обе команды смогли организовать небольшой ботнет для майнинга.
Ближе к утру случилось неожиданное временное перемирие между атакующими и защитниками. Совместно они начали изучать инфраструктуру технологического сегмента. Отметим, что с прошлого года промышленный сектор значительно изменился. Макет включал гидроэлектростанции и ТЭЦ, распределительные подстанции, нефтеперерабатывающий завод, транспортировку и хранение нефтепродуктов, железную дорогу и автоматизированные склады, кран и установки розлива жидких нефтепродуктов, автоматизацию зданий BMS и жизнеобеспечения, системы видеонаблюдения, умные дома. Было использовано реальное ПО и оборудование таких вендоров: ABB, Advantech, Belden, GE, ICONICS, ICP DAS, Kepware, Loxone, Matrikon, Moxa, Phoenix Contact, Rockwell, Schneider Electric, Siemens, «Прософт». Организаторы использовали версии ПО и прошивки оборудования с известными типовыми уязвимостями и ошибками конфигурации, которые на практике встречаются чаще всего.
Когда попытки получения удаленного доступа к АСУ ТП не увенчались успехом, команды стали подключаться локально и под присмотром защитников проводили сканирования, чтобы составить топологию сети, эксплуатировали известные уязвимости, но не осуществляли полноценных атак на промышленные системы.
Второй день: неожиданный поворот событий
Макет города
На второй день атакующие добрались и до еще одного офиса — по легенде это была страховая компания города F. Примерно в 9:30 команде SCS удалось получить персональные данные клиентов компании. Как сообщили команды защитников SRV и SOC «Перспективный мониторинг», некоторые сервисы подверглись взлому. Одну линуксовую машину долго испытывали на прочность перебором паролей. В итоге, воспользовавшись расширенным словарем, SCS взломала учетные записи. Далее злоумышленники пытались закрепиться в системе и атаковать внутренние сервисы в обход NGFW, но активность была пресечена. Примерно в это же время SCS отобрала для майнинга компьютер, захваченный «ЦАРКА», но защитники быстро обнаружили и устранили майнер. Всего за сутки WAF команды защитников SRV отбил около 1 500 000 атак, а команда «Перспективный мониторинг» завела 30 инцидентов безопасности.
После обеда команды SCS, EpicTeam и Level 8 попытались продать за 250 000 публей на черном рынке компромат на топ-менеджера страховой компании города, найденный в SMS-сообщениях. Однако одна из команд не смогла подтвердить документально, что эта переписка принадлежит именно топ-менеджеру (в данных отсутствовала эта информация), поэтому получила за это лишь 100 000 публей. Другая команда смогла перехватить только часть переписки. Покупатель на черном рынке, конечно же, заплатил и за эту информацию, но не так много, как ожидали атакующие — всего 150 000 публей.
Тем временем команда True0xA3 начала активно изучать объекты энергетики и отправлять на bug bounty первые уязвимости. Найденный эксплойт помог им в 15:19 осуществить атаку на подстанцию ТЭЦ: команда вывела из строя терминал защиты, тем самым создала аварийную ситуацию.
В середине дня команда защитников Jet Security Team и RT SOC сообщили, что атакующие получили полный контроль над незащищенным офисом компании «Спутник»: они нашли выходы в систему АСУ ТП нефтяного сектора. Ночью, несмотря на многочисленные попытки, пробить системы защиты у атакующих не получилось, но днем эти атаки получили свое развитие. Оказалось, что компания «Спутник» не обеспечила безопасность своей Wi-Fi-сети, поэтому команды смогли получить к ней доступ. Кроме того, были найдены учетные записи для удаленного доступа через TeamViewer на машину инженера АСУ ТП. Нападающие, конечно, использовали это в своих целях и перехватывали контроль над сессией. К этому часу серьезных атак зафиксировано не было, но команды Jet Security Team и RT SOC прогнозировали диверсии в нефтяном секторе.
Долго ждать не пришлось. К концу дня неизвестные атакующие осуществили локальную атаку на системы подачи нефти с танкера: подойдя непосредственно к оборудованию, атакующие сделали (возможно случайно) петлю в локальной сети, что привело к потере связи с программируемым логическим контроллером и SCADA одновременно. Из-за этого произошел разлив нефти на танкере, но без серьезных последствий. Тем не менее такую пристальную и внимательную работу по защите АСУ ТП (от тотального мониторинга до перенастройки сетевых промышленных устройств), которую продемонстрировала команда Jet Security Team, в реальной жизни встретишь редко.
Но самое интересное случилось за час до конца кибербитвы. Город отказался от системы антифрода. Этим оперативно воспользовались команды Hack.ERS и invul:$. Однако только Hack.ERS смогли первыми автоматизировать операции и за 20 минут полностью обчистить банк — в сумме они вывели около 2,7 млн публей. Это позволило команде подняться с 10 строчки турнирной таблицы и выбраться в победители, выбив из лидеров команду «ЦАРКА» (победителей прошлого года). Всего за 30 часов кибербитвы Jet Antifraud Team, защищавшая банк города, успешно отразила 22 500 мошеннических операций на сумму 97 000 публей.
Финальная турнирная таблица
Добавила жару и ситуация на бирже криптовалюты. Всего майнили 6 команд из 12: «ЦАРКА», True0xA3, Hack.ERS, SCS, CrotIT, invul:$. Как и в реальной жизни, курс постоянно менялся: минимальный был 5 публей за блок, максимальный — 200 публей за блок. В последний час цифры серьезно поменялись. Всего участники намайнили 1776 блоков: «ЦАРКА» — 620, True0xA3 — 515, Hack.ERS — 355, SCS — 133, CrotIT — 104, invul:$ — 48. За два дня команды заработали: «ЦАРКА» — 75940 публей, True0xA3 — 40200 публей, Hack.ERS — 35100 публей, SCS — 12680 публей, CrotIT — 19605 публей, invul:$ — 960 публей.
Уже на последних минутах конкурса команда True0xA3 устроила блэкаут в городе. Эта атака стала логичным продолжением действий, предпринятых командой накануне. Все это время участники изучали стенд, читали исследования по безопасности АСУ ТП и искали необходимые утилиты. Используя уязвимости протокола MMS, им удалось вызвать короткое замыкание. Кстати, такая же атака уже была выполнена два года назад на PHDays VI. Этому должна была воспрепятствовать система защиты, но True0xA3 смогли накануне отключить ее. Напоследок досталось и железной дороге: True0xA3 получила управление локомотивом, но уже не успела ничего сделать, а Sploit00n нашла несколько уязвимостей в автоматизированном складе железной дороги, позволяющих изменить логику ПЛК, однако команда также не успела произвести модификаций.
Макет железной дороги
В течение двух дней события на площадке также мониторили с помощью продуктов Positive Technologies: система MaxPatrol SIEM, решение сетевой безопасности для анализа сетевого трафика, выявления и расследования инцидентов PT Network Attack Discovery, многопоточная система выявления вредоносного контента PT MultiScanner. За все время один только PT Network Attack Discovery зарегистрировал 11 769 526 атак. О том, какие атаки зафиксировали решения Positive Technologies, и их подробный технический разбор — в нашей следующей статье.
Количество атак на объекты города F за два дня
Итоги: победила дружба
По итогам двух дней можно сказать, что победила дружба. 30-часовая кибербитва The Standoff еще раз подтвердила — ИБ-специалисты способны обеспечить высочайший уровень защиты, при этом не влияя на бизнес-логику и технологические процессы систем. Взломать защищенные объекты атакующим не удалось, тем не менее команды продемонстрировали, к чему может привести халатное отношение к вопросам информационной безопасности. Некоторые объекты и инфраструктуры вовсе остались без защиты (как это иногда бывает и в жизни), чтобы сделать соревнование более реалистичным и наглядным. Ну а чтобы защитники не злоупотребляли своим положением и не влияли на работу вверенных им объектов (например, не отключали сервисы в угоду безопасности), организаторы запускали специальные программы для проверки их доступности.
Первые три призовых места заняли Hack.ERS, «ЦАРКА», Sploit00n. Остальные результаты — в финальном рейтинге..
Победители The Standoff — команда Hack.ERS
Эксперт по безопасности АСУ ТП и один из организаторов стендов промышленных объектов Илья Карпов считает, что победили защитники, несмотря на то, что в городе на подстанции ТЭЦ нападающие смогли совершить диверсию и опустить заземляющий нож на землю.
«Нефтяной сектор, несмотря на различные внедренные уязвимости, ошибки конфигурации, точки доступа и даже возможность физического доступа, был надежно защищен командой Jet Security Team. Сложных векторов атак с изменением логики работы мы в этом году не увидели: до контроллеров никто не добрался, так как защитники отработали на 100% и взяли все под контроль. Тем не менее команда True0xA3 смогла на ходу разобраться, как работает подстанция — их атака была самой сложной за все два дня, — рассказал Илья. — Второй год подряд мы ожидаем атак на сетевое оборудование, так как именно они в реальной жизни случаются повсеместно, однако на соревновании они пока остаются без должного внимания».
По мнению члена оргкомитета PHDays Михаила Помзова, атакующие могли достигнуть большего: «В этом году все задания, которые стояли перед хакерами, были рассчитаны на логику. В игре были предусмотрены скрытые цели, которые появлялись после выполнения определенных действий или при наступлении события. Например, получив доступ к учетной записи на одном портале, можно было проникнуть и в другие сегменты. Атакующие же действовали более прямолинейно и не раскручивали атаки — сдавали задания и получали деньги. Возможно, им просто не хватило времени».
«Ежегодная цель нашего мероприятия — обратить внимание на проблемы информационной безопасности, продемонстрировать современные сценарии атак и способы противодействия им. Считаю, что в этом году нам это удалось, — подводит итоги член оргкомитета PHDays Михаил Левин. — Нельзя не отметить переломный момент игры, когда атакующие и защитники объединили усилия, чтобы изучить технологический сегмент нашего киберполигона и узнать, как работают промышленные организации. Все-таки в реальной жизни участники команд — специалисты по информационной безопасности, которые каждый день строят системы защиты, противодействуют атакам и расследуют инциденты. Для того чтобы защищать эти объекты на практике, им нужно понимать, как это работает. Наш The Standoff дал им возможность обменяться опытом и освоить современные техники и инструменты тестирования на проникновения в условиях, максимально приближенных к реальным».
Команды защитников