Нова програма-вимагач, старі технічні прийоми: У вірус Petya додали здібності «хробаків»

27 червня по всій Європі почали поширюватися відомості про масове зараження новим вірусом-шантажистом. Ми виявили перші ознаки інфікування в Україні, де постраждало більше 12,5 тисяч комп’ютерів. Незабаром ми зафіксували подібні випадки ще в 64 країнах світу, серед яких – Бразилія, Німеччина, Росія,   США та інші

Новий вірус-вимагач має здібності «хробаків» (вірусна програма самокопіювання), що тепер дозволило йому розповсюджуватися інфікованою мережею. Наше дослідження виявило, що ця зловмисна програма є новою версією вірусу Ransom:Win32/Petya, адже має схожі коди. Проте ця варіація шкідника куди більш складна.

Для того, аби захистити наших користувачів, після виявлення перших ознак, ми випустили оновлення засобів захисту для хмарних сервісів захисту, та оновили наші сигнатури. Ці оновлення були автоматично надані всім антивірусним продуктам Microsoft, зокрема антивірусу Windows Defender та Microsoft Security Essentials. Ви можете самостійно завантажити останні оновлення за посиланням: Malware Protection Center.

Програма захисту Windows Defender Advanced Threat Protection (Windows Defender ATP) автоматично розпізнає поведінку, використану в цьому новому вимагачі, без жодних оновлень.

Поставка та встановлення

Початкове зараження ймовірно було спричинено інфікуванням програмного забезпечення системи української компанії M.E.Doc, яка розробляє ПЗ для звітності та документообігу. Незважаючи на те, що цю думку активно розвосюджували в засобах масової інформації та спеціалісти з безпеки, включаючи кіберполіцію України, існували лише непрямі докази цього припущення. Тепер у Microsoft є підтвердження того, що кілька активних заражень вірусом розпочалися з процесу оновлення ПЗ MEDос. Як ми раніше зазначали, атаки на ПЗ, а саме на системи логістики – останній небезпечний тренд хакерів. Для того, аби уберегтися від загрози необхідним є вдосконалений рівень захисту.

За нашими спостереженнями програма з оновлення ПЗ MEDос (EzVit.exe) виконувала шкідливі команди, що з точністю співпадали зі структурою атаки, що сталася 27 червня близько 12:30 за Києвом.

Алгоритм операцій, що призводить до встановлення вірусу, наведено на діаграмі нижче. Схема підтверджує те, що процес EzVit.exe від MEDoc з невідомих причин у певний момент виконувала наступну командну строку:

C:\\Windows\\system32\\rundll32.exe\” \”C:\\ProgramData\\perfc.dat\”,#1 30

Такий самий вектор оновлення згадується Департаментом кіберполіції України у відкритому списку індикаторів компрометації (list of indicators of compromise (IOCs), куди було включено оновлювач MEDoc.

Один вірус-вимагач – багато технік розповсюдження

У вірус були додані можливості розповсюдження – тому з одного інфікованого комп’ютера інфікується вся мережа. Функціональність поширення вірусу складається з кількох методів, відповідальних за:

  • крадіжку облікових даних або повторне використання активних сесій;
  • використання загального файлового ресурсу для передачі шкідливого файлу на інші комп’ютери в тій самій мережі;
  • використання існуючого легітимного функціоналу для виконання навантаження або використання вразливостями протоколу SMB на комп’ютерах без встановлених оновлень.

У наступних розділах ми детальніше розповімо про кожен метод.

Розповсюдження із крадіжкою облікових даних та уособлення

Цей вірус використовує інструмент вивантаження (дампу) облікових даних (як правило, у файл .tmp у папці %Temp%), який має схожі коди з Mimikatz та є у 32-бітних та 64-бітних варіантах. Тому що користувачі часто працюють із правами локальних адміністраторів, та мають активні сесії на багатьох комп’ютерах, викрадені облікові дані цілком ймовірно забезпечать той же рівень доступу, який користувач має на інших комп’ютерах.

Як тільки вірус отримує чині облікові дані, він сканує локальну мережу для підключення до портів tcp/139 та tcp/445. Особливо вірус поводить себе із контролерами домену або серверами: цей шкідник намагається використати команду DhcpEnumSubnets() для того, щоб отримати список підмереж DHCP; для кожної підмережі вірус збирає всі хости/клієнти (використовуючи DhcpEnumSubnetClients()) для сканування сервісів на портах tcp/139 та tcp/445. Якщо він отримує відповідь – вірус намагається скопіювати двійковий файл на віддалений комп’ютер, використовуючи звичайний функціонал передачі фалів із використанням крадених облікових даних.

Надалі вірус намагається вже дистанційно виконати шкідливі команди, використовуючи інструменти PSEXEC або WMIC.

Вірус намагається замінити файл psexec.exe (який зазвичай перейменовується в dllhost.dat) із вбудованого в вірус ресурсу. Потім він сканує локальну мережу на загальні папки admin$, копіює сам себе по мережі та віддалено виконує наново скопійовані шкідливі бінарні файли, використовуючи PSEXEC.

На додаток до дампу облікових даних, вірус намагається також викрасти облікові дані, використовуючи функцію CredEnumerateW, всіх інших облікових записів, які потенційно можуть зберігатися у сховищі облікових даних (Credential store). Якщо ім’я облікового запису починається з “TERMSRV/” і тип встановлено як 1 (загальний), вірус використовує цей обліковий запис для розповсюдження  мережею.

Код вірусу відповідальний за доступ до загальних папок \\Admin$ на різних комп’ютерах

Цей вірус також використовує Windows Management Instrumentation Command-line (WMIC) для того, аби шукати віддаленні загальні папки (використовуючи NetEnum/NetAdd) та розповсюдження. Він використовує або копію маркера (token) поточного користувача (для існуючих підключень), або комбінацію логін/пароль (поширюючись через легітимні інструменти).

Скріншот демонструє запуск шкідливого коду на віддаленому комп’ютері, використовуючи WMIC

Розповсюдження із використанням Eternal Blue та Eternal Romance

Новий вірус-вимагач також може поширюватися з використанням засобу атаки на вразливість SMB (Server Message Block) CVE-2017-0144 (відомого також як EternalBlue), який був виправлений в оновленні безпеки MS17-010, а також використаний вірусом WannaCrypt для поширення на застарілі комп’ютери. Крім того, вірус також використовує другий засіб атаки для CVE-2017-0145 (відомий також як EternalRomance, та виправлений тим же оновленням).

Ми бачили як цей вірус намагався використовувати ці засоби атаки, створюючи пакети SMBv1 (які всі зашифровані XOR 0xCC), щоб використати ці вразливості за наступною адресою в коді:

Ці два засоби атаки були виявлені завдяки групі Shadow Brokers. Однак варто відзначити, що обидві вразливості були виправлені Microsoft в оновленні безпеки MS17-010 14 березня 2017 року.

Конкретно цей механізм поширення не зачіпає комп’ютери, в яких виправлені вразливості (з оновленням безпеки MS17-010) або відключено SMBv1. За детальною інформацією про ці засоби атак та про те, як оновлені версії Windows 10 можуть допомогти обмежити подібні загрози, читайте нашу попередню публікацію.

Шифрування

Поведінка вірусу-вимагача при шифруванні залежить від рівня прав доступу вірусу до процесів, а також від процесів, запущених на комп’ютері. Вірус використовує простий алгоритм хешування на основі XOR (eXclusive OR – виключення опції «або» у коді) для зміни назв процесів та співставлення із наступними хеш-значеннями для створення винятку у перебігу процесу:

  • 0x6403527E або 0x651B3005 якщо ці хеші найменувань процесів знайдені на комп’ютері, тоді вірус не використовує засоби атаки на протокол блоку серверних повідомлень (SMB).

  • 0x2E214B44 – якщо виявлено процес із цим хеш-ім’ям, вірус знищує перші 10 розділів \\\\.\\PhysicalDrive0, включаючи головний завантажувальний запис (MBR).

Після цього вірус-вимагач робить допис у головний завантажувальний запис (MBR) і програмує систему на перезавантаження. Він встановлює заплановані задачі, аби вимкнути машину щонайменше через 10 хвилин. Точний час є випадковим (GetTickCount()). Наприклад:

schtasks /Create /SC once /TN “” /TR “<system folder>\shutdown.exe /r /f” /ST 14:23

Після успішної модифікації MBR монітор відображає наступне фальшиве системне повідомлення, яке записує ймовірну помилку на диск та показує фальшиву перевірку технічної справності:

Потім відображається ця примітка із вимогою викупу:

Тільки якщо вірус має найвище право доступу (тобто працює з увімкненим SeDebugPrivilege), він намагається переписати код MBR.

Вірус намагається зашифрувати всі файли з наступними розширеннями в усіх папках на всіх жорстких дисках за винятком C: \Windows:

.3ds .7z .accdb .ai
.asp .aspx .avhd .back
.bak .c .cfg .conf
.cpp .cs .ctl .dbf
.disk .djvu .doc .docx
.dwg .eml .fdb .gz
.h .hdd .kdbx .mail
.mdb .msg .nrg .ora
.ost .ova .ovf .pdf
.php .pmf .ppt .pptx
.pst .pvi .py .pyc
.rar .rtf .sln .sql
.tar .vbox .vbs .vcb
.vdi .vfd .vmc .vmdk
.vmsd .vmx .vsdx .vsv
.work .xls .xlsx .xvd
.zip

Він використовує програмні інтерфейси (API) відображення файлів у пам’ять замість звичайних API ReadFile()/WriteFile():

На відміну від більшості вірусів, цей шкідник не додає у назву файлу нове розширення в зашифрованих файлах. Замість цього він перезаписує зазначені файли.

Ключ AES (Advanced Encryption Standard – симетричний алгоритм блочного шифрування) створюється для шифрування кожної окремої машини, кожного окремого жорсткого диску. Ключ експортується та шифрується з використанням вбудованого 2048-бітного відкритого ключа RSA (RSA – алгоритм цифрового підпису) зловмисника.

Вбудований відкритий ключ RSA

Код експортує 128-розрядний ключ AES на жорсткий диск кожного комп’ютера та шифрує його із використанням вбудованого відкритого ключа RSA під час експорту

Унікальний ключ, який використовується для шифрування файлів (AES), додається в зашифрованому вигляді в файл README.TXT, загроза записується в розділ «Ваш персональний ключ інсталяції:».

Окрім шифрування файлів, цей вірус також намагається перезаписати MBR або знищити певні сектори VBR та MBR:

Після завершення процедури шифрування цей вірус вкидає текстовий файл README.TXT на кожний жорсткий диск. Зазначений файл містить наступний текст:

Вірус також очищує журнали подій системи і додатків, налаштування, параметри безпеки та видаляє інформацію журналу файлової системи NTFS.

Виявлення та вивчення за допомогою Windows Defender Advanced Threat Protection

Windows Defender Advanced Threat Protection (Windows Defender ATP) – це рішення, яке допомагає боротись із результатами зламу, виявляючи навмисні атаки без необхідності оновлювати сигнатури. Сенсори Windows Defender ATP постійно відслідковують та збирають телеметрію з вражених ділянок. Також це рішення завдяки машинному навчанню допомагає виявляти пересування вірусу та інструменти, які використовує цей вірус. Наприклад, виконання команди PsExec.exe з іншою файловою назвою або створення файлу perfc.dat у віддалених шляхах (UNC).

Сьогодні, без жодних додаткових оновлень, заражений комп’ютер виглядає приблизно так:

Друге попередження має на меті розповсюдження файлу «.dll» шкідника мережею. Це надає корисну інформацію для вивчення, оскільки включає контекст користувача, який використовувався, аби перемістити файл дистанційно. Цей користувач був скомпрометований та може уособлювати «нульового пацієнта» – тобто носія вірусу:

Завдяки Windows Defender ATP корпоративні клієнти можуть швидко визначити наявність Petya, вивчати обсяг атак та оперативно реагувати на атаки вірусів.

Захист від атаки нового вірусу

Вчасне оновлення вашої системи Windows 10 не тільки дозволяє вам користуватися останніми можливостями, але й допомагає ефективно боротися з кібератаками та їх наслідками. У нашому останньому оновленні Creators Update ми покращили наш захист проти шкідливих програм, представивши нові покоління технологій та вдосконаливши існуючі.

Ще більший захист надає Windows 10 S, адже ця ОС дозволяє використовувати лише ті додатки, які є в наявності у Windows Store. Тому користувачі з цією оперативною системою захищені ліпше.

Ми рекомендуємо тим користувачам, які ще досі не встановили оновлення безпеки MS17-010, зробити це якомога швидше. До того часу ми також рекомендуємо два обхідні шляхи, аби зменшити наслідки атаки:

  • Вимкнути SMBv1 за кроками, які прописані у Microsoft Knowledge Base Article 2696547 згідно до раніше опублікованої інструкції
  • Розглянути можливість додати правило на ваш роутер чи фаєрвол для того, щоб заблокувати вхідний SMB-трафік на порт 445

Оскільки вірус цілиться в порти 139 та 445, ви можете заблокувати будь-який трафік на ці порти для того, аби попередити розмноження вірусу мережею. Ви також можете вимкнути віддалений WMI та обмін файлами. Це може мати суттєві наслідки для функціонування вашої мережі. Однак ви можете їх застосувати на короткий період часу, поки  оцінюєете наслідки та завантажуєте необхідні оновлення.

Антивірус Windows Defender визначає цю загрозу як Ransom:Win32/Petya з оновлення 1.247.197.0 update. Антивірус використовує хмарний захист, допомагаючи вам бути у безпеці від останніх загроз.

Компанії та організації можуть використовувати Device Guard для того, щоб блокувати пристрої та забезпечити захист на основі віртуалізації на рівні kernel. Це дозволить працювати лише довіреним додаткам та програмам, ефективно запобігаючи поширенню шкідливих програм.

Блок управління підключається разом із Windows Defender Advanced Threat Protection, який попереджає операційні команди про підозрілі активності. Завантажте цей сценарій, аби дізнатися як ви можете використовувати Windows Defender ATP для захисту, вивчення та нівелювання атак вірусу у вашій мережі: Windows Defender Advanced Threat Protection – Ransomware response playbook.