Аналіз уразливості 0day ядра Windows: може вплинути на безпеку екосистеми Web3

robot
Генерація анотацій у процесі

Аналіз 0day вразливості системи Microsoft Windows: можливість отримати повний контроль над системою

Минулого місяця безпекове оновлення Microsoft виправило уразливість підвищення привілеїв у ядрі Windows, яку використовували хакери. Ця уразливість переважно існує в ранніх версіях системи Windows і не може бути активована в Windows 11. У цій статті ми проаналізуємо, як зловмисники можуть продовжувати використовувати цю уразливість на фоні постійного вдосконалення поточних механізмів безпеки. Наша аналітична середа — Windows Server 2016.

0day вразливість означає програмну вразливість, яка ще не була виявлена та виправлена. Як тільки хакери виявлять і скористаються нею, це може завдати серйозної шкоди. Виявлена вразливість Windows 0day може дозволити зловмисникам отримати повний контроль над системою, а також викрасти особисту інформацію, встановити шкідливе програмне забезпечення, викрасти криптовалюту тощо. З більш широкої точки зору, ця вразливість навіть може вплинути на цілу екосистему Web3, яка базується на інфраструктурі Web2.

Numen ексклюзив: вразливість 0day Microsoft може зруйнувати Web3 гру на системному + фізичному рівні

Аналіз патчів показує, що проблема полягає в обробці об'єкта підрахунку посилань у модулі win32k. Ранні коментарі до вихідного коду вказують на те, що попередній код блокував лише об'єкт вікна, не блокуючи об'єкт меню у вікні, що могло призвести до неправильного посилання на об'єкт меню.

Numen ексклюзив: уразливість Microsoft 0day може зламати Web3 гру на системному та фізичному рівнях

Ми створили спеціальну багаторівневу вкладену структуру меню для активації вразливості. Ключовим моментом є видалення посилання на певне підменю та його звільнення, коли функція xxxEnableMenuItem повертає користувацький рівень. Таким чином, коли функція знову входить у ядро, раніше посилане об'єкт меню вже втрачає дійсність.

Numen ексклюзив: вразливість 0day Microsoft може зруйнувати Web3 гру на системному + фізичному рівнях

При реалізації експлуатації вразливості ми в основному розглядали два варіанти: виконання shellcode і використання операцій читання та запису для зміни токена. Враховуючи механізми безпеки нових версій Windows, ми обрали останній варіант. Увесь процес експлуатації поділяється на два етапи: спочатку контролюємо значення cbwndextra, потім встановлюємо стабільні операції читання та запису.

Numen ексклюзив: уразливість Microsoft 0day може скасувати Web3 гру на системному + фізичному рівні

Щоб записати перші дані, ми використали точку запису в функції xxxRedrawWindow. Завдяки ретельному розташуванню пам'яті, ми можемо контролювати дані пам'яті сусідніх об'єктів, що дозволяє перевіряти за допомогою міток у функції.

![Numen ексклюзив: вразливість 0day Microsoft може зруйнувати Web3 гру на системному та фізичному рівнях](https://img-cdn.gateio.im/webp-social/moments-1cc94ddafacec491507491eef9195858.webp01

У плануванні пам'яті ми спроектували три послідовні об'єкти HWND, звільняючи середній та займаючи об'єкт HWNDClass. Передні та задні об'єкти HWND використовуються для перевірки та реалізації примітивів читання та запису. Ми також використовуємо адреси ядерних дескрипторів, що витікають у вільній пам'яті, щоб точно визначити, чи відповідає розташування об'єктів очікуванням.

![Numen ексклюзив: уразливість 0day Microsoft може зірвати Web3 гру на системному + фізичному рівні])https://img-cdn.gateio.im/webp-social/moments-697c5814db02534f63b44c0d1d692f83.webp(

Нарешті, ми використовуємо GetMenuBarInfo)( для реалізації довільного читання, SetClassLongPtr)( для реалізації довільного запису. Крім операцій зміни TOKEN, всі інші записування виконуються за допомогою об'єкта класу першого вікна.

![Numen ексклюзив: уразливість Microsoft 0day може зламати Web3 гру на системному та фізичному рівнях])https://img-cdn.gateio.im/webp-social/moments-b0942592135ac96c6279544a62022329.webp(

Загалом, хоча вразливість модуля win32k існує вже давно, Microsoft намагається переписати відповідний код на Rust, і в майбутньому такі вразливості можуть бути усунені в новій системі. Поточний процес експлуатації не є особливо складним, в основному спирається на витік адреси десктопного купи-обробника. Поліпшення перевірки покриття коду і цільової перевірки аномальних операцій з пам'яттю можуть бути ефективним способом виявлення таких вразливостей.

![Numen ексклюзив: уразливість Microsoft 0day може зруйнувати Web3 гру на системному+фізичному рівнях])https://img-cdn.gateio.im/webp-social/moments-b06b098af4f07260fdc03a75da160706.webp(

Переглянути оригінал
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Нагородити
  • 5
  • Поділіться
Прокоментувати
0/400
MissingSatsvip
· 07-11 05:50
Гаманець放马内?
Переглянути оригіналвідповісти на0
GigaBrainAnonvip
· 07-11 05:50
Фу, знову доведеться мучити систему оновлення.
Переглянути оригіналвідповісти на0
PanicSellervip
· 07-11 05:46
Це так страшно, гаманець переходить на Android.
Переглянути оригіналвідповісти на0
LiquidatedTwicevip
· 07-11 05:45
Щодня лежачи вдома, криптоінвестор, який займається спот-трейдингом, іноді займається NFT та Децентралізованими фінансами, прибутки та збитки залежать від містики. Більша частина капіталу використовується для спот-торгівлі, а невелика частина в Безстрокових ф'ючерсах Degen.

Ще раз збираєшся знищити гаманець?
Переглянути оригіналвідповісти на0
DAOplomacyvip
· 07-11 05:39
ще один субоптимальний примітив безпеки смх...
Переглянути оригіналвідповісти на0
  • Закріпити