Останнім часом російський дослідник оприлюднив деталі вразливості нульового дня у VirtualBox що дозволяє зловмиснику вийти з віртуальної машини для виконання зловмисного коду в головній операційній системі.
Російський дослідник Сергій Зеленюк виявив уразливість нульового дня, яка безпосередньо впливає на версію 5.2.20 Virtual Box, а також попередні версії.
Ця вразливість виявлена дозволить зловмисникові втекти з віртуальної машини (гостьова операційна система) і перейдіть до кільця 3, щоб звідти ви могли використовувати існуючі прийоми для ескалації привілеїв та досягнення операційної системи хоста (ядро або кільце 0).
Згідно з початковими деталями розкриття, проблема присутня у спільній кодовій базі програмного забезпечення для віртуалізації, доступній у всіх підтримуваних операційних системах.
Про вразливість Zero-Day, виявлену у VirtualBox
Відповідно до текстового файлу, завантаженого на GitHub, Санкт-Петербурзький дослідник Сергій Зеленюк, зіткнувся з ланцюжком помилок, які можуть дозволити шкідливому коду вирватися з віртуальної машини VirtualBox (гостьова операційна система) і працює на базовій операційній системі (хості).
Опинившись поза віртуальною машиною VirtualBox, зловмисний код працює в обмеженому просторі користувача операційної системи.
"Експлойт надійний на 100%", - сказав Зеленюк. "Це означає, що він завжди або ніколи не працює через невідповідні двійкові файли або інші більш тонкі причини, які я не врахував".
Російський дослідник каже, що нульовий день впливає на всі поточні версії VirtualBox, він працює незалежно від хост-системи або гостьової ОС що користувач працює, і йому довіряють налаштування за замовчуванням для новостворених віртуальних машин.
Сергій Зеленюк, не погоджуючись з реакцією Oracle на їхню програму відшкодування помилок та поточним маркетингом вразливостей, також опублікував відео з PoC, яке показує 0-денну дію проти віртуальної машини Ubuntu, яка працює в VirtualBox на головній ОС, також з Ubuntu.
Зеленюк показує подробиці того, як можна використати помилку на налаштованих віртуальних машинах з мережевим адаптером "Intel PRO / 1000 MT Desktop (82540EM)" у режимі NAT. Це налаштування за замовчуванням для всіх гостьових систем для доступу до зовнішніх мереж.
Як працює вразливість
Згідно з технічним керівництвом Зеленюка, мережевий адаптер вразливий, що дозволяє зловмиснику з правами адміністратора / адміністратора вийти на хост-кільце 3. Потім, використовуючи існуючі прийоми, зловмисник може збільшити привілеї кільця - через / dev / vboxdrv.
«[Робочий стіл [Intel PRO / 1000 MT (82540EM)] має вразливість, яка дозволяє зловмисникові з правами адміністратора / кореня на гостя вийти на кільце хоста3. Тоді зловмисник може використовувати існуючі методи для збільшення привілеїв на виклик 0 через / dev / vboxdrv », - описує Зеленюк у своєму доповіді у вівторок.
Зеленюк говорить, що важливим аспектом розуміння роботи вразливості є розуміння того, що дескриптори обробляються перед дескрипторами даних.
Дослідник детально описує механізми, що стоять за вадою безпеки, показуючи, як активувати умови, необхідні для отримання переповнення буфера, яким можна було б зловживати, щоб уникнути обмежень віртуальної операційної системи.
По-перше, це спричинило цілочисельний стан недопущення за допомогою дескрипторів пакетів - сегментів даних, які дозволяють мережевому адаптеру відстежувати мережеві пакетні дані в системній пам'яті.
Цей стан експлуатувався для зчитування даних з гостьової операційної системи в буфер купи і викликав стан переповнення, що може призвести до перезапису покажчиків на функції; або викликати стан переповнення стека.
Експерт пропонує користувачам пом'якшити проблему, змінивши мережеву карту у своїх віртуальних машинах на AMD PCnet або паравіртуальний мережевий адаптер, або уникаючи використання NAT.
“Поки виправлена збірка VirtualBox не закінчиться, ви можете змінити мережеву карту своїх віртуальних машин на PCnet (або), або на Паравіртуальну мережу.
Занадто просунутий і технічний для мозку ... Я ледве розумію чверть термінології, яку він використовує.
Ну, головна проблема полягає в тому, що багато хто з Linux використовують VirtualBox для того, щоб мати Windows, і виявляється, що Windows 7 не має драйвера для карт, які радить поставити експерт, і навіть гірше, якщо ви шукаєте драйвер PCnet в Інтернеті здається, що якщо ви проаналізуєте його за допомогою virustotal або будь-якого іншого, ви отримаєте 29 вірусів, ви побачите, як хтось його встановлює.