Agent Tesla (шкідливе програмне забезпечення)

Урядова команда реагування на комп’ютерні надзвичайні події України CERT-UA під час дослідження кіберінцидентів отримала зразки одного з найпопулярніших ШПЗ 2020 року Agent Tesla.

Надаємо опис та аналіз зазначеного ШПЗ.

Загальні відомості

Agent Tesla – шкідливе програмне забезпечення (далі – ШПЗ), яке виконує функції кейлогера (keylogger), викрадача інформації (stealer) та є вдосконаленим трояном віддаленого доступу (RAT), що написане мовами, які використовуються в Microsoft .Net (C #, Visual Basic .NET, C++/CLI, тощо). Наразі ШПЗ здатне відслідковувати та збирати дані вводу з клавіатури, робити скріншоти та отримувати облікові дані, що використовуються в різних програмах системи (наприклад Google Chrome, Mozilla Firefox, Microsoft Outlook, IceDragon, FILEZILLA, тощо). З’явився Agent Tesla в 2014 році і виконував функції кейлогера та викрадача паролів. Дане ШПЗ є комерційним, ліцензію на його використання можливо придбати на сайті розробників (вказують, що Agent Tesla має використовуватись лише в межах визначених законом).

Дані які Agent Tesla передає зловмисникам з інфікованого пристрою шифруються алгоритмом Rijndael (Advanced Encryption Standard (AES), симетричний алгоритм блочного шифрування) та надалі кодуються нестандартною функцією base64. Інформація яка передається даних командно-контрольному (C&C) серверу постійно оновлюється, відповідно до встановленого таймера, як і сама програма, при оновлені якої попередній екземпляр знищується.

Для передачі даних командно-контрольному серверу використовуються різні мережеві протоколи, а саме smtp, http, ftp. Для ідентифікації інфікованого пристрою командно-контрольним сервером передаються такі ідентифікатори, як ім’я комп’ютера, ім’я користувача, серійний номер накопичувача та інші. Для визначення адреси/доменного імені командно-контрольного сервера використовується механізм динамічної зміни адреси.

Для стабільної та постійної роботи в системі Agent Tesla прописується в автозавантаженні, реєстрі та планувальнику задач.

Аналіз програми Agent Tesla

Шкідливе програмне забезпечення Agent Tesla зазвичай запаковане і містить частково зашифрований та обфускований програмний код (ім’я функцій, класів, змінних).

Під час запуску відбувається саморозпакування програми з подальшим записом програмного коду в оперативну пам’ять.

Розпакування програми відбувається в два етапи.

Перший етап

Після початкового саморозпакування в оперативній пам’яті записується .NET файл, основна задача якого – розпакувати код ядра ШПЗ Agent Tesla, який він містить у собі.

.

Також, даний файл перевіряє наявність іншого екземпляру ШПЗ Agent Tesla та завершує його роботу, якщо він присутній у системі. Далі програма запускає системний файл RegAsm.exe (https://docs.microsoft.com/en-us/dotnet/framework/tools/regasm-exe-assembly-registration-tool):

та створює виконуваний файл з псевдовипадковою назвою (наприклад AvqOUjZwpiXQ.exe) у директоріях \\AppData\Roaming\ та \\AppData\Local\Temp\, який у подальшому запускається:

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

Для постійної роботи у системі програми, створюється запис в реєстрі для запуску після перезавантаження системи:

де path – це імʼя файла Agent Tesla (“#installation_name#”), а також створюється задача у планувальнику завдань:

де name це – файл створений в тимчасовій директорії та прописується ім’я файла Agent Tesla у папці запуску з розширенням .url.

Також, було визначено, що отриманий екземпляр ШПЗ Agent Tesla має незавершений функціонал, щодо перевірки наявності програми Defender. З чого можна зробити припущення, що дане ШПЗ може мати додаткові функції у користувачів, що придбали ліцензію.

Другий етап

Другий файл .NET, отриманий шляхом розпакування на попередньому етапі, не містить запакованих ресурсів, але має частково зашифрований та обфускований програмний код (ім’я функцій, класів, змінних) і є ядром ШПЗ Agent Tesla.

Основна задача ШПЗ Agent Tesla полягає в отриманні паролів до програм або з програм, що можуть їх зберігати, зокрема:

Наприклад, для отримання збережених облікових даних у браузері Internet Explorer використовується виклики бібліотеки vaultcli.dll

Відповідно до заданого таймеру в програмному коді, здійснюються спроби отримати облікові та конфігураційні дані, зокрема, з такого програмного забезпечення (список не повний):

Yandex Browser
Iridium Browser
Epic Privacy Browser
Chromium Browser
7Star Browser
Torch Browser
ChromePlus Browser
Kometa Browser
Amigo Browser
Brave Browser
CentBrowser
Liebao Browser
Elements Browser
Vivaldi Browser
Citrio Browser
360Chrome Browser
Uran Browser
Chedot Browser
Orbitum Browser
Sputnik Browser
Comodo Dragon Browser
CocCoc Browser
QIP Surf Browser
Coowon Browser
Opera Browser
Google Chrome
Mozilla Firefox
Thunderbird
Claws Mail
Postbox Credential
Outlook
Foxmail
Opera Mail
Pocomail
Becky!
OpenVPN
FileZilla
WinSCP
Paltalk
jDownloader
SmartFTP
FTP Commander
WS_FTP
FTPGetter
Trillian

Також визначаються реквізити користувачів та інфікованого пристрою:

Визначаються дані процесору та об’єм запам’ятовуючого пристрою:

Для зв’язку з командно-контрольнім сервером використовується механізм динамічної зміни IP-адреси використовуючи послуги https://DynDns.com. Для передачі інформації між інфікованим пристроєм та командно-контрольнім сервером використовується код програми WinSCP (https://winscp.net/eng/docs/introduction), властивості якої дозволяють створювати клієнтські програми AFTP, FTP, WebDAV, S3, SCP та виконувати функції файлового менеджера, а також такі мережеві протоколи:

HTTP протокол, наприклад,

“hххp://BaDpDF.com

 Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)”

FTP протокол, або SMTP протокол – відправляючи дані на поштову адресу cm.islamabad@chinagrill.co з паролем, наприклад «SnIVrXH!]f1q», використовуючи відповідні User Agent.

Для постійної роботи у системі ШПЗ Agent Tesla, створюється файл в директорії автозавантаження та створюється запис в реєстрі для запуску після перезавантаження системи: “Software\Microsoft\Windows\CurrentVersion\Run” та  “SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run ” зі значенням

ШПЗ Agent Tesla до моменту відправлення до командно-контрольного сервера зберігає зроблені скриншоти системи у директорії \\AppData\Local\Temp\ в форматі .jpeg (чи іншому, який підтримує система).

Також, ШПЗ Agent Tesla збирає інформацію з буфера обміну (Clipboard) та реєструє натиснення клавіш клавіатури комп’ютера.

ШПЗ намагається отримати дані з диспетчера облікових даних, наприклад такі, як Windows Domain Password Credential (Local Security Authority) (https://docs.microsoft.com/en-us/windows/win32/secauthn/lsa-authentication), Windows Extended Credential, Windows Credential Picker Protector, Windows Secure Note та параметри Web Credential of IE, Mozilla Firefox, Google Chrome (login, Password Autofilling info).

Примітка: Credentials Processes in Windows Authentication (https://docs.microsoft.com/en-us/windows-server/security/windows-authentication/credentials-processes-in-windows-authentication)

У випадку коли інфікований комп’ютер має встановлені додатки компанії Apple ШПЗ Agent Tesla пробує визначити обліковані дані (“\Apple Computer\Preferences\keychain.plist, \Common Files\Apple\Apple Application Support\plutil.exe”).

За матеріалами сайту CERT-UA