DLL Hijacking в різних браузерах

23:53 11.09.2010

В серпні була виявлена DLL Hijacking уразливість в Windows, що дозволяє атакувати багато різних додатків. В тому числі дана уразливість була виявлена в Mozilla Firefox.

Як заявляє дослідник Glafkos Charalambous, що розробив екслоіт для даної уразливості в Firefox та Mozilla, що виправила її в версії 3.6.9, уразливі Mozilla Firefox 3.6.8 та попередні версії. Але як я перевірив даний екслоіт, він в мене не працює ні в старій Mozilla, ні в Firefox 3.0.19, Firefox 3.5.11, Firefox 3.6.8, Firefox 4.0b2, ні в Chrome, ні в різних версіях IE. Зато працює в Opera.

Сьогодні я виявив DLL Hijacking уразливість в Opera. Яка дозволяє виконання довільного коду через бібліотеку dwmapi.dll. Атака спрацює в браузері Opera на ОС Windows.

Приклад бібліотеки (що я розробив на основі коду Glafkos Charalambous):

dwmapi.dll

Можливі два варіанта атаки:

1. Атака спрацює при відкриті в браузері файла веб сторінки (htm, html, mht, mhtml) або іншого файла, поруч з яким знаходиться файл dwmapi.dll.

2. Якщо файл dwmapi.dll розміщений на десктопі або в будь-якій папці, що знаходиться в PATH, то код спрацює при кожному відкритті браузера.

З другого варіанту атаки видно, що в деяких додатках (таких як Opera) можна проводити DLL Hijacking атаку іншим методом, ніж той, про який повідомлялося в серпні. Тобто код виконається не тільки при розміщенні dll-файлу поруч з файлом, що призначений для відкриття у додатку, але також якщо dll-файл розміщений на десктопі, або в будь-якій папці, що знаходиться в PATH. І код може виконатися навіть при запуску додатку (як в Opera), без відкриття жодних файлів.

Уразливі Opera 10.61 та попередні версії.

В якості побічного ефекту, дану уразливість можна використати для повного DoS браузера Opera. Тобто використовуючи подібний dll-файл, можна повністю заблокувати запуск Opera - при кожному запуску буде поводитися повідомлення браузера про помилку.

P.S.

Як я перевірив (вже після публікації даного запису) в Opera 10.62, що вийшла 09.09.2010, дана версія невразлива (до обох варіантів атаки). Лише якщо помістити dll-файл в папку Opera або в System32, тільки тоді код спрацює (тому атака може мати місце на системах з FAT32 або при наявності відповідних прав у нападника на системах з NTFS).


Leave a Reply

You must be logged in to post a comment.