Аналіз банківського трояна Win32/Aibatook

    Троянська програма Win32/Aibatook відома з кінця минулого року і спеціалізується на крадіжці персональних даних користувача, а також даних онлайн-банкінгу. Код перших версій Aibatook був написаний на Delphi, потім автори переключилися на C + +. Наші аналітики здійснили аналіз однієї з версій цього трояна, яка з'явилася в квітні 2014 Ця версія має такі особливості:
 
     
  • Поширення шкідливої ​​програми здійснюється через спеціальну ланцюжок експлуатації (набір шкідливих скриптів), початок якої розміщено на скомпрометованих веб-сайті.
  •  
  • Aibatook націлений тільки на браузер Internet Explorer і використовує незвичайний спосіб для крадіжки персональної інформації користувача.
  •  
  • Два різних підходи в реалізації логіки крадіжки персональної інформації. Перший з них спеціально створений проти двох великих японських банків, а другий є більш гнучким і в даний час використовується проти близько 90 різних інтернет-сервісів.
  •  
 
 
  Як і в багатьох інших ситуаціях зараження шкідливою програмою, компрометація користувача починається з легітимного веб-сайту, на якому було розміщено шкідливий вміст. За допомогою цього вмісту, який представляє з себе шкідливий JavaScript або IFrame, користувач перенаправляється на шкідливу веб-сторінку набору експлойтів, з якою і відбувається установка шкідливої ​​програми. Але замість того, щоб використовувати повноцінний набір експлойтів, тобто покладатися на кілька експлойтів до різного ПО для автоматичної установки шкідливої ​​програми, у випадку з Win32/Aibatook зловмисники покладаються лише на один експлойт для однієї конкретної уразливості в ПЗ Oracle Java. Незважаючи на те, що така стратегія може виглядати як неоптимальна для установки шкідливої ​​програми, на самому подібний спосіб представляє з себе націленість зловмисників на користувачів конкретного банку, які використовують ПЗ Java.
 
Починаючи з середини квітня зловмисники почали використовувати експлойт для Java уразливості CVE-2013-2465. Для автоматичної установки Win32/Aibatook кілька легітимних веб-сайтів були скомпрометовані шкідливим вмістом. За останні три місяці ми ідентифікували чотири з таких веб-сайтів, які представлені нижче.
 
 
sokuhabo.net
uravidata.com
ppv.xxxurabi.com
mywife.cc
 
Всі чотири ресурсу представляють із себе порно-сайти, орієнтовані на аудиторію Японії. Згідно зі статистикою Alexa , три сайти з чотирьох входять в список 20 тис. найбільш відвідуваних сайтів Японії. Ресурс «mywife.cc» навіть входить в список перших 2 тис. На зображенні нижче показано процес експлуатації у випадку з «ppv.xxxurabi.com» (інші три використовують схожий механізм зараження).
 
 
Рис. Процес зараження користувача трояном Win32/Aibatook.
 
На першому етапі користувач відвідує веб-сторінку «ppv.xxxurabi.com», яка містить посилання на шкідливий файл JavaScript, розміщений на сервері «google.sonovi.com». Сам скрипт після видалення з нього обфускаціі має вигляд.
 
 
 
Скрипт виконує ін'єкцію елемента IFRAME на сторінку набору експлойтів «2002.jp», а також встановлює файл Cookie з ім'ям «GOOGLE1», який буде залишатися на комп'ютері користувача протягом наступних 24 годин. Цей Cookie використовується як індикатор компрометації системи, тому її користувач більше не перенаправлятиметься на набір експлойтів.
 
Потім користувач перенаправляється на сторінку набору експлойтів, на якій він може побачити наступне вміст.
 
 
 
За певних умов фрагмент HTML-коду, який не повинен бачити користувач, буде відображений на самому початку веб-сторінки. Він відзначений синім шрифтом на наступному скріншоті з кодом HTML-сторінки.
 
 
 
Потім браузер завантажить і виконає Java-аплет з назвою «b399.class». Він також виконає запит файлу з назвою «counter.php». Ймовірно, це пов'язано з бажанням кіберзлочинців обмежити кількість спроб установок шкідливого ПЗ в день. Цей скрипт підрахунку кількості застосувань експлойта розміщується на іншому скомпрометувати ресурсі «ccc.rejec.net».
 
На останньому етапі шкідливий аплет експлуатує уразливість CVE-2013-2465. Для цього використовується целочисленное переповнення в 2D-компоненті Java SE, яке веде до пошкодження пам'яті в коді Abstract Window Toolkit (AWT). Такий механізм, який веде до перезапису коду класу «SecurityManager» дозволяє експлойт обходити обмеження Java sandbox (пісочниці, в якій Java виконує байт-код аплетів). Потім експлойт намагається завантажити корисну навантаження з URL-адреси, який знаходиться в. Class файлі. Далі корисне навантаження зберігається в файлі «tar.gif» і виконується. У нашому випадку URL-адресу корисного навантаження був «xsvx1014274.xsvr.jp».
 
Нижче в таблиці дані описи шкідливих. Class файлів, які є частиною експлойта для CVE-2013-2465.
 
 
 
Слід зазначити, що Win32/Aibatook, в різні проміжки часу, поширювався і за допомогою інших експлойтів (наприклад, CVE-2014-0322).
 
 Корисне навантаження
 
Головною метою Win32/Aibatook є користувачі японських сервісів онлайн-банкінгу, а також деяких інших інтернет-сервісів. Як ми згадували раніше, шкідливий код використовує два підходи в реалізації своїх функцій крадіжки конфіденційних даних: один з них використовується для крадіжки інформації з двох веб-сайтів, а інший з більш ніж 90 сайтів, для яких використовується універсальний метод. В обох випадках застосовується один підхід, який заснований на компрометації браузера Internet Explorer.
 
Шкідлива програма компрометує Internet Explorer за допомогою COM-інтерфейсу IHTMLDocument2 , який дозволяє читати дані з веб-сторінки і записувати їх туди, тобто виробляти її модифікацію. Це здійснюється за допомогою наступних кроків.
 
     
  • Отримує дескриптор на активне вікно користувача через API GetCursorPos і WindowFromPoint .
  •  
  • Перевіряє ім'я класу вікна на збіг з рядком «Internet Explorer_Server».
     
       
    • У випадку розбіжності, потік виконання шкідливої ​​програми засинає на кілька секунда і повертається до повторної перевірки.
    •  
    • У разі збігу, використовуються документовані можливості інтерфейсу IHTMLDocument2.

    •  
  •  
Такий спосіб дозволяє зловмисникам отримувати доступ до IE версій 8-11 і є обмеженим, оскільки не дозволяє працювати з іншими браузерами. Однак, згідно статистикою , браузер Internet Explorer є найпоширенішим для Японії. Це є ще одним індикатором націленості Win32/Aibatook на японських користувачів.
 
Нижче будуть описані два підходи, які використовуються Win32/Aibatook для крадіжки особистої інформації користувача.
 
Перший підхід є вузькоспеціалізованим і використовується для компрометації декількох сервісів інтернет-банкінгу, чиї URL-адреси жорстко зашиті в код шкідливої ​​програми. Ці адреси належать банкам «Japan Post» і «SBI Sumishin Net Bank». Для компрометації веб-сторінок онлайн-банкінгу, Win32/Aibatook отримує URL поточної веб-сторінки з використанням методу IHTMLDocument2.get_url . Далі він порівнює поточну адресу з URL зі свого тіла, як показано на скріншоті нижче.
 
 
 
Потрібно відзначити, що URL-адреси сервісів онлайн-банкінгу, а також всі інші рядки з тіла шкідливої ​​програми зашифровані з використанням спеціального алгоритму шифрування. Кожна зашифрована рядок складається з двох частин:
 
     
  • Перша частина представляє з себе ключ фіксованої довжини, який виглядає як рядок, закодована через base64. Ключ зашифрований операцією XOR з жорстко зашитим значенням.
  •  
  • Друга частина представляє з себе зашифровані дані, які спочатку закодовані через base64, а навіщо зашифровані через вказаний в першому пункті ключ.
  •  
У випадку відвідування користувачем одного з вищезазначених URL банків, шкідлива програма буде відслідковувати процедуру входу користувача в систему онлайн-банкінгу на основі назви заголовка сторінки через метод IHTMLDocument2.get_title і його вмісту через IHTMLDocument2.get_nameProp . Як тільки операція входу була зафіксована, Aibatook може виконати два наступних дії:
 
     
  • Отримати значення, введені користувачем в HTML-форму. Т. е. отримати таким чином в'язку логін / пароль від аккаунта.
  •  
  • Модифікувати HTML-код в тілі веб-сторінки, яка відображається користувачеві. Aibatook отримує вміст веб-сторінки через IHTMLDocument2.get_body і модифікує з використанням body.put_innerHTML . Нижче представлений приклад веб-сторінки онлайн-банкінгу Japan Post із запровадженою шкідливим кодом формою.
  •  
 
 
 
Ієрогліфи, виділені червоним кольором, переводяться як настійне прохання користувачеві ввести свій персональний ідентифікаційний номер, так як системі онлайн-банкінгу необхідно оновлення (при цьому клацання на кнопці просто перенаправляє користувача на іншу сторінку системи онлайн-банкінгу). Як тільки Aibatook отримав у своє розпорядження персональні дані користувача, він відправляє їх на віддалений C & C-сервер з використанням URL-адреси, який жорстко зашитий в тіло шкідливої ​​програми. Це повідомлення представляє з себе запит HTTP POST, який містить викрадені дані як аргумент. Дані шифруються тим же алгоритмом, який був згаданий раніше. Aibatook також відправляє MAC-адресу мережного адаптера комп'ютера, який допоможе йому ідентифікувати жертву. Перед тим як виконувати перехоплення даних зі сторінки онлайн-банкінгу Japan Post, шкідливий код може виконати наступні дії.
 
     
  • Встановлює шкідливий проксі в настройках браузера, коли користувач відвідує сайт Japan Post. Можливо, він використовується як додатковий засіб для збору введеної користувачем інформації.
  •  
  • Якщо користувач відвідує спеціальну анти-фішингову веб-сторінку сайту онлайн-банкінгу, шкідливий код відразу перенаправляє його на сторінку входу в аккаунт.
  •  
Другий підхід до крадіжки даних з сайтів онлайн-банкінгу дозволяє зловмисникам істотно розширити спектр веб-ресурсів, з яких буде проводитися крадіжка інформації. Цей підхід заснований на відомій техніці граббінг форм веб-сторінок, яка полягає в тому, щоб постійно відстежувати поля введення даних в HTML-формі. У разі, якщо поля форми відповідають необхідним умовам, введені в них дані викрадаються шкідливим кодом. Aibatook використовує файл конфігурації, який завантажується з жорстко зашитого URL-адреси і вказує на веб-сайти для компрометації. Файл конфігурації зашифрований алгоритмом, згадуваним вище. Після завантаження його в пам'ять, шкідливий код буде зберігати його вже у відкритому вигляді. Частина одного з конфігураційних файлів наведена нижче на скріншоті.
 
 
 
Як видно, цей файл має певну структуру і складається з блоків, які маркуються тегами. Файл починається з блоку версії, за яким слід набір блоків [W], кожен з яких описує обрану зловмисниками мету. Блок може містити кілька дочірніх блоків.
 
     
  • Блок [Web] містить назву компрометованого ресурсу.
  •  
  • Блок [CURL] містить URL ресурсу (веб-сторінки).
  •  
  • Блок [CTI] містить заголовок веб-сторінки ресурсу.
  •  
  • Блок [NAME] описує назви HTML-полів, які підлягають аналізу.
  •  
  • Блок [ID] описує ID HTML-полів, які підлягають аналізу.
  •  
Логіка використання шкідливою програмою цього файлу полягає в наступному: якщо URL відвідуваною жертвою веб-сторінки відповідає значенню з блоку [CURL] або її заголовок відповідає рядку блоку [CTI], тоді з кожного поля з ім'ям, яке збігається з [NAME] або ідентифікатором [ ID] будуть викрадені введені дані. Наступна таблиця демонструє один з таких прикладів.
 
 
 
На цьому прикладі ми можемо побачити конфігураційний файл Aibatook з одним блоком [W], в наступному стовпці слід веб-сторінка, відвідувана користувачем, а потім вкрадена шкідливим кодом інформація. Такий підхід до крадіжки даних є досить гнучким, зокрема, деякі блоки [CURL] і [CTI] залишаються порожніми, що допомагає зловмисникам орієнтуватися на будь-яку веб-сторінку з назвами полів введення, які в ньому зазначені. Ми підрахували статистику по доменах, на які націлений Aibatook при використанні такого способу компрометації веб-сторінок. Були виявлені 87 доменів, причому для деяких з них вдалося встановити їх призначення через значення тегів [CURL] і [CTI].
 
 
 
 Висновок
 
Сімейство шкідливих програм Win32/Aibatook націлене на компрометацію японських користувачів. Зараження комп'ютера користувача відбувається через спеціальну ланцюжок експлуатації, що складається з перенаправлень жертви на шкідливі сайти. Aibatook використовується зловмисниками для крадіжки персональних даних користувача через компрометацію браузера Internet Explorer. Для цього використовується два підходи, перший, більш загальний, спрямований на викрадення інформації з сайтів онлайн-банкінгу двох великих японських банків, а другий використовується для викрадення даних з великої кількості веб-ресурсів різного типу.
 
Ми спостерігали постійний розвиток коду і можливостей Win32/Aibatook останні кілька місяців. У майбутньому можна чекати не тільки подальшу еволюцію цього сімейства, але і більш активне його використання зловмисниками.
    
Джерело: Хабрахабр

0 коментарів

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