APT28: використання GooseEgg для експлойту CVE-2022-38028

Microsoft Threat Intelligence випустили виправлення до вразливості  CVE-2022-38028, яку російське угруповання APT28 (також відоме як Forest Blizzard, Fancy Bear, STRONTIUM, UAC-0028), експлуатувало протягом років з використанням нещодавно ідентифікованого інструменту зловмисного програмного забезпечення, який отримав назву GooseEgg.

 

Що відомо? 

Згідно з дослідженнями Microsoft Threat Intelligence, починаючи щонайменше з червня 2020 року, а можливо вже з квітня 2019 року, APT28, використовуючи власний інструмент для підвищення привілеїв та крадіжки облікових даних у скомпрометованих мережах, GooseEgg для експлуатації вразливості CVE-2022-38028 у службі друку Windows Print Spooler, змінюючи файл обмежень JavaScript і виконуючи його з привілеями рівня SYSTEM

Microsoft Threat Intelligence спостерігала як APT28 використовувала GooseEgg у рамках подальших дій після компрометації проти цілей, включаючи уряди України, Західної Європи та Північної Америки, недержавні, освітні та транспортні організації. Хоча GooseEgg є простим у запуску, він здатний створювати інше шкідливе програмне забезпечення, що вказане в командному рядку, з підвищеними привілеями, що і дозволяє APT28 підтримувати виконання будь-яких подальших дій, такі як віддалене виконання коду, встановлення бекдорів та бічний рух скомпрометованими мережами.

APT28 часто використовує інші загальнодоступні експлойти окрім CVE-2022-38028, а саме CVE-2023-23397. На відміну від інших російських хакерських угруповань, таких як Seashell Blizzard (IRIDIUM) та Cadet Blizzard (DEV-0586), які Microsoft Threat Intelligence пов'язувала з атаками з використанням набору подібних вразливостей, відомих як PrintNightmare (CVE-2021-34527 та CVE-2021-1675), використання GooseEgg в операціях APT28 стало відкриттям.

Про APT28
APT28 (Fancy Bear, Forest Blizzard, Pawn Storm, Sofacy Group, Sednit, Tsar Team, STRONTIUM) - хакерське угрупування, атрибутоване до Головного розвідувального управління (ГРУ) рф 85-го Головного центру спеціального обслуговування (ГЦСБ) в/ч 26165, діяльність якого, в основному, спрямовується на урядові, енергетичні, транспортні та недержавні організації у Сполучених Штатах, Європі та Близькому Сході. Починаючи щонайменше з 2010 року, основна місія хакерського угрупування полягає у зборі інформації в підтримку зовнішньополітичних ініціатив російського уряду. 

 

Використання GooseEgg.

Microsoft Threat Intelligence припускає, що, використовуючи GooseEgg, APT28 ставить за ціль здобуття підвищеного доступу до цільових систем та крадіжці облікових даних та інформації. 

Бінарний файл GooseEgg, використовуваний у кібератаках, міститься під назвами justice.exe та DefragmentSrv.exe та дозволяє виконувати різноманітні завдання з високим рівнем складності. Він може виконувати команди з різних шляхів, що робить його активність менш очевидною для виявлення. Перші три команди спричиняють запуск експлойту та виконання бібліотек (DLL) або виконавчих файлів з підвищеними привілеями. Четверта команда перевіряє успішність експлойту за допомогою команди whoami

Назва вбудованого шкідливого DLL-файлу зазвичай містить фразу “wayzgoose”, наприклад, wayzgoose23.dll, для приховування їхнього характеру.  Після розгортання, ці файли копіюються в один зі спеціально створених каталогів, створених у C:\ProgramData, та закріплюються у системному реєстрі, що забезпечує їх подальшу активацію та використання. Назва підкаталогу може бути: Microsoft, Adobe, Comms, Intel, Bitdefender, ESET, NVIDIA, UbiSoft, Steam. 

Після чого створюється спеціальний підкаталог із випадково згенерованими числами та рядком формату \v%u.%02u.%04u, який служить каталогом інсталяції. До прикладу, створений каталог може виглядати так: C:\ProgramData\Adobe\v2.116.4405. Потім бінарний файл копіює такі сховища драйверів до цього каталогу:



Бінарний файл Goose Egg додає сховища драйверів, та зберігає до каталогу, керованого зловмисниками

Наступним кроком створюються ключі реєстру, фактично генеруючи спеціальний обробник протоколу та реєструючи новий CLSID, який буде служити COM-сервером для цього “шахрайського” протоколу. Вразливість замінює символічне посилання на диск C: в менеджері об'єктів, щоб вказувати на новостворений каталог. 


Створення ключа реєстру
 
Коли PrintSpooler намагається завантажити файл: 

, він натомість перенаправляється в каталог, що контролюється зловмисником, який містить скопійовані пакети драйверів.


Заміна символічного посилання на диск C

Файл "MPDW-constraints.js", збережений в каталозі, яким керують зловмисники, має застосований наступний патч до функції convertDevModeToPrintTicket:

Вищезазначений патч до функції convertDevModeToPrintTicket викликає ідентифікатор CLSID обробника пошуку "шахрайського" протоколу під час виклику RpcEndDocPrinter. Це призводить до запуску  допоміжного DLL wayzgoose.dll в контексті служби PrintSpooler з привілеями рівня SYSTEM

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

 

Рекомендації.

Microsoft випустила оновлення безпеки для вразливості Print Spooler, яку використовує GooseEgg, 11 жовтня 2022 року та оновлення для вразливостей PrintNightmare 8 червня 2021 року та 1 липня 2021 року. Організаціям та звичайним користувачам настійно рекомендується застосовувати оновлення безпеки CVE-2022-38028 задля уникнення вразливостей, яку Microsoft Defender Antivirus виявляє як HackTool:Win64/GooseEgg.

Крім того, оскільки служба Print Spooler не потрібна для операцій контролера домену, Microsoft рекомендує вимкнути службу на контролерах домену. В іншому випадку користувачі можуть інсталювати доступні оновлення безпеки Windows для вразливості Print Spooler на контролерах домену Windows перед серверами та робочими станціями. Для того, щоб ідентифікувати контролери домену, на яких ввімкнено службу диспетчера друку, Microsoft Defender for Identity має вбудовану оцінку безпеки, яка відстежує доступність служб диспетчера друку на контролерах домену.