Багато хто каже, що патчі безпеки Windows життєво необхідні, адже захищають від кіберзагроз. Але кібердослідники продемонстрували, що ці апдейти можна відмінити. Відмінивши встановлений патч безпеки, зловмисник може використати старий шкідливий код, який цей патч безпеки блокував.
Дослідники із компанії SafeBreach виявили механізм, який дозволяє втілити атаку з поверненням до попередньої версії Windows. Це повернення є невидимим, постійним та незворотним, що робить таку атаку загрозливою.
Алону Левієву з SafeBreach стало цікаво, чи існують фундаментальні компоненти Windows, якими можна зловживати подібним чином до атаки BlackLotus UEFI, обходячи безпечні процеси завантаження в Windows.
Експерт виявив вразливе місце у процесі оновлення Windows.
«Я знайшов спосіб отримати оновлення Windows, щоб оновити систему, але з контролем над усім фактичним вмістом оновлень», — сказав Левієв в інтерв’ю перед презентацією вразливості на конференції Black Hat USA.
Використовуючи свою техніку, скомпрометувавши машину, щоб він міг увійти як звичайний користувач, Левієв міг контролювати, які файли оновлюються, які ключі реєстру змінюються, які інсталятори використовуються тощо.
І він зміг зробити все це, обійшовши кожну перевірку цілісності, реалізовану в процесі оновлення Windows. Після цього він зміг знизити версію ядра ОС, бібліотек DLL, драйверів. Загалом усе, що він хотів.
Що ще гірше, Левієв сказав, що пошук і підштовхування знайдених ним вразливостей дозволило йому атакувати весь стек віртуалізації Windows, включаючи функції безпеки на основі віртуалізації (VBS), які мають ізолювати ядро та зробити доступ зловмисника до комп’ютера менш цінним.
Атака Левієва стала ще більш згубною, оскільки використання цього методу дозволило йому уникнути виявлення програмним забезпеченням EDR або функціями Windows, і все тому, що йому вдалося знайти фатальну помилку в перевірці довіреного інсталятора.
Щоб зрозуміти цей експлойт для відкочування встановлених апдейтів, доцільно поглянути на потік оновлення Windows. Його можна розбити таким чином: клієнт Windows перевіряє ping серверу оновлення, сервер перевіряє цілісність папки оновлення клієнта перед доставкою файлів, які потім завершуються для запобігання модифікації. Створюється та зберігається у файлі pending.xml список дій оновлень, які потрібно встановити після перезавантаження.
Дослідник знайшов розділ реєстру з повним шляхом до списку дій оновлення, який не використовувався довіреним інсталятором, що дозволило йому змінити шлях і надіслати спеціальні оновлення для повернення компонентів Windows до відомих уразливих версій.
Левієв сказав, що ці пониження версії є постійними, тому що Windows Primitive Operations Queue Executor ( poqexec.exe) не має цифрового підпису та може бути змінено для встановлення порожніх оновлень. А також повернення необоротне, оскільки засіб перевірки системних файлів Windows ( sfc.exe) також можна змінити, щоб не виявляти та не відновлювати пошкоджені файли.
«Це повністю неможливо виявити, оскільки воно виконується найбільш законним способом [і] невидиме, оскільки ми нічого не встановлювали — ми оновили систему», — сказав Левієв.
На щастя, Левієв сказав, що він спілкувався з Microsoft, і вона вже виправила основну вразливість атаки (CVE-2024-21302) за допомогою зовнішнього оновлення цього тижня.