3 года NotPetya. Как российские хакеры провели самую масштабную кибератаку на Украину
В издательстве Фолио готовится к выходу книга американского журналиста Энди Гринберга "Sandworm". Гринберг подробно описывает историю этой и других кибератак, за которыми, по мнению специалистов, стоят хакеры на службе российского государства. С разрешения издательства Liga.Tech публикует фрагмент из книги - о том, как именно хакеры смогли получить доступ ко внутренним сетям сотен украинских предприятий.
Через тиждень після удару NotPetya українські поліціянти, одягнені в повний камуфляж SWAT й озброєні штурмовими гвинтівками, непомітно перебралися з фургонів у скромну штаб-квартиру Linkos Group. Вони йшли сходами наверх, як SEAL Team Six, що пробиралася в резиденцію Усами бен Ладена.
Як пізніше розповіла мені засновниця компанії Олеся Линник, силовики направили гвинтівки на спантеличених співробітників і вишикували їх у коридорі. На другому поверсі поруч із її кабінетом озброєні поліціянти навіть вибили двері в одну з кімнат металевою дубинкою-кийком, хоча вона пропонувала скористатися ключем. «Абсурдна ситуація», — сказала роздратована Линник, глибоко зітхнувши.
Зрештою воєнізований поліційний загін знайшов те, що шукав: стійку серверів M.E.Doc, які й виступили як своєрідного нульового пацієнта в пандемії NotPetya. Поліція конфіскувала машини, склавши жорсткі диски в чорні пластикові пакети.
Працюючи за своїм столом у вже відомій кімнаті ESET — «Х’юстоні», Антон Черепанов ще в перші години поширення хробака виявив, що NotPetya пов’язаний із бухгалтерським програмним забезпеченням Linkos Group. Близько десятої години хаотичного ранку українські співробітники ESET прислали йому скріншоти зі здирницьким повідомленням шкідливого ПО, після чого Черепанов почав швидко шерстити нову колекцію шкідливих програм, зафіксованих антивірусами ESET, щоб знайти відповідний семпл. Аналізуючи трохи заплутаний код NotPetya, спеціаліст побачив, що хробак активував спеціальний файл на комп’ютерах жертв — ezvit.exe, — який був компонентом бухгалтерського додатка M.E.Doc.
Не дуже зациклюючись на встановленому зв’язку з M.E.Doc, Антон Черепанов передусім спробував випустити оновлення антивірусного програмного забезпечення ESET, яке б захистило клієнтів від ураження NotPetya, а згодом почав шукати спосіб, який дозволив би розшифрувати NotPetya чи навіть навів би на тумблер у коді вірусу, аналогічний до виявленого в WannaCry.
До вивчення зв’язку з M.E.Doc Черепанов повернувся, коли вже скінчилася атака NotPetya. Програміст ESET почав розплутувати довгий ланцюг кіберкриміналістичних натяків — ланцюг, складність якого змушувала мене кілька разів перепитувати в Антона Черепанова про деталі атаки, про що ми рік тому в Братиславі говорили в конференц-залі штаб-квартири ESET.
IT-спеціаліст ESET впізнав файл ezvit.exe, тому що бачив його раніше — теж в одній з атак шкідливого ПЗ. Ця сама програма була носієм іншого вірусу, який він зафіксував у травні 2017 року. Через п’ять днів після WannaCry Черепанов виявив, що вірус-вимагач, відомий як XData, поширюється через цей виконуваний файл ezvit, функціонуючи на основі Mimikatz, але без EternalBlue. Тоді Черепанов вирішив, що жертви, ймовірно, потрапляють до вірусної пастки, інсталюючи заражену шкідливим ПЗ версію M.E.Doc. Врешті-решт, хакери часто застосовують подібний різновид спуфінгу для ураження жертв своїми вимагачами чи іншими злочинними кодами.
Електронною поштою він попередив розробників M.E.Doc у Linkos Group, отримав коротеньке підтвердження, допоміг ESET розробити захист від нового шкідливого ПО і написав про свої висновки в блозі. Щоправда, в дні після атаки WannaCry мало хто звернув увагу на звіт Черепанова про ту атаку, кількість постраждалих від якої навіть зіставити не можна було з колосальною кількістю жертв WannaCry.
Тепер, місяць потому, він наразився на те, як M.E.Doc використовують для поширення NotPetya — атаки значно системнішої, що перевершила і виявлений травневий вірус, і навіть WannaCry. Ще у травні, коли він уперше встановив, що M.E.Doc скористалися для поширення шкідливого ПЗ, Черепанов завантажив із сайту Linkos Group усі оновлення M.E.Doc за 2017 рік. Після атаки ж NotPetya й перед закриттям самою компанією Linkos Group свого сайту спеціаліст швидко завантажив оновлення M.E.Doc за травень і червень. Антон Черепанов вивчав їх протягом наступних днів. Декодуючи код, він дійшов висновку, що тепер хакери не просто заспуфили вірусну версію програмного забезпечення M.E.Doc, наче вбивця, що подає чай, у який додав миш’як. Цього разу вони скористалися абсолютно офіційним механізмом оновлення програмного забезпечення. Продовжуючи аналогії, це можна порівняти з отруєнням усієї поставки чаю з Індії. Цей дивовижний фундаментальний хакінг свідчив про те, що зловмисники проникнули глибоко в сервери Linkos Group. «M.E.Doc сам по собі став бекдором», — подумав Черепанов.
Протягом цілого тижня, працюючи понад дванадцять годин на добу, він аналізував хакнутий код оновлення, зіставляючи все з базою даних шкідливого ПЗ ESET, щоб зрозуміти, як хакери трансформували абсолютно нешкідливе податкове програмне забезпечення в глобальну платформу для поширення NotPetya. Водночас стало зрозуміло, що цим кіберзловмисникам вдалося перепрограмувати оновлення M.E.Doc на поширення хробака-вимагача принаймні двічі: у травні, коли було зафіксовано XData, і тепер — на тлі червневої атаки NotPetya.
Утім, невдовзі Черепанов почав виявляти інші зв’язки з NotPetya, ґрунтуючись на ще одному кібердоказі — підказці, яка дозволить йому реставрувати значно глибшу хронологію.
За Sandworm, або Піщаним хробаком, якого Антон Черепанов називав TeleBots, він стежив уже давно — ще відколи в грудні минулого року хакери тероризували мережі України руйнівними атаками, націленими на знищення даних і стилізованими під серіал «Містер Робот», що призвели до другого українського блекауту. Черепанов також спостерігав, як група нарощувала кількість нападів у лютому та березні 2017 року. В кожній із цих атак додатково бекдору на основі Telegram хакери, як бачив спеціаліст ESET, установлювали ще один інструмент доступу до бекдору, написаний мовою програмування Visual Basic Scripting Edition, або VBS.
Саме тут криється натяк, що й запав в око Черепанову. Коли він досліджував механізм хакінгу M.E.Doc, одна велика українська фінансова установа — Черепанов не захотів вдаватися у деталі — передала йому суттєву підказку: доти, доки цю установу уразив NotPetya, вірусне програмне забезпечення M.E.Doc встановило у її мережі згаданий бекдор VBS й інший схожий скрипт VBS. Один із цих двох інструментів VBS, схоже, виступав як своєрідний розроблений вторинний плацдарм, який так і був би не ушкодженим, навіть якщо першу опору M.E.Doc розкриють і видалять. Скрипт VBS найімовірніше слугував методом тестування елементів керування бекдору M.E.Doc, перш ніж останній буде використано для запуску корисного навантаження NotPetya.
Черепанов усвідомив: за своєю логікою ці інструменти VBS відповідають атакам шестимісячної давнини, що автоматично пов’язує NotPetya з хвилею атак, датованою груднем 2016 року. Тепер перед ним відкрилися сакраментальні ланки, що скріплювали воєдино цілу низку інцидентів. Усе сходилося на Sandworm.
Більше з тим, заглибившись в історію Sandworm, спеціаліст ESET зрозумів — NotPetya був прямим нащадком організованих ще 2015 року атак KillDisk. Техніки варварського знищення даних кристалізувалися у свідомості нападників протягом майже трьох років. Дивлячись на код, Черепанов бачив, що список із десятків розширень файлів, призначених для видалення в ході грудневих атак 2016 року, майже віддзеркалює список призначених для шифрування в NotPetya. «З погляду нападника я розумію їхню проблему. Сам собою KillDisk поширюватися не може, — пояснював Антон Черепанов. — Вони випробовували тактику, що давала б змогу уражати якомога більше жертв, підбираючи водночас найоптимальніші вектори атаки».
Погортавши зібраний архів оновлень M.E.Doc, Черепанов зрозумів, що хакери знайшли свого ідеального носія в бухгалтерському програмному забезпеченні Linkos Group. Програміст словацької компанії виявив: уперше Sandworm протестував код бекдор M.E.Doc ще за два місяці до NotPetya, у квітні, а загалом спеціальним рівнем доступу до мереж кожного клієнта M.E.Doc група користувалася протягом багатьох місяців. Після довгих років експериментів Sandworm таки підібрав ідеальні ключі до серця українського інтернету, що гармонійно підходили і для шпигунства, і для диверсій. Вони випробували ці ключі, дочекалися свого часу й скористалися ними, щоб випустити у світ титанічного хробака. «Все це було так по-особливому, — захоплювався Черепанов. — Так віддано й витримано».
Коли він зібрав усю картину докупи, годинник пробив третю ночі. Настала неділя, а Черепанов усе ще сидів за столом у своєму домашньому кабінеті у квартирі в східній частині Братислави. Тільки монітори його ПК освітлювали кімнату. Дружина пішла спати кілька годин тому. Антон Черепанов завершив свою роботу й також пішов спати, але адреналін і бачення багаторічної деструктивної кампанії Sandworm й далі вибухали в його свідомості. Тієї ночі він пролежав, розмірковуючи аж до світанку.
У хаосі пандемії NotPetya більшість проігнорувала дивну особливість хробака: можливо, NotPetya й не мав тумблера чи антидоту, однак проти нього точно була вакцина.
Того фатального червневого вівторка Аміт Серпер, колишній урядовий ізраїльський хакер, що працював аналітиком із питань кібербезпеки в бостонській компанії Cybereason, проводив відпустку в Тель-Авіві. Про поширення NotPetya він дізнався з телевізійних новин близько сьомої вечора, коли був із родиною в передмісті. Часовий пояс Ізраїлю відповідає часовому поясу України. О десятій Серпер планував випити з друзями. «Я маю три години вільного часу, — подумав він. — Що ж, пограємо».
Аміт Серпер оперативно отримав копію NotPetya й почав деконструювати її на своєму MacBook, скануючи код. Через дві години він натрапив на дещо несподіване: виклик функції «процедура виходу». Виклик функції — це інструкція в коді. І в цьому разі вона зупиняє процес виконання компонента програми. Серпер вирішив працювати у зворотному від цієї знахідки напрямі, щоб визначити, який саме сегмент шкідливої програми вона може вимкнути, і що може активувати її. Невдовзі він дійшов висновку, якого навіть сам не очікував: виявлена в коді прихована функція могла повністю заблокувати деструктивне шифрування NotPetya.
Саме перед тим, як вийти в місто на зустріч із друзями, Серпер установив точну формулу, що вимикала код: якщо в головному каталозі Windows розміщувався файл з іменем «perfc», що не містив розширення файлу, NotPetya фактично захитав, залишаючи дані комп’ютера неушкодженими. Можливо, файл був рудиментарною функцією алгоритму викупу, покладеного в основу NotPetya, й призначеного для запобігання того, щоб вірус шифрував дані двічі, перетворюючи їх на невідновні? Хай там як, якщо адміністратор інсталював файл із цим конкретним іменем «perfc» у конкретний каталог, комп’ютер звільнявся від NotPetya подібно до того, як в історії, від якої святкується Песах (головне юдейське свято, — прим. перекл.), янгол смерті змилувався над первістками тих, хто позначив двері своїх осель кров’ю ягняти.
Слабо усвідомлюючи, що він щойно підібрав можливий варіант розв’язання глобальної кризи, Аміт Серпер відзвітував про свою знахідку у Твіттері. «NotPetya мав свій тумблер», — схвильовано написав кіберспеціаліст. Можливо, ще не запізно врятувати світ від цієї чуми. Протягом наступних кількох годин, потягуючи з друзями пиво в одному з барів Тель-Авіва, Серпер раз по раз спостерігав, як підвисає його телефон, який завалювали величезною кількістю повідомлень від кіберекспертів, мережевих адміністраторів і репортерів.
Увесь цей ажіотаж, утім, був дещо перебільшеним. Насправді знайдений Серпером тумблер не мав практично нічого спільного з тим, на який наразився Маркус Хатчінс, вивчаючи WannaCry. Чекінг «perfc» був не єдиним способом зупинити поширення NotPetya планетою. До того ж він спрацьовував тільки в разі, якщо файл був завантажений на комп’ютери ще до їх ураження. Відтак, усе це вкотре підводить нас до епідеміологічної проблеми ігнорування потенційними жертвами рекомендованих оновлень програмного забезпечення.
Окремі потенційні жертви NotPetya, зрештою, інсталювали вакцину Серпера, заздалегідь убезпечивши свої дані. Однак конкретно тієї ночі, доки вакцина, привернувши увагу ком’юніті кібербезпеки, пройшла апробацію, отримала підтвердження та побачила світ, для більшості постраждалих від кіберчуми панацею вона стати вже не могла. Колосальний і незворотний 10-мільярдний збиток від NotPetya майорів на горизонті. Янгол смерті вже зробив свій обхід.
Попри свою специфіку, робота Аміта Серпера, втім, зацікавила український уряд. Cybereason зв’язався з українською владою, запропонувавши тій допомогу. І після санкціонованого державними лідерами, дивного й надмірно патетичного рейду на штаб-квартиру Linkos Group поліція у Києві надала працівникам Cybereason унікальну можливість: взяти допоміжну участь у деконструюванні конфіскованих хакнутих серверів Linkos Group.
Наступного дня після того як українські поліціянти увірвалися до серверної Linkos, двоє колег Серпера у Києві отримали доступ до жорстких дисків захоплених серверів, які й досі зберігалися в чорних пластикових пакетах. Вони оперативно скопіювали всі дані з машин, після чого Серпер дистанційно — зі штаб-квартири Cybereason у Бостоні — під’єднався до ноутбуків своїх колег в Україні, щоб проаналізувати нетлоги Linkos. Приблизно з опівдня й до пізнього вечора він працював над реконструкцією дій хакерів, які закріпилися в інфраструктурі M.E.Doc аж до її основи. Захоплений процесом, Серпер працював на своєму ноутбуку, навіть коли їхав в Uber-таксі, повертаючись додому з офісу Cybereason. Ба більше, щоб не гаяти час на вечірній душ, він подовжив реверс-інжиніринг у ванні, поставивши ПК на полицю над водою.
Врешті-решт, Аміт Серпер був готовий розповісти пронизливо-кричущу історію хакінгу Linkos Group: усе почалося з того, що кіберзлодії скористалися уразливістю в системі керування вмістом вебсервера компанії — програмного забезпечення, яке застосовується для редагування зовнішнього вигляду вебсайту. Звідти хакери встановили на сервері так званий «вебшелл» — своєрідну зловмисну панель адміністрування, яка діяла як платформа всередині комп’ютера, дозволяючи Sandworm інсталювати своє програмне забезпечення на власний розсуд.
Якимось чином вони використали свій контроль над цим вебсервером, щоб отримати доступ до сервера оновлень M.E.Doc у тій самій мережі, хоча Серпер не міг пояснити мені, як саме. Зрештою, вони перетворили цей сервер оновлень на C&C-маяк для своїх бекдорових оновлень програмного забезпечення, приховавши платформу для налаштування традиційних шкідливих ПЗ всередині інфраструктури Linkos Group, неначе паразити, що оселилися одночасно і на кінцівках, і в мозку господаря.
Ще більш дивовижним був спосіб зв’язку між хакнутим сервером оновлень і бекдоровими копіями M.E.Doc, які він контролював в усьому світі. M.E.Doc розроблено для обміну даними із серверами Linkos Group через http — ті самі базові інтернет-комунікації, які веббраузери використовують для зв’язку із сайтами. Зі свого боку, такі http-повідомлення містять стандартний канал для «кукі» — бітів даних, які вебсайти інтегрують у браузерах користувачів для відстеження дій останніх. Відтак C&B-ПЗ (програмне забезпечення, — прим. перекл.), встановлене на хакнутому сервері M.E.Doc, використовувало той самий прихований канал кукі, щоб відправляти команди на комп’ютери з підготовленими бекдорами. Через систему передачі даних M.E.Doc, уникаючи таким чином свого розкриття, це програмне забезпечення могло посилати різні інструкції — не лише інсталяцію файлів на кшталт NotPetya, а й крадіжку хакерами будь-якого файлу з машин, на яких працювало ПЗ для бухгалтерського обліку. «Спосіб використання ними інфраструктури M.E.Doc проти самого ж M.E.Doc був надзвичайно елегантним, — сказав Серпер. — Це була відмінно виконана робота».
Серпер був вражений тим, як виділявся рівень цих хакерів, порівнюючи зі станом оборонних редутів, на які вони наступали. Спритні та прогресивні зловмисники, гуляючи, користувалися дірами в застарілому, погано сконфігурованому й недостатньо запатченому серверному програмному забезпеченні M.E.Doc. «Це навіть викликом назвати не можна», — казав він мені, стримуючись, щоб не висловитися різкіше.
Та, мабуть, найбільшим шоком у цій історії був той шлейф, що тягнувся за проблемами безпеки M.E.Doc. На жорстких дисках Linkos Group Серпер також виявив ще один, старіший, набір нетлогів, датований листопадом 2015 року. Тобто фактично ці логи давали можливість зрозуміти, якою була мережева активність Linkos за кілька років до того, як компанія стала епіцентром смерчу NotPetya. Аміт Серпер виявив там ще один вебшелл.
Попри неможливість дізнатися, кому саме належав цей старий вебшелл, і чи був тут зв’язок із NotPetya, він став красномовним підтвердженням того, що протягом щонайменше двадцяти місяців хтось користувався секретним доступом до мережі, яка невдовзі стане епіцентром глобального кіберлиха. Фактично компанію Linkos Group, яку Sandworm трансформує в засіб розбудови своєї кліматичної кіберзброї, непомітно хакнули ще до першого різдвяного блекауту російських хакерів.