- Перший день: розвідка і розминка
- Другий день: ламаємо все!
- Підсумки: а де ж захист?
- враження учасників
Дата публікації: 1 червня 2017
Давно відомо, що битви ІБ-фахівців з мережевими зловмисниками виглядають як красиві видовища тільки в голлівудському кіно. А на ділі і реальні атаки, і конкурси з безпеки частіше нагадують математичні олімпіади, красу яких можуть оцінити лише деякі.
Проте, в цьому році організатори « протистояння », Головного конкурсу конференції Positive Hack Days VII, зробили все можливе, щоб вирішити цю суперечливу задачу - зробити змагання максимально наближеним до реальності, але при цьому досить зрозумілим і цікавим для всіх інших відвідувачів конференції. І нам здається, це вдалося. Всього за тридцять годин конкурсу команди хакерів, що складаються з професійних пентестеров і етичних хакерів, продемонстрували цілий ряд успішних атак на об'єкти та інфраструктури сучасного міста, активно використовуючи і бездротовий зв'язок, і низькорівневі уразливості промислових систем управління, і прості Брутфорс, і складні багатоступінчасті схеми вторгнення .
У даній статті ми спробуємо відновити хронологію основних подій, а також підвести деякі підсумки наших масштабних кіберученій.
Перший день: розвідка і розминка
11:00Учасники «Протистояння» розсідаються на свої місця, вивчають стенди. команди атакуючих починають робити перші сканування мереж. Команди захисників продовжують налаштовувати системи захисту і починають вивчати трафік. А захищати їм потрібно ціле місто, в якому функціонують телеком-оператор, два офіси компаній, ТЕЦ, електрична підстанція, нафтова і залізнична компанії. Крім того, в місті є цілий ряд пристроїв новомодного Інтернету речей. Відповідно до правил «Протистояння», команди захисників розподілили об'єкти між собою.
13:00
Одна з хакерських команд робить спробу заходу в зону розміщення захисників - і виходить з неї з матеріалами про інфраструктуру і топології мережі.
У таких офлайнових атаках застосовується соціальний інжиніринг. Одна з команд використовує підроблений пропуск організаторів, намагаючись отримати дані від захисників. Представники іншої команди під виглядом журналістів «соціальний» самих організаторів «Протистояння».
14:00Дві команди відправляють на bug bounty перші некритичні уразливості. Одна з вразливостей знайдена в контролері управління розумними будинками.
16:00
Поки змагання йде неквапливо: тільки в другій половині дня команди атакуючих починають набирати очки, в основному завдяки тому, що знаходять в цифровий інфраструктурі міста облікові записи електронної пошти та номери кредитних карт. Але нагороди за такі знахідки невеликі: від 100 до 500 Публій за учетку. Публіка - це не помилка, а віртуальна валюта міста. У рейтингу лідирує BIZone: вони отримали 100 000 за злом беззахисного інтернет-сайту однієї з компаній.
17:00
Команда царків знаходить облікові записи в TeamViewer, який використовується для віддаленого контролю системи управління транспортом в інфраструктурі міста. Зайшовши під цими обліковими записами в диспетчерську систему, хакери перемикають днем світлофори на нічний режим роботи. Але рух транспорту при цьому майже не змінюється, а через якийсь час все повертається в нормальний режим роботи.
19:00
Царків різко піднімається на перше місце: хакерської групи з Казахстану вдалося перехопити SMS самого мера міста. У цих секретних повідомленнях виявився серйозний компромат, що дозволило команді царків отримати відразу 150 000 Публій. Як вони це зробили? Прослухали радіоефір, використовуючи osmocom-телефон або SDR (у них є і те, і інше).
22:00
Команди царків і BIZone починають влаштовувати вилазки по стендах, намагаючись підключатися до всього, що є.
00:00
Сама пильна команда захисників - Jet Security Team - першої присікає спроби встановити в інфраструктуру міського телекому цілий сервер і бездротову точку доступу. Команда атакуючих Vulners хотіла поставити свою залізяку «в розрив», щоб отримати можливість бачити трафік захисників і через точку доступу керувати нею.
2:00
Команда захисників Jet Security Team присікає множинні спроби фізичного підключення до стендів промислових систем міста. Крім уже згаданих команд, в таких атаках помічена хакерська група KanzasCityShuffle.
Таблиця першого дня
Другий день: ламаємо все!
Ніч - час хакерів, і нападники довели це. Кілька команд вкрали з міського банку більше 4 мільйонів Публій. Для атаки команди Rdot і царків використовували викрадені раніше облікові дані користувачів, це дало їм можливість експлуатувати систему дистанційного банківського обслуговування для виведення великих сум грошей (2,8 мільйона - Rdot, 1,3 мільйона - царків).
При цьому царків скористалася вразливістю самого банку, щоб вкрасти всі гроші з рахунку команди Rdot. Однак вони порушили правило Протистояння - не ламати інфраструктуру «Протистояння», частиною якої є банк (він використовується для видачі призів командам). З цієї причини гроші були повернуті команді Rdot.
Тим часом команда Vulners застосувала інший метод: спеціальний робот став знімати маленькі суми (по 10 рублів) з безлічі скомпрометованих банківських карт жителів міста. Аналогічну атаку провела і група Hack.ERS.
У реальності такі атаки були б більш непомітними, ніж разова крадіжка великої суми. Однак такий метод вимагає часу, а в даному випадку його було мало, і вивести багато грошей не вдалося
Зате загальна крадіжка з банку на суму понад 4 мільйони (більше 50% грошей нашого містечка) привела до справжнього економічної кризи - організаторам довелося провести додаткову емісію і деномінацію.
Вранці продовжилися і атаки на телеком. Команда Antichat змогла зламати веб-інтерфейс управління Asterisk (сервер VoIP-телефонії) і отримати логіни і хеши паролів все користувачів. Але цю діяльність швидко виявили захисники телекому, і негайно заблокували доступ до веб-інтерфейсу для запобігання атаки.
12:00Хакери добралися до промислового сектора: команда BIZone зупинила роботу відразу двох підприємств міста - ТЕЦ і нафтопереробного заводу. Це вдалося зробити завдяки атаці через мережу Wi-Fi, де використовувався словниковий пароль. Отримавши доступ в промислову мережу, хакери виявили в ній системи релейного автоматики (РЗА), які використовуються для захисту електричної частини ТЕЦ. Витративши цілу годину на спроби перенастроювання даного обладнання через інженерне ПО, хакери вирішили змінити вектор атаки. Підібравши потрібний енергетичний протокол і скачавши інше інженерне ПО, вони змогли відключити подачу енергії до підстанції. Внаслідок цього інженерного складу, що працює на ТЕЦ, довелося зупиняти роботу котлів та турбіни. Повна (хоча і тимчасова) зупинка роботи ТЕЦ також вплинула на функціонування нафтопереробного заводу: ректифікаційні колони на АВТ залишилися без перегрітої пари.
Таким чином, один словниковий пароль на Wi-Fi дозволив команді BIZone деактивувати відразу два промислових об'єкта - і вийти на перше місце в рейтингу. На жаль, енергетичний сектор міста ніхто не захищає. Тому атаки на промислові об'єкти можуть продовжитися.
Зупинена ТЕЦ, останній димок 13:30
Стає жарко! Команда царків знову вкрала з банку кілька мільйонів - і знову вийшла в топ. Як це вийшло? Під час проведення регламентних робіт, при підключенні системи боротьби з шахрайствами, організаторам довелося буквально на хвилину залишити банк знову беззахисним. І саме в цей час царків примудрилися вивести купу грошей. У наявності вміле використання автоматизації!
15:30Царків і BIZone продовжують бій за перше місце. Команда з Казахстану змогла знайти автомобіль злочинців з вкраденими грошима. Використовуючи osmocom-телефон, хакери перехопили SMS, що посилаються GPS-трекером автомобіля. Таким чином вони вирахували «білий номер», з якого можна управляти GPS-трекером, потім підмінили номер і послали на трекер команду видати координати автомобіля.
Практично в той же час команда BIZone знову змогла зупинити нафтопереробний завод. Раніше вони вже робили це через атаку на електропідстанцію і ТЕЦ - але в даному випадку була проведена пряма атака на завод. Спочатку атакували Wi-Fi заводу (підбір пароля), потім проникли в мережу заводу і дізналися, які контролери використовуються на виробництві. Вивчивши інформацію по знайденим ПЛК в Інтернеті, атакуючі знайшли відому уразливість (експлойт) і домоглися зупинки контролерів на АВТ, внаслідок чого установка залишилася на якийсь час без управління і моніторингу.
Нафтопереробний завод (фрагмент) 16:00
«Протистояння» закінчилося. Але журі ще перевіряє останні виконані завдання: крім уже згаданих лідерів (царків і BIZone), інші команди теж провели кілька успішних, але не таких «дорогих» атак в останню годину змагання.
Так, команда Hack.ERS змогла вкрасти гроші користувачів SIP-телефонії: зламавши їх акаунти, хакери «монетизувати» за допомогою дзвінків на платні короткі номери. Однак атакуючі виявили цю можливість лише в кінці змагання, тому виведена сума грошей (близько 300 000) не дозволила їм піднятися в лідери.
А команда True0xA3 на останніх хвилинах конкурсу довела, що навіть прості методи можуть призводити до відчутних результатів. Зламавши домашній роутер одного з простих користувачів, атакуючі виявили, що це бухгалтер, який зберігає на домашньому комп'ютері фінансову звітність великої компанії. Атака принесла команді 500 000 Публій.
Також стало відомо, що команда KanzasCityShuffle зламала розумний будинок, а команда Antichat отримав доступ до веб-камері. Крім того, деякі команди знайшли і здали ряд інших серйозних вразливостей за програмою bug bounty. Тому перевірка всіх завдань проходить ще протягом двох годин після закінчення битви.
Модель розумного будинку (фрагмент)
Підсумки: а де ж захист?
Перші три місця в конкурсі зайняли царків, BIZone і Rdot.org. Фінальний рейтинг можна подивитися тут . В цілому, хакери в цьому році показали себе у всій красі, використавши дуже широкий арсенал засобів розвідки і нападу за досить короткий час.
Напевно у багатьох виникне питання: а де ж були захисники, як вони все це допустили? Тут варто пояснити, що при підготовці цьогорічного «Протистояння» організатори врахували проблему минулого року, коли захист виявилася надто підготовленою і «закрученої на все гайки», хоча в житті таке трапляється рідко. Тому в нинішньому змаганні захист була не те що б слабкіше, а реалістичнішим. Зокрема, захисників поставили в жорсткі умови кризового скорочення витрат на безпеку: у кожної команди був фіксований бюджет на покупку засобів захисту в розмірі лише 10 000 віртуальних Публій. Крім того, деякі об'єкти і інфраструктури зовсім залишилися без захисту - як це буває і в реальному житті.
«У разі атак на GSM захисники ніяк не могли вплинути, проте вони могли бачити, що відбувається, - розповів Павло Новіков, керівник групи досліджень безпеки телекомунікаційних систем компанії Positive Technologies і один з організаторів" Протистояння ". - Ми їм давали дамп радіоефіру, однак вони нічого не виявили. Крім того, за нашим задумом, захисники могли запобігти виведенню грошей через SIP. Можливо, їх збили з пантелику наші чекер, які старанно генерували голосові виклики: в кожен момент часу було 5-10 одночасних голосових з'єднань, серед яких захисникам достатньо складно було розглянути хакерську діяльність, - але саме так і відбувається в реальному світі. Другою можливою причиною було занадто пізнє виявлення атакуючими цього методу виведення грошей, і захисники теж не встигли відреагувати. З іншого боку, захисникам телекому вдалося запобігти злому сервера Asterisk. Слід зазначити їх вкрай високу оперативність в цьому питанні ».
Експерт з безпеки АСУ ТП Ілля Карпов, який займався організацією стендів промислових об'єктів для «Протистояння», також зазначив, що в разі атаки на нафтопереробний завод захисники зробили все, що могли зробити в таких умовах: «Атака відбувалася дуже швидко, виявлений підозрілий трафік в мережі не дозволив захисникам відразу відреагувати на інцидент, але дозволив своєчасно припинити повторні спроби атак, швидко змінивши паролі ».
На думку фронтмена «Протистояння», члена оргкомітету PHDays Михайла Левіна, в цьому році змагання дійсно вдалося, і «хакерський реванш» відбувся не на словах, а на ділі: «Всі учасники перейнялися духом змагання і виклалися на всі 100. Ми ще раз переконалися , що такий формат кібербітви цікавий як учасникам, так і глядачам. А найголовніше, що захід дозволяє звернути увагу широкої громадськості до проблем інформаційної безпеки ».
враження учасників
Все, що написано вище, - погляд на конкурс з боку організаторів. А тепер давайте послухаємо, що думають про «Протистояння» самі учасники - провідні команди нападників, а також представники захисту.
Команда царків (нападники):«Враження дуже хороші. Насправді ми навіть не очікували перемоги: для нас це було перше участь в самому "Протистояння" і тому ми їхали з метою взяти участь. А вийшло в підсумку виграти. Самий кураж ми зловили в кінці першого дня, коли вдалося посісти перше місце. Спускатися вниз вже не хотілося, і ми вирішили всією командою утримувати вночі своє місце. У деяких моментах нам дуже пощастило - особливо, коли ми потрапили на другий день в п'ятихвилинне вікно, коли заробив Банк, що дало нам ще раз вкрасти гроші у громадян. Туговато вийшло зі зломом SCADA-систем, але атака на GSM це компенсувала.
Ми отримали хороший досвід і протестували команду в стресовому стані, коли потрібно за два дні і розібратися в системах, і встигнути їх зламати. Великим нашим плюсом було те, що члени команди спеціалізуються в різних напрямках (GSM, реверс і т.д.). У деяких команд орієнтир був тільки на атаку через Web, наприклад ».
Команда BIZone (нападники):«Ми першими здали велике завдання, за рахунок чого довго трималися лідерами, і нам воно здалося аномально легким: адже за куди більш складні уразливості (RCE, XXE) в bug-bounty-програмі" Протистояння "нараховували набагато менше очок.
Чи не можемо не відзначити фізичну атаку, вироблену на нас: близько третьої години ночі у нас пропав доступ до всієї ігрової інфраструктурі, крім особистого кабінету. Отримавши відповідь, що проблеми в якомусь із комутаторів, багато членів нашої команди лягли спати, проте на ранок ситуація не змінилася, і ми, вирішивши, що проблеми у всіх, переключилися на сервіси з фізичним доступом SCADA і IoT. Однак десь о 14:00 з'ясувалося, що настільки серйозні проблеми тільки у нас, і проведене разом з організаторами розслідування показало, що кручена пара, по якій йшов доступ у внутрішню мережу, була переткнута на комутаторі в неправильний порт. В результаті майже 12 годин у нас не було доступу до основний ігровий інфраструктурі.
Також нас дуже здивувало, коли на ранок кількість очок всіх команд було помножено на 10 (деномінація, яка сталася через те, що з банку було забрано занадто багато грошей). І коли наша команда на наступний день вирішила завдання, які в перший день оцінювалися на 800 000 PUB, на другий 8 000 000 PUB, а в результаті нам перевели 2 000 000, ми в принципі були навіть приємно здивовані, хоча потім зрозуміли, що цих очок нам би вистачило для першого місця. Але скільки таких непрозорих мультипликаций було вироблено, цікаво досі ».
Команда Rdot.Org (нападники):
«Враження краще, ніж в минулому році, оскільки організатори постаралися усунути дисбаланс на користь захисників і зробити завдання більш конкретними. Однак, формат змагання все ще занадто складний, і його не вдається втілити повністю. Зокрема, доступність сервісів була низькою. Видно, що завдання підготовлені цікаві і різноманітні, але через недосконалість формату змагання не вдається ними впритул зайнятися. Недарма роками вивірений саме формат CTF, як найбільш лаконічна і практична форма змагань ».
Jet Security Team (захисники, компанія «Інфосистеми Джет»):
«Ми вперше (як команда, так і клас рішень - а ми не класична команда захисту або SOC) брали участь в" Протистояння ". І, звичайно, враження перевершили очікування. Зараз вже можна зізнатися, що наша участь викликало деякий скепсис, в першу чергу, у нас самих: нове рішення, новий формат ... Але підсумки говорять самі за себе.
Шкода, що формат заходу не дозволив реагувати на нічні атаки хакерів: в перший день наше антіфрод-рішення стояло тільки в режимі спостереження і сповіщення організаторів про ситуацію. Але зате на наступний день завдання "не дати вивести істотного обсягу коштів" була вирішена на 110%. Крім того, нам вдалося, напевно, найголовніше: ми перевірили свою готовність вирішувати потенційні невідкладні завдання в умовах обмежених ресурсів і часу. А також отримали трохи ідей на розвиток нашого продукту Jet Detective з точки зору зручності експлуатації.
Прикро, що за невелику кількість часу нашої активної роботи атакуючі не встигли істотно спробувати обійти саме нашу аналітичну систему (а варіантів більш "складної гри" для атакуючих було достатньо). Та й деякі хитрощі і заготовлені нами пастки хоч і спрацювали, але застосувати їх результати не було необхідності.
Проте, хочеться сказати, що ми готуємося до наступного року. І впевнені, що в 2018 році такий простий життя, як в перший день, у атакують не буде. Сподіваємося, що нас чекає 30+, а може і 60 годин реального "Протистояння" ».
SPAN (захисники, збірна компаній «Сервіоніка» і Palo Alto Networks):«" Протистояння "можна порівняти з типовим проектом з побудови комплексної системи ІБ. Як і в реальному проекті, ми пройшли етапи аудиту, опрацювання архітектури, підбору необхідних методів і засобів захисту інформації, узгодження всіх змін з організаторами, впровадження та налаштування, тестування і експлуатації обраних засобів захисту в "бойових" умовах. В цілому, основний акцент ми зробили на ретельний, детальний аудит змін мережевої інфраструктури і отримання повного контролю над мережевим трафіком. На нашу стратегію і вибір конфігурації системи захисту вплинули недавні події: хвиля публікацій експлойтів групою The Shadow Brokers і поява вже всесвітньо відомого вірусу WannaCry.
Для досягнення поставленої мети ми вибрали ряд рішень таких компаній, як Palo Alto Networks (NGFW), Positive Technologies (PT Application Firewall, MaxPatrol8), SkyBox Security (NA, FA, VC, TM). Захист кінцевих точок (хостових машин) під керуванням ОС Linux і Windows була реалізована на базі рішень Traps (Palo Alto Networks) і Secret Net Studio компанії "Код Безпеки", а також вбудованими механізмами захисту ОС. Це дозволило нам запобігти використанню відомих експлойтів.
Хочеться відзначити, що офісну інфраструктуру атакували безперервно, і в нічний час в тому числі. Ми бачили, як нападники виявляли вразливі сервіси і починали шукати в них уразливості. Атакували досить стандартно, як на курсах: перебирали паролі, шукали експлойти в Інтернеті і намагалися їх застосовувати проти серверів і роутерів. Ми бачили кожне з'єднання і журналіровалі його. Найактивніші атаки на DMZ були з 0 до 4 години ночі. Потім, в 6 ранку, атакуючі переключилися на серверний сегмент усередині офісної мережі. Ну і теж не смоли ні підібрати паролі, ні знайти SQL Injection, або XSS, або щось ще ».
SOC «Перспективний моніторинг»:
«Це був відмінний полігон для відпрацювання різних сценаріїв моніторингу. На жаль, ми зіткнулися з технічними труднощами і змогли отримати трафік на наші рецептори тільки до 19 години першого дня "Протистояння". Ми отримували трафік і події, бачили атаки і спроби експлуатації вразливостей, але вони все блокувалися досить просто. Вдалося побудувати хороші робочі відносини з командою захисників, вони намагалися оперативно реагувати на інформацію, що надходить від нас інформацію.
Самий неприємний сюрприз - все атаки були дуже типовими, не було якоїсь родзинки, щоб всі учасники могли сказати: "Так, ось це було круто". Нападники або не захотіли ділитися секретами, або їм не вистачило часу.
Головний висновок за підсумками гри: навіть якщо у тебе все працює за день до "Протистояння", це не гарантує роботу в день самого "Протистояння". А якщо серйозно, то ми перевірили свої методики і команду в справі і прийшли до висновку, що і там, і там ми досягли певних успіхів. Це дуже радує. Хоча не вистачило гостроти подачі інформації, візуалізації ».
SOC «False Positive» (збірна Solar JSOC, небайдужих друзів і SOCостроітелей Росії):
«Враження позитивні. Як будь-який масштабний захід, PHDays 7 пройшло не без накладок, але в цілому і рівень організації, і натхнення учасників були дуже вражаючими. Для нас цей захід став черговою можливістю перевірити ефективність роботи нашого контенту в нехай і синтетичних, але, тим не менш, цікавих умовах роботи проти професійних пентестеров. У минулому році ми концентрувалися на мережевих сценаріях і успішно їх перевірили, в цьому ми перенацілити на роботу з хостами.
На жаль, назва "Ворог зсередини" не до кінця виправдало себе, оскільки соціальної інженерії та інших принад нової корпоративної безпеки було не дуже багато. Проте, досвід вважаємо корисним для ІБ-спільноти в плані перевірки власних сил як атакуючими, так і захисниками і SOC.
Безумовно, в такому масштабному проекті потрібно дуже скрупульозно ставитися до балансу сил. На цьому заході Банк став найбільш ласої метою для атакуючих, що, на жаль, знизило рівень їхньої уваги до інших захищається інфраструктур. У наступному році хотілося б побачити ще більше вогню і хардкору ».
PS Для тих, хто був занадто захоплений хакерськими конкурсами і не встиг на доповіді PHDays VII, нагадуємо, що більшість доповідей можна подивитися в запису. У правій частині нашого плеєра є меню, де можна вибрати цікаву для вас секцію: phdays.ru/broadcast/
Підсумки: а де ж захист?Як вони це зробили?
Як це вийшло?
Напевно у багатьох виникне питання: а де ж були захисники, як вони все це допустили?