ຜົນຕອບແທນລົ້ມເຫລວ: ປ່ອຍໃຫ້ AgentTesla ລ້າງນໍ້າສະອາດ. ພາກທີ 2

ຜົນຕອບແທນລົ້ມເຫລວ: ປ່ອຍໃຫ້ AgentTesla ລ້າງນໍ້າສະອາດ. ພາກທີ 2
Мы продолжаем серию статей, посвященных анализу вредоносного программного обеспечения. В ທໍາອິດ части мы рассказывали, как Илья Померанцев, специалист по анализу вредоносного кода CERT Group-IB, провел детальный анализ файла, полученного по почте одной из европейских компаний, и обнаружил там шпионскую программу AgentTesla. В этой статье Илья приводит результаты поэтапного анализа основного модуля AgentTesla.

Agent Tesla — это модульное программное обеспечение для шпионажа, распространяемое по модели malware-as-a-service под видом легального кейлоггер-продукта. Agent Tesla способен извлекать и передавать на сервер злоумышленникам учетные данные пользователя из браузеров, почтовых клиентов и клиентов FTP, регистрировать данные буфера обмена, захватывать экран устройства. На момент анализа официальный сайт разработчиков был недоступен.

ໄຟລ໌ການຕັ້ງຄ່າ

В таблице ниже перечислено, какие функциональные возможности применяются в используемом сэмпле:

ລາຍ​ລະ​ອຽດ ມູນຄ່າ
Флаг использования KeyLogger ທີ່ແທ້ຈິງ
Флаг использования ScreenLogger ທີ່ບໍ່ຖືກຕ້ອງ
Интервал отправки лога KeyLogger в минутах 20
Интервал отправки лога ScreenLogger в минутах 20
Флаг обработки клавиши Backspace. False – только логгирование. True – стирание предыдущей клавиши ທີ່ບໍ່ຖືກຕ້ອງ
Тип CnC. Варианты: smtp, webpanel, ftp smtp
Флаг активации потока для завершения процессов из списка «%filter_list%» ທີ່ບໍ່ຖືກຕ້ອງ
Флаг отключения UAC ທີ່ບໍ່ຖືກຕ້ອງ
Флаг отключения менеджера задач ທີ່ບໍ່ຖືກຕ້ອງ
Флаг отключения CMD ທີ່ບໍ່ຖືກຕ້ອງ
Флаг отключения окна «Выполнить» ທີ່ບໍ່ຖືກຕ້ອງ
Флаг отключения инструмента просмотра реестра ທີ່ບໍ່ຖືກຕ້ອງ
Флаг отключения точек восстановления системы ທີ່ແທ້ຈິງ
Флаг отключения панели управления ທີ່ບໍ່ຖືກຕ້ອງ
Флаг отключения MSCONFIG ທີ່ບໍ່ຖືກຕ້ອງ
Флаг отключения контекстного меню в проводнике ທີ່ບໍ່ຖືກຕ້ອງ
Флаг закрепления в системе ທີ່ບໍ່ຖືກຕ້ອງ
Путь для копирования основного модуля при закреплении в системе %startupfolder% %insfolder%%insname%
Флаг задания атрибутов «Системный» и «Скрытный» для закрепленного в системе основного модуля ທີ່ບໍ່ຖືກຕ້ອງ
Флаг выполнения рестарта при закреплении в системе ທີ່ບໍ່ຖືກຕ້ອງ
Флаг перемещения основного модуля во временную папку ທີ່ບໍ່ຖືກຕ້ອງ
Флаг выполнения обхода UAC ທີ່ບໍ່ຖືກຕ້ອງ
Формат даты и времени для записи в лог yyyy-MM-dd HH:mm:ss
Флаг использования фильтра программ для KeyLogger ທີ່ແທ້ຈິງ
Тип фильтрации программ.
1 – имя программы ищется в заголовках окна
2 – имя программы ищется в имени процесса окна
1
Фильтр программ «facebook»,
«twitter»,
«gmail»,
«instagram»,
«movie»,
«skype»,
«porn»,
«hack»,
«whatsapp»,
«discord»

Закрепление основного модуля в системе

Если установлен соответствующий флаг, основной модуль копируется по пути, указанному в конфиге как путь для закрепления в системе.

В зависимости от значения из конфига файлу даются атрибуты «Скрытый» и «Системный».
Автозапуск обеспечивается двумя ветками реестра:

  • HKCU SoftwareMicrosoftWindowsCurrentVersionRun%insregname%
  • HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun %insregname%

Поскольку загрузчик производит инжект в процесс RegAsm, установка флага персиста для основного модуля приводит к довольно интересным последствиям. Вместо того, чтобы скопировать само себя, ВПО закрепило в системе оригинальный файл RegAsm.exe, в процесс которого осуществлялся инжект.

ຜົນຕອບແທນລົ້ມເຫລວ: ປ່ອຍໃຫ້ AgentTesla ລ້າງນໍ້າສະອາດ. ພາກທີ 2
ຜົນຕອບແທນລົ້ມເຫລວ: ປ່ອຍໃຫ້ AgentTesla ລ້າງນໍ້າສະອາດ. ພາກທີ 2

ປະຕິສໍາພັນກັບ C&C

ໂດຍບໍ່ສົນເລື່ອງຂອງວິທີການທີ່ໃຊ້, ການສື່ສານເຄືອຂ່າຍເລີ່ມຕົ້ນດ້ວຍການໄດ້ຮັບ IP ພາຍນອກຂອງຜູ້ຖືກເຄາະຮ້າຍໂດຍໃຊ້ຊັບພະຍາກອນ checkip[.]amazonaws[.]com/.
Далее описаны методы сетевого взаимодействия, представленные в ВПО.

webpanel

Взаимодействие идет по HTTP-протоколу. ВПО выполняет POST-запрос со следующими заголовками:

  • User-Agent: 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)
  • Connection: Keep-Alive
  • Content-Type: application/x-www-form-urlencoded

Адрес сервера задается значением %PostURL%. Зашифрованное сообщение передается в параметре « P ». Механизм шифрования описан в разделе «Алгоритмы шифрования» (Метод 2).

Передаваемое сообщение имеет следующий вид:

type={0}nhwid={1}ntime={2}npcname={3}nlogdata={4}nscreen={5}nipadd={6}nwebcam_link={7}nclient={8}nlink={9}nusername={10}npassword={11}nscreen_link={12}

Parameter ປະເພດ указывает на тип сообщения:

ຜົນຕອບແທນລົ້ມເຫລວ: ປ່ອຍໃຫ້ AgentTesla ລ້າງນໍ້າສະອາດ. ພາກທີ 2
ຮິດ — записывается MD5-хеш от значений серийного номера материнской платы и ID процессора. Вероятнее всего, используется в качестве User ID.
ທີ່ໃຊ້ເວລາ — служит для передачи текущего времени и даты.
pcname — определяется как <Имя пользователя>/<Имя компьютера>.
logdata — данные лога.

При передаче паролей сообщение имеет вид:

type={0}nhwid={1}ntime={2}npcname={3}nlogdata={4}nscreen={5}nipadd={6}nwebcam_link={7}nscreen_link={8}n[passwords]

Далее следуют описания украденных данных в формате nclient[]={0}nlink[]={1}nusername[]={2}npassword[]={3}.

smtp

Взаимодействие идет по SMTP-протоколу. Передаваемое письмо имеет формат HTML. Параметр ຮ່າງກາຍ ເບິ່ງ​ຄື:

ຜົນຕອບແທນລົ້ມເຫລວ: ປ່ອຍໃຫ້ AgentTesla ລ້າງນໍ້າສະອາດ. ພາກທີ 2
Заголовок письма имеет общий вид: <ИМЯ ПОЛЬЗОВАТЕЛЯ>/<ИМЯ КОМПЬЮТЕРА> <ТИП КОНТЕНТА>. Содержимое письма, как и его вложения, не шифруются.

ຜົນຕອບແທນລົ້ມເຫລວ: ປ່ອຍໃຫ້ AgentTesla ລ້າງນໍ້າສະອາດ. ພາກທີ 2
Взаимодействие идет по ftp-протоколу. На указанный сервер передается файл с именем <ТИП КОНТЕНТА>_<ИМЯ ПОЛЬЗОВАТЕЛЯ>-<ИМЯ КОМПЬЮТЕРА>_<ДАТА И ВРЕМЯ>.html. Содержимое файла не шифруется.

ຜົນຕອບແທນລົ້ມເຫລວ: ປ່ອຍໃຫ້ AgentTesla ລ້າງນໍ້າສະອາດ. ພາກທີ 2

ຂັ້ນຕອນການເຂົ້າລະຫັດ

В данном кейсе используются следующие методы шифрования:

ວິທີການ 1

Этот метод используется для шифрования строк в основном модуле. Для шифрования применяется алгоритм AES.

На вход подается шестизначное десятичное число. Над ним производится следующее преобразование:

f(x) = (((x >> 2 — 31059) ^ 6380) — 1363) >> 3

Полученное значение является индексом для вшитого массива данных.

Каждый элемент массива — последовательность DWORD. При объединении DWORD получается массив байтов: первые 32 байта — ключ шифрования, далее следуют 16 байтов вектора инициализации, а оставшиеся байты — зашифрованные данные.

ວິທີການ 2

Используется алгоритм 3DES ຢູ່ໃນໂmodeດ ECB с дополнением в целых байтах (PKCS7).

Ключ задается параметром %urlkey%, однако при шифровании используется его MD5-хеш.

ການທໍາງານທີ່ເປັນອັນຕະລາຍ

Изучаемый сэмпл использует следующие программы для реализации своей вредоносной функции:

ເຄື່ອງຕັດໄມ້ທີ່ສໍາຄັນ

При наличии соответствующего флага ВПО при помощи WinAPI-функции SetWindowsHookEx назначает свой обработчик для событий нажатия клавиш на клавиатуре. Функция обработчика начинается с получения заголовка активного окна.

Если установлен флаг выполнения фильтрации приложений, производится фильтрация в зависимости от заданного типа:

  1. имя программы ищется в заголовках окна
  2. имя программы ищется в имени процесса окна

Далее в лог добавляется запись с информацией об активном окне в формате:

ຜົນຕອບແທນລົ້ມເຫລວ: ປ່ອຍໃຫ້ AgentTesla ລ້າງນໍ້າສະອາດ. ພາກທີ 2
Затем записывается информация о нажатой клавише:

ກຸນແຈ ບັນທຶກ
Backspace В зависимости от флага обработки клавиши Backspace: False – {BACK}
True – стирание предыдущей клавиши
ໝວກ {CAPSLOCK}
ESC {ESC}
ໜ້າ ຂຶ້ນ {PageUp}
ລົງ &darr;
DELETE {DEL}
" "
F5 {F5}
& ,
F10 {F10}
TAB {TAB}
< <
> >
ຊ່ອງ
F8 {F8}
F12 {F12}
F9 {F9}
ALT + TAB {ALT+TAB}
END {END}
F4 {F4}
F2 {F2}
CTRL {CTRL}
F6 {F6}
ສິດ
Up &uarr;
F1 {F1}
ໄວ້ &larr;
PageDown {PageDown}
Insert {Insert}
Win {Win}
NumberLock {NumLock}
F11 {F11}
F3 {F3}
ຫນ້າທໍາອິດ {HOME}
ENTER {ENTER}
ALT + F4 {ALT+F4}
F7 {F7}
Другая клавиша Символ в верхнем или нижнем регистре в зависимости от положений клавиш CapsLock и Shift

С заданной периодичностью собранный лог отправляется на сервер. Если передача оказалась неудачной, лог сохраняется в файл %TEMP%log.tmp в формате:

ຜົນຕອບແທນລົ້ມເຫລວ: ປ່ອຍໃຫ້ AgentTesla ລ້າງນໍ້າສະອາດ. ພາກທີ 2
Когда сработает таймер, файл будет передан на сервер.

ScreenLogger

С заданной периодичностью ВПО создает снимок экрана в формате Jpeg ທີ່​ມີ​ຄວາມ​ຫມາຍ​ ຄຸນ​ນະ​ພາບ равным 50 и сохраняет его в файл %APPDATA %<Произвольная последовательность из 10 символов>.jpg. После передачи файл удаляется.

ClipboardLogger

Если установлен соответствующий флаг, в перехваченном тексте производятся замены согласно приведенной таблице.

ຜົນຕອບແທນລົ້ມເຫລວ: ປ່ອຍໃຫ້ AgentTesla ລ້າງນໍ້າສະອາດ. ພາກທີ 2
После этого текст вставляется в лог:

ຜົນຕອບແທນລົ້ມເຫລວ: ປ່ອຍໃຫ້ AgentTesla ລ້າງນໍ້າສະອາດ. ພາກທີ 2

ຜູ້ລັກລະຫັດຜ່ານ

ВПО может производить выгрузку паролей из следующих приложений:

ເບດບານ ລູກຄ້າທາງໄປສະນີ FTP клиенты
Chrome ການຄາດຄະເນ FileZilla
Firefox Thunderbird WS_FTP
IE/Edge Foxmail WinSCP
safari Opera Mail CoreFTP
ໂປແກຼມ Opera Browser Incredimail FTP Navigator
Yandex Pocomail FlashFXP
Comodo Eudora SmartFTP
ChromePlus TheBat FTPCommander
chromium ຕູ້ໄປສະນີ
Torch ClawsMail
7Star
ຫມູ່ເພື່ອນ
BraveSoftware Jabber клиенты VPN клиенты
CentBrowser Psi/Psi+ ເປີດ VPN
ເຊດອດ
ໂຄກໂຄກ
Elements Browser ຜູ້ຈັດການດາວໂຫຼດ
ຕົວທ່ອງເວັບຄວາມເປັນສ່ວນຕົວ Epic Internet Download Manager
ໂຄເມຕາ JDownloader
ວົງໂຄຈອນ
Sputnik
uCozMedia
Vivaldi
SeaMonkey
Flock Browser
UC Browser
BlackHawk
CyberFox
K-meleon
ແມວນໍ້າກ້ອນ
ມັງກອນກ້ອນ
PaleMoon
WaterFox
ຕົວທ່ອງເວັບ Falkon

ການຕ້ານກັບການວິເຄາະແບບເຄື່ອນໄຫວ

  • Использование функции ນອນ. Позволяет обойти по таймауту некоторые песочницы
  • Уничтожение потока ເຂດ. ຕົວຊີ້ວັດ. Позволяет скрыть факт загрузки файла из интернета
  • ໃນພາລາມິເຕີ %filter_list% задается список процессов, которые ВПО будет завершать с интервалом в одну секунду
  • ປິດ UAС
  • Отключение менеджера задач
  • ປິດ CMD
  • Отключение окна "ແລ່ນ"
  • Отключение панели управления
  • Отключение инструмента RegEdit
  • Отключение точек восстановления системы
  • Отключение контекстного меню в проводнике
  • ປິດ MSCONFIG
  • ຂ້າມ UAC:

Неактивные возможности основного модуля

В ходе анализа основного модуля были выявлены функции, отвечающие за распространение по сети и отслеживание положения мыши.

Worm

В отдельном потоке отслеживаются события подключения съемных носителей. При подключении в корень файловой системы копируется ВПО с именем scr.exe, после чего выполняется поиск файлов с расширением lnk. Команда каждого lnk меняется на cmd.exe /c start scr.exe&start <оригинальная команда>& exit.

Каждой директории в корне носителя дается атрибут "ເຊື່ອງໄວ້" и создается файл с расширением lnk с именем скрытой директории и командой cmd.exe /c start scr.exe&explorer /root,»%CD%<ИМЯ ДИРЕКТОРИИ>» & exit.

MouseTracker

Метод выполнения перехвата аналогичен используемому для клавиатуры. Этот функционал пока находится в разработке.

Файловая активность

ເສັ້ນທາງ ລາຍ​ລະ​ອຽດ
%Temp%temp.tmp Содержит счетчик попыток обхода UAC
%startupfolder%%insfolder%%insname% Путь для закрепления в системе ВПО
%Temp%tmpG{Текущее время в милесекундах}.tmp Путь для бэкапа основного модуля
%Temp%log.tmp Лог-файл
%AppData%{Произвольная последовательность из 10 симоволов}.jpeg ພາບ ໜ້າ ຈໍ
C:UsersPublic{Произвольная последовательность из 10 симоволов}.vbs Путь к vbs файлу, который загрузчик может использовать для закрпления в системе
%Temp%{Произвольное имя папки}{Имя файла} Путь, используемый загрузчиком для закрепления в системе

ໂປຣໄຟລ໌ຜູ້ໂຈມຕີ

Благодаря «зашитым» данным аутентификации нам удалось получить доступ к командному центру.

ຜົນຕອບແທນລົ້ມເຫລວ: ປ່ອຍໃຫ້ AgentTesla ລ້າງນໍ້າສະອາດ. ພາກທີ 2
Это позволило нам выявить конечную почту злоумышленников:

junaid[.]in***@gmail[.]com.

Доменное имя командного центра зарегистрировано на почту sg***@gmail[.]com.

ສະຫລຸບ

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

Основная опасность AgentTesla как DataStealer в том, что для выполнения своих задач ему не требуется производить закрепление в системе или ожидать получения управляющей команды. Попадая на машину, он немедленно начинает сбор приватной информации и передает ее на CnC. Такое агрессивное поведение в некотором роде схоже с поведением шифровальщиков, с той лишь разницей, что вторым не требуется даже наличие сетевого соединения. При столкновении с этим семейством после очистки зараженной системы от самого ВПО следует в обязательном порядке произвести смену всех паролей, которые могли хотя бы теоретически оказаться сохраненными в одном из перечисленных выше приложений.

Забегая вперед, скажем, что злоумышленники, рассылающие AgentTesla, очень часто меняют первоначальный загрузчик. Это позволяет в момент атаки оставаться незамеченными для статических сканеров и эвристических анализаторов. А склонность этого семейства сразу же начинать свою деятельность делает бесполезными системные мониторы. Наилучший способ борьбы с AgentTesla — предварительный анализ в песочнице.

В третьей статье этого цикла мы рассмотрим другие загрузчики, используемые AgentTesla, а также изучим процесс их полуавтоматической распаковки. Не пропустите!

Hash

SHA1
A8C2765B3D655BA23886D663D22BDD8EF6E8E894
8010CC2AF398F9F951555F7D481CE13DF60BBECF
79B445DE923C92BF378B19D12A309C0E9C5851BF
15839B7AB0417FA35F2858722F0BD47BDF840D62
1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD

C&C

URL
sina-c0m[.]icu
smtp[.]sina-c0m[.]icu

RegKey

Registry
HKCUSoftwareMicrosoftWindowsCurrentVersionRun{Имя скрипта}
HKCUSoftwareMicrosoftWindowsCurrentVersionRun%insregname%
HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun%insregname%

mutexes

Индикаторы отсутствуют.

ໄຟ

Файловая активность
%Temp%temp.tmp
%startupfolder%%insfolder%%insname%
%Temp%tmpG{Текущее время в милесекундах}.tmp
%Temp%log.tmp
%AppData%{Произвольная последовательность из 10 симоволов}.jpeg
C:UsersPublic{Произвольная последовательность из 10 симоволов}.vbs
%Temp%{Произвольное имя папки}{Имя файла}

Samples Info

ຊື່ ບໍ່ຮູ້ຈັກ
MD5 F7722DD8660B261EA13B710062B59C43
SHA1 15839B7AB0417FA35F2858722F0BD47BDF840D62
SHA256 41DC0D5459F25E2FDCF8797948A7B315D3CB0753
98D808D1772CACCC726AF6E9
ປະເພດ PE (.NET)
ເລືອກຂະຫນາດ 327680
OrginalName AZZRIDKGGSLTYFUBCCRRCUMRKTOXFVPDKGAGPUZI_20190701133545943.exe
DateStamp 01.07.2019
ຜູ້ລວບລວມຂໍ້ມູນ VB.NET

ຊື່ IELibrary.dll
MD5 BFB160A89F4A607A60464631ED3ED9FD
SHA1 1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD
SHA256 D55800A825792F55999ABDAD199DFA54F3184417
215A298910F2C12CD9CC31EE
ປະເພດ PE (.NET DLL)
ເລືອກຂະຫນາດ 16896
OrginalName IELibrary.dll
DateStamp 11.10.2016
ຜູ້ລວບລວມຂໍ້ມູນ Microsoft Linker(48.0*)

ແຫຼ່ງຂໍ້ມູນ: www.habr.com

ເພີ່ມຄວາມຄິດເຫັນ