В останні роки мобільні трояни активно витісняють трояни для персональних комп'ютерів, тому поява нових шкідливих програм під старі добрі «тачки» та їхнє активне використання кіберзлочинцями, хоч і неприємна, але все-таки подія. Нещодавно центр цілодобового реагування на інциденти інформаційної безпеки CERT Group-IB зафіксував незвичайну фішингову розсилку, за якою ховалася нова шкідлива програма для ПК, що поєднує функції Keylogger і PasswordStealer. Увага аналітиків привернула те, як шпигунська програма потрапляла на машину користувача — за допомогою популярного голосового месенджера. Ілля Помаранців, фахівець із аналізу шкідливого коду CERT Group-IB розповів, як працює шкідлива програма, чим вона небезпечна, і навіть знайшов її творця – у далекому Іраку.
Отже, ходімо по порядку. Під виглядом вкладення в такому листі містилася картинка, при кліку на яку користувач потрапляв на сайт cdn.discordapp.com, та звідти завантажувався шкідливий файл.
Використання Discord, безкоштовного голосового та текстового месенджера досить нестандартне. Зазвичай для цього використовуються інші месенджери або соціальні мережі.
У процесі детальнішого аналізу було встановлено сімейство ВПО. Ним виявився новачок на ринку шкідливих програм. 404 Keylogger.
Перше оголошення про продаж кейлоггера було розміщено на hackforums користувачем під ніком "404 Coder" 8 серпня.
Домен магазину був зареєстрований нещодавно — 7 вересня 2019 року.
Як запевняють розробники на сайті 404projects[.]xyz, 404 - Це інструмент, створений, щоб допомогти компаніям дізнаватися про дії своїх клієнтів (з їхнього дозволу) або він потрібен тим, хто бажає захистити свій бінарний файл від реверс-інжинірингу. Забігаючи наперед, скажімо, що з останнім завданням 404 точно не справляється.
Ми вирішили розреверсувати один із файлів і перевірити, що собою являє «BEST SMART KEYLOGGER».
Екосистема ВПО
Завантажувач 1 (AtillaCrypter)
Вихідний файл захищений за допомогою EaxObfuscator та здійснює двоетапне завантаження AtProtect із секції ресурсів. У ході аналізу інших семплів, знайдених на VirusTotal, стало зрозуміло, що ця стадія не передбачалася самим розробником, а була додана клієнтом. Надалі було встановлено, що завантажувачем є AtillaCrypter.
Завантажувач 2 (AtProtect)
За фактом цей завантажувач є невід'ємною частиною ВПО і, за задумом розробника, повинен брати на себе функціонал протидії аналізу.
Однак на практиці механізми захисту є вкрай примітивними, і наші системи успішно детектують це ВПО.
Завантаження основного модуля здійснюється за допомогою Franchy ShellCode різних версій. Однак ми не виключаємо, що могли використовуватися інші варіанти, наприклад, RunPE.
Конфігураційний файл
Закріплення у системі
Закріплення в системі забезпечується завантажувачем AtProtectякщо встановлено відповідний прапор.
- Файл копіюється шляхом %AppData%GFqaakZpzwm.exe.
- Створюється файл %AppData%GFqaakWinDriv.url, що запускає Zpzwm.exe.
- У гілці HKCUSoftwareMicrosoftWindowsCurrentVersionRun створюється ключ на запуск WinDriv.url.
Взаємодія з C&C
Завантажувач AtProtect
За наявності відповідного прапора ВПЗ може запустити прихований процес iexplorer і перейти за вказаним посиланням, щоб повідомити сервер про успішне зараження.
DataStealer
Незалежно від використовуваного методу мережна взаємодія починається з отримання зовнішньої IP жертви за допомогою ресурсу [http]://checkip[.]dyndns[.]org/.
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR1.0.3705;)
Однакова та загальна структура повідомлення. Є заголовок
|——- 404 Keylogger — {Type} ——-|, Де {type} відповідає типу інформації, що передається.
Далі слідує інформація про систему:
_______ + VICTIM INFO + _______
IP: {Зовнішній IP}
Owner Name: {Ім'я комп'ютера}
OS Name: {Назва ОС}
OS Version: {Версія ОС}
OS PlatForm: {Платформа}
RAM Size: {Розмір ОЗУ}
______________________________
І, нарешті, — дані, що передаються.
SMTP
Тема листа має такий вигляд: 404 K | {Тип повідомлення} | Client Name: {Ім'я користувача}.
Цікаво, що для доставки листів клієнту 404 Keylogger використовується SMTP-сервер розробників.
Це дозволило виявити деяких клієнтів, а також пошту одного із розробників.
Ftp
При використанні цього методу інформація, що збирається, зберігається у файл і відразу ж звідти читається.
Логіка цієї дії не зовсім зрозуміла, проте створює додатковий артефакт для написання поведінкових правил.
%HOMEDRIVE%%HOMEPATH%DocumentsA{Довільне число}.txt
Pastebin
На момент аналізу цей метод застосовується лише передачі вкрадених паролів. Причому він використовується не як альтернатива першим двом, а паралельно. Умовою є значення константи, що дорівнює «Vavaa». Імовірно, це ім'я клієнта.
Взаємодія відбувається за https-протоколом через API Pastebin. Значення api_paste_private одно PASTE_UNLISTED, що забороняє пошук таких сторінок у Pastebin.
Алгоритми шифрування
Вилучення файлу з ресурсів
Корисне навантаження зберігається в ресурсах завантажувача AtProtect у вигляді Bitmap-картинок. Вилучення здійснюється у кілька стадій:
- З картинки витягується масив байтів. Кожен піксель трактується як послідовність із 3 байтів у порядку BGR. Після вилучення перші 4 байти масиву зберігають довжину повідомлення, наступні - саме повідомлення.
- Обчислюється ключ. Для цього вираховується MD5 від значення ZpzwmjMJyfTNiRalKVrcSkxCN, вказаного в якості пароля. Отриманий хеш записується двічі.
- Розшифровується алгоритмом AES в режимі ECB.
Шкідливий функціонал
завантажувач
Реалізується у завантажувачі AtProtect.
- Зверненням по [activelink-repalce] запитується статус сервера готовність віддати файл. Сервер має повернути “УВІМК.”.
- За посиланням [downloadlink-replace] скачується корисне навантаження.
- За допомогою FranchyShellcode здійснюється інжект корисного навантаження у процес [inj-replace].
У ході аналізу домену 404projects[.]xyz на VirusTotal були виявлені додаткові екземпляри 404 Keylogger, а також кілька видів завантажувачів.
Умовно вони поділяються на два типи:
- Завантаження здійснюється з ресурсу 404projects[.]xyz.
Дані закодовані Base64 та зашифровані AES. - Цей варіант складається з декількох етапів і, найімовірніше, використовується у зв'язці із завантажувачем AtProtect.
- На першій стадії дані завантажуються з Pastebin та декодуються за допомогою функції HexToByte.
- На другій стадії джерелом завантаження служить сам 404projects[.]xyz. При цьому функції декомпресії та декодування аналогічні знайденим у DataStealer. Ймовірно, спочатку планувалося реалізувати функціонал завантажувача в основному модулі.
- На цьому етапі корисне навантаження вже знаходиться у ресурс-маніфесті у стислому вигляді. Аналогічні функції вилучення також знайшли в основному модулі.
Серед проаналізованих файлів було знайдено завантажувачі njRat, SpyGate та інших RAT.
Keylogger
Період надсилання лога: 30 хвилин.
Усі символи підтримуються. Спецсимволи екрануються. Є обробка клавіш BackSpace та Delete. Враховується регістр.
ClipboardLogger
Період надсилання лога: 30 хвилин.
Період опитування буфера: 0,1 секунд.
Реалізоване екранування посилань.
ScreenLogger
Період надсилання лога: 60 хвилин.
Скріншоти зберігаються в %HOMEDRIVE%%HOMEPATH%Documents404k404pic.png.
Після відправки папка 404k видаляється.
PasswordStealer
Браузери | Поштові клієнти | FTP-клієнти |
---|---|---|
Chrome | прогноз | FileZilla |
Firefox | буревісник | |
SeaMonkey | Foxmail | |
Icedragon | ||
Блідий місяць | ||
Cyberfox | ||
Chrome | ||
BraveBrowser | ||
QQBrowser | ||
IridiumBrowser | ||
XvastBrowser | ||
Чедот | ||
360Броузер | ||
ComodoDragon | ||
360 хром | ||
SuperBird | ||
CentBrowser | ||
GhostBrowser | ||
IronBrowser | ||
Хром | ||
Вівальді | ||
SlimjetBrowser | ||
Орбітум | ||
CocCoc | ||
Факел | ||
UCBrowser | ||
EpicBrowser | ||
BliskBrowser | ||
Opera |
Протидія динамічному аналізу
- Перевірка знаходження процесу під аналізом
Здійснюється за допомогою пошуку процесів урочна, ProcessHacker, procexp64, procexp, procmon. Якщо знайдено хоча б одну, ВПО завершує роботу.
- Перевірка знаходження у віртуальному середовищі
Здійснюється за допомогою пошуку процесів vmtoolsd, VGAuthService, vmacthlp, VBoxService, VBoxTray. Якщо знайдено хоча б одну, ВПО завершує роботу.
- Засипання на 5 секунд
- Демонстрація діалогових вікон різних типів
Може бути використаний для обходу деяких пісочниць.
- Обхід UAC
Виконується через редагування ключа реєстру EnableLUA у налаштуваннях групової політики.
- Застосування атрибута "Прихований" для поточного файлу.
- Можливість видалення поточного файлу.
Неактивні можливості
У ході аналізу завантажувача та основного модуля було знайдено функції, що відповідають за додатковий функціонал, але вони ніде не використовуються. Ймовірно, це пов'язано з тим, що ВПО все ще розробляється, і незабаром функціональність буде розширена.
Завантажувач AtProtect
Було знайдено функцію, що відповідає за підвантаження та інжект у процес msiexec.exe довільного модуля.
DataStealer
- Закріплення у системі
- Функції декомпресії та дешифрування
Ймовірно, незабаром буде реалізовано шифрування даних при мережевому взаємодії. - Завершення процесів антивірусів
zlclient | Dvp95_0 | Pavsched | avgserv9 |
egui | Ecengine | Pavw | avgserv9schedapp |
bdagent | Esafe | PCCIOMON | avgemc |
npfmsg | Espwatch | PCCMAIN | ashwebsv |
olydbg | F-Agnt95 | Pccwin98 | ashdisp |
anubis | Findviru | PCwallicon | ashmaisv |
Wireshark | Fprot | Persfw | ashserv |
avastui | F-Prot | POP3TRAP | aswUpdSv |
_Avp32 | F-Prot95 | PVIEW95 | symwsc |
vsmon | Fp-Win | Рав7 | Нортон |
мам | Frw | Rav7win | Norton Auto-Protect |
keyscrambler | F-Stopw | Рятувати | norton_av |
_Avpcc | Iamapp | Safeweb | nortonav |
_Avpm | Iamserv | Сканування32 | ccsetmgr |
Ackwin32 | Ibmasn | Сканування95 | ccevtmgr |
Застава | Ibmavsp | Scanpm | avadmin |
Анти-троян | Icload95 | Scrscan | avcenter |
АНТІВИР | Icloadnt | Serv95 | сер |
Apvxdwin | Icmon | Smc | avguard |
ATRACK | Icsupp95 | SMCSERVICE | avnotify |
Autodown | Icsuppnt | Шпор | avscan |
Avconsol | Iface | Сфінкс | guardgui |
Проспект32 | Iomon98 | Розгортка95 | nod32krn |
Avgctrl | Джедай | SYMPROXYSVC | nod32kui |
Avkserv | Блокування2000 | Tbscan | молюсків |
Avnt | пильність | Tca | clamTray |
Авп | Луал | Tds2-98 | clamWin |
Avp32 | mcafee | Tds2-Nt | freshclam |
Avpcc | Moolive | TermiNET | oladdin |
Avpdos32 | Mpftray | Vet95 | інструмент sigtool |
Avpm | N32scanw | Vettray | w9xpopen |
Avptc32 | NAVAPSVC | Vscan40 | Wclose |
Avpupd | NAVAPW32 | Vsecomr | cmgrdian |
Avsched32 | NAVLU32 | Vshwin32 | alogserv |
AVSYNMGR | Navnt | Vsstat | mcshield |
Avwin95 | NAVRUNR | Webscanx | vshwin32 |
Avwupd32 | Navw32 | WEBTRAP | avconsol |
blackd | Navwnt | Wfindv32 | vsstat |
Чорний лід | NeoWatch | ZoneAlarm | avsynmgr |
Cfiadmin | NISSERV | LOCKDOWN2000 | avcmd |
Cfiaudit | Нісум | RESCUE32 | avconfig |
Cfinet | Nmain | LUCOMSERVER | licmgr |
Cfinet32 | Normist | avgcc | розклад |
Claw95 | NORTON | avgcc | preupd |
Claw95cf | Nupgrade | avgamsvr | MsMpEng |
очищувач | Nvc95 | avgupsvc | MSASCui |
Cleaner3 | Застава | avgw | Avira.Systray |
Defwatch | Padmin | avgcc32 | |
Dvp95 | Pavcl | avgserv |
- Самознищення
- Завантаження даних із зазначеного ресурс-маніфесту
- Копіювання файлу по дорозі %Temp%tmpG[Поточна дата та час у мілісекундах].tmp
Цікаво, що ідентична функція є у ВПО AgentTesla. - Функціонал хробака
ВПО отримує список знімних носіїв. У корені файлової системи носія створюється копія ВПО з ім'ям Sys.exe. Автозапуск реалізований за допомогою файлу autorun.inf.
Профіль зловмисника
В ході аналізу командного центру вдалося встановити пошту і нік розробника - Razer, він Brwa, Brwa65, HiDDen PerSOn, 404 Coder. Далі було знайдено цікаве відео на YouTube, де демонструється робота з білдером.
Це дозволило знайти оригінальний канал розробника.
Стало ясно, що досвід написання крипторів у нього є. Там є посилання на сторінки в соціальних мережах, а також справжнє ім'я автора. Ним виявився мешканець Іраку.
Ось так, ймовірно, виглядає розробник 404 Keylogger. Фото з його особистого профілю у Facebook.
CERT Group-IB повідомив про нову загрозу — 404 Keylogger — цілодобовий центр моніторингу та реагування на кіберзагрози (SOC) у Бахрейні.
Джерело: habr.com