Веб-браузер Mozilla Firefox під вогнем: анатомія 0day кібератаки

Раніше ми писали, що співтовариство Mozilla Foundation опублікувало повідомлення безпеки MFSA2015-78, в якому повідомлялося про атаки на користувачів з використанням 0day експлойта для веб-браузера Firefox. Уразливість була присутня в плагіні браузера, який відповідав за перегляд PDF-файлів — PDF.js. Уразливість дозволяє зловмисникам обійти механізм безпеки same-origin policy і виконати віддалений JavaScript в системі користувача. Скрипт дозволяє зловмисникам отримувати доступ до локальних файлів користувача, а також завантажувати їх на віддалений сервер.



Mozilla Foundation рекомендували користувачам оновитися до актуальною версією веб-браузера, в якій ця уразливість вже виправлена. Наш аналітик Антон Черепанов (@cherepanov74) підготував аналіз двох версій шкідливого скрипта і асоційованих з ними кібератак на користувачів Windows, Linux і OS X.

Наша хмарна технологія ESET LiveGrid показує, що сервер, на якому розміщувався шкідливий скрипт, мав IP-адреса 185.86.77.48. Сервер був активний починаючи з 27 липня 2015 р. Підтвердженням цього служить інформація одного з користувачів скомпрометованого форуму.



Фахівці відділу по боротьбі з кіберзлочинністю Міністерства внутрішніх справ України оперативно відгукнулися на наше повідомлення і підтвердили той факт, що шкідливий exfiltration-сервер, на який відправлялася украдена інформація, розташовувався на території України і був в змозі онлайн з 27 липня 2015 р.

Сервер перейшов у стан оффлайн 8-го серпня 2015 р.

Перша версія скрипта

Сам шкідливий скрипт не обфусцирован і досить простий для аналізу. Темі не менше, код скрипта показує, що у зловмисників були достатні знання внутрішніх особливостей Firefox.

Скрипт створює елемент управління IFRAME з порожнім blob-об'єктом PDF. Коли браузеру потрібно буде відкрити об'єкт PDF своїм плагіном PDF.js новий код буде впроваджено створений IFRAME. При виконанні цього коду, буде створений об'єкт wrappedJSObject, а також нове властивість sandboxContext. Далі, спеціальна функція JavaScript записується у властивість sandboxContext, вона буде викликана пізніше наступним кодом. Ці кроки допоможуть успішно обійти згаданий вище механізм безпеки same-origin policy.


Рис. Код створення властивостіsandboxContext.

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


Рис. Вікно з попередженням.

Після успішної експлуатації уразливості, управління передається на ту ділянку коду, який відповідає за эксфильтрацию даних користувача. Скрипт підтримує платформи Linux і Windows. На Windows він виконує пошук конфігураційних файлів, що належать популярних FTP-клієнтів (таких як FileZilla, SmartFTP і іншим), SVN-клієнту, клієнтам обміну повідомленнями (Psi+ і Pidgin), а також клієнту Amazon S3.


Рис. Список файлів на платформі Windows, які цікаві зловмисникам.

Ці конфігураційні файли можуть містити збережений логін і пароль користувача.

В системі Linux, скрипт відправляє на віддалений сервер наступні файли.

  • /etc/passwd
  • /etc/hosts
  • /etc/hostname
  • /etc/issue
Скрипт також спеціалізується на аналізі файлу /etc/passwd для отримання шляхів до домашніх каталогів (homedir) користувачів в системі.


Рис. Список файлів на платформі Linux, які цікаві зловмисникам.

Скрипт спеціалізується на пошуку і відправлення зловмисникам наступних типів даних.

  • Дані історії (bash, MySQL, PostgreSQL).
  • конфігураційні Файли і ключі SSH авторизації.
  • Файли конфігурації для віддаленого доступу під назвою Remmina.
  • Файли конфігурації FileZilla.
  • Дані конфігурації PSI+.
  • Текстові файли, що містять можливі дані облікових записів і скрипти інтерпретатора командного рядка.
Очевидно, що призначення першої версії шкідливого скрипта полягає в зборі даних, які використовуються адміністраторами сайтів і веб-майстрами. Така інформація дозволяє зловмисникам скомпрометувати ще більшу кількість сайтів.

Друга версія скрипта

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

Адреси цих нових доменів: maxcdnn[.]com (93.115.38.136) і acintcdn[.]net (185.86.77.48). Другий IP-адреса ідентичний тому, який вже використовувався в першій версії сценарію. Зловмисники обрали саме такі назви доменів, так як вони нагадують їх приналежність до content delivery network(CDN).

На платформі Windows вдосконалена версія скрипта спеціалізується не тільки на зборі конфігураційних файлів додатків, але також на зборі текстових файлів, назви які містять різні комбінації слів, заданих зловмисниками в скрипті.


Рис. Список файлів для платформи Windows, які збирає друга версія скрипта.

У випадку зі скриптом для Linux, зловмисники також додали в нього нові файли для пошуку і доопрацювали його для роботи на Apple OS X.


Рис. Список файлів для платформи Apple OS X, які збирає друга версія скрипта.

Деякі російськомовні коментатори помилково прийняли шкідливий код скрипта за відноситься до Duqu, т. к. деякі змінні в коді мають значення «d».

Так як сама уразливість проста в експлуатації і працює копія скрипта експлойта доступна для кіберзлочинців, деякі з них вже почали використовувати його у своїх цілях (copycat). Ми бачили, що різні групи кіберзлочинців досить швидко взяли цей експлойт на озброєння. Його розміщення спостерігалося на веб-сайтах «для дорослих» від адреси google-user-cache[.]com (108.61.205.41). Цей скрипт виконує ті ж самі операції, що і описуваний раніше оригінальний варіант, але спеціалізується на зборі інших файлів.


Рис. Список файлів, які цікаві зловмисникам, які використовують модифіковану версію скрипта.

Висновок

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

Крім цього, зазначений експлойт почали використовувати інші зловмисники відразу після його виявлення in-the-wild. Така ситуація є досить типовою для киберпреступного світу.

Антивірусні продукти ESET виявляють різні версії зазначеного скрипта якJS/Exploit.CVE-2015-4495. Ми також рекомендуємо користувачам оновити Firefox веб-браузер до актуальної версії. Зазначимо також, що вбудований в Firefox плагін читання PDF-файлів може бути відключений шляхом налаштування параметра pdfjs.disabled у значення true.

Індикатори компрометації(IoC)

Частковий список скомпрометованих серверів

hxxp://www.akipress.org/
hxxp://www.tazabek.kg/
hxxp://www.super.kg/
hxxp://www.rusmmg.ru/
hxxp://forum.cs-cart.com/
hxxp://www.searchengines.ru/
hxxp://forum.nag.ru/

Адреси серверів, які брали участь у кібератаці

maxcdnn[.]com (93.115.38.136)
acintcdn[.]net (185.86.77.48)
google-user-cache[.]com (108.61.205.41)

Ідентифікатори SHA-1 шкідливих скриптів

0A19CC67A471A352D76ACDA6327BC179547A7A25
2B1A220D523E46335823E7274093B5D44F262049
19BA06ADF175E2798F17A57FD38A855C83AAE03B
3EC8733AB8EAAEBD01E5379936F7181BCE4886B3

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.