Мы продолжаем серию статей, посвященных анализу вредоносного программного обеспечения. В
אַגענט טעסלאַ איז אַ מאַדזשאַלער ספּייינג ווייכווארג פונאנדערגעטיילט ניצן אַ מאַלוואַרע-ווי-אַ-דינסט מאָדעל אונטער די גייז פון אַ לאַדזשיטאַמאַט קיילאָגגער פּראָדוקט. אַגענט טעסלאַ איז ביכולת צו עקסטראַקט און טראַנסמיטינג באַניצער קראַדענטשאַלז פון בראַוזערז, E- בריוו קלייאַנץ און פטפּ קלייאַנץ צו די סערווער צו אַטאַקערז, רעקאָרדינג קליפּבאָרד דאַטן און כאַפּן די פאַרשטעלן פון די מיטל. אין דער צייט פון אַנאַליסיס, דער באַאַמטער וועבזייטל פון די דעוועלאָפּערס איז געווען אַנאַוויילאַבאַל.
קאָנפיגוראַטיאָן טעקע
В таблице ниже перечислено, какие функциональные возможности применяются в используемом сэмпле:
באַשרייַבונג | ווערט |
Флаг использования KeyLogger | ריכטיק |
Флаг использования ScreenLogger | פאַלש |
Интервал отправки лога KeyLogger в минутах | 20 |
Интервал отправки лога ScreenLogger в минутах | 20 |
Флаг обработки клавиши Backspace. False – только логгирование. True – стирание предыдущей клавиши | פאַלש |
Тип CnC. Варианты: smtp, webpanel, ftp | סמטפּ |
Флаг активации потока для завершения процессов из списка «%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.exe, в процесс которого осуществлялся инжект.
ינטעראַקשאַן מיט C&C
רעגאַרדלעסס פון דעם אופֿן געניצט, נעץ קאָמוניקאַציע הייבט מיט קריגן די פונדרויסנדיק IP פון די קאָרבן ניצן די מיטל
Далее описаны методы сетевого взаимодействия, представленные в ВПО.
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}
פּאַראַמעטער טיפּ указывает на тип сообщения:
הוויד — записывается 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-протоколу. Передаваемое письмо имеет формат HTML. Параметр גוף имеет вид:
Заголовок письма имеет общий вид: <ИМЯ ПОЛЬЗОВАТЕЛЯ>/<ИМЯ КОМПЬЮТЕРА> <ТИП КОНТЕНТА>. Содержимое письма, как и его вложения, не шифруются.
Взаимодействие идет по ftp-протоколу. На указанный сервер передается файл с именем <ТИП КОНТЕНТА>_<ИМЯ ПОЛЬЗОВАТЕЛЯ>-<ИМЯ КОМПЬЮТЕРА>_<ДАТА И ВРЕМЯ>.html. Содержимое файла не шифруется.
ענקריפּשאַן אַלגערידאַמז
В данном кейсе используются следующие методы шифрования:
די קסנומקס אופֿן
Этот метод используется для шифрования строк в основном модуле. Для шифрования применяется алгоритм אַעס.
На вход подается шестизначное десятичное число. Над ним производится следующее преобразование:
f(x) = (((x >> 2 — 31059) ^ 6380) — 1363) >> 3
Полученное значение является индексом для вшитого массива данных.
Каждый элемент массива — последовательность DWORD. При объединении DWORD получается массив байтов: первые 32 байта — ключ шифрования, далее следуют 16 байтов вектора инициализации, а оставшиеся байты — зашифрованные данные.
די קסנומקס אופֿן
Используется алгоритм 3DES אין מאָדע עקב с дополнением в целых байтах (PKCS7).
Ключ задается параметром %urlkey%, однако при шифровании используется его MD5-хеш.
בייזע פאַנגקשאַנאַליטי
Изучаемый сэмпл использует следующие программы для реализации своей вредоносной функции:
קיילאָגגער
При наличии соответствующего флага ВПО при помощи WinAPI-функции SetWindowsHookEx назначает свой обработчик для событий нажатия клавиш на клавиатуре. Функция обработчика начинается с получения заголовка активного окна.
Если установлен флаг выполнения фильтрации приложений, производится фильтрация в зависимости от заданного типа:
- имя программы ищется в заголовках окна
- имя программы ищется в имени процесса окна
Далее в лог добавляется запись с информацией об активном окне в формате:
Затем записывается информация о нажатой клавише:
שליסל | רעקאָרד |
Backspace | В зависимости от флага обработки клавиши Backspace: False – {BACK} True – стирание предыдущей клавиши |
CAPSLOCK | {CAPSLOCK} |
עסק | {ESC} |
Page Up | {PageUp} |
אַראָפּ | ↓ |
ויסמעקן | {DEL} |
" | " |
F5 | {F5} |
& | & |
פקסנומקס | {F10} |
קוויטל | {TAB} |
< | < |
> | > |
פּלאַץ | |
F8 | {F8} |
פקסנומקס | {F12} |
F9 | {F9} |
ALT + TAB | {ALT+TAB} |
עק | {END} |
F4 | {F4} |
F2 | {F2} |
קטרל | {CTRL} |
F6 | {F6} |
רעכט | → |
Up | ↑ |
F1 | {F1} |
לינקס | ← |
PageDown | {PageDown} |
אַרייַנלייגן | {Insert} |
געווינען | {Win} |
נומלאָקק | {NumLock} |
פקסנומקס | {F11} |
F3 | {F3} |
היים | {HOME} |
ENTER | {ENTER} |
ALT + F4 | {ALT+F4} |
F7 | {F7} |
Другая клавиша | Символ в верхнем или нижнем регистре в зависимости от положений клавиш CapsLock и Shift |
С заданной периодичностью собранный лог отправляется на сервер. Если передача оказалась неудачной, лог сохраняется в файл %TEMP%log.tmp в формате:
Когда сработает таймер, файл будет передан на сервер.
סקרעענלאָגגער
С заданной периодичностью ВПО создает снимок экрана в формате דזשפּעג מיט טייַטש קוואַליטעט равным 50 и сохраняет его в файл %APPDATA %<Произвольная последовательность из 10 символов>.jpg. После передачи файл удаляется.
קליפּבאָרדלאָגגער
Если установлен соответствующий флаг, в перехваченном тексте производятся замены согласно приведенной таблице.
После этого текст вставляется в лог:
PasswordStealer
ВПО может производить выгрузку паролей из следующих приложений:
בראַוזערז | פּאָסט קלייאַנץ | FTP клиенты |
קראָום | דערוואַרטונג | פילעזיללאַ |
פירעפאָקס | Thunderbird | WS_FTP |
IE/Edge | פאָקסמאַיל | ווינסקפּ |
סאַפאַרי | אָפּעראַ מעיל | CoreFTP |
אָפּעראַ בראַוזער | ינקרעדימאַיל | FTP Navigator |
יאַנדעקס | Pocomail | פלאַשפקספּ |
קאָמאָדאָ | עודאָראַ | סמאַרטפטפּ |
ChromePlus | TheBat | FTPCommander |
טשראָמיום | פּאָסטבאָקס | |
שטורקאַץ | ClawsMail | |
קסנומקססטאַר | ||
אַמיגאָ | ||
BraveSoftware | Jabber клиенты | VPN клиенты |
CentBrowser | Psi/Psi+ | עפֿענען VPN |
Chedot | ||
קאָקקאָק | ||
Elements Browser | אראפקאפיע מאַנאַדזשערז | |
עפּאָס פּריוואַטקייט בראַוזער | אינטערנעט דאַונלאָוד מאַנאַגער | |
קאָמעט | דזשדאָוונלאָאַדער | |
אָרביטום | ||
ספּוטניק | ||
uCozMedia | ||
וויוואַלדי | ||
SeaMonkey | ||
Flock Browser | ||
וק בראַוזער | ||
בלאַקכאַווק | ||
CyberFox | ||
ק-מעלאָן | ||
אייז קאַץ | ||
אייזדראַגאָן | ||
פּאַלעמאָאָן | ||
WaterFox | ||
פאַלקאָן בראַוזער |
קאָונטעראַקשאַן צו דינאַמיש אַנאַליסיס
- Использование функции שלאָפן. Позволяет обойти по таймауту некоторые песочницы
- Уничтожение потока זאָנע.ידענטיפיער. Позволяет скрыть факт загрузки файла из интернета
- אין פּאַראַמעטער %filter_list% задается список процессов, которые ВПО будет завершать с интервалом в одну секунду
- Disconnecting UAС
- Отключение менеджера задач
- Disconnecting קמד
- Отключение окна "לויפן"
- Отключение панели управления
- Отключение инструмента רעגעדיט
- Отключение точек восстановления системы
- Отключение контекстного меню в проводнике
- Disconnecting MSCONFIG
- בייפּאַס UAC:
Неактивные возможности основного модуля
В ходе анализа основного модуля были выявлены функции, отвечающие за распространение по сети и отслеживание положения мыши.
וואָרעם
В отдельном потоке отслеживаются события подключения съемных носителей. При подключении в корень файловой системы копируется ВПО с именем 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%{Произвольное имя папки}{Имя файла} | Путь, используемый загрузчиком для закрепления в системе |
אַטאַקער פּראָפיל
Благодаря «зашитым» данным аутентификации нам удалось получить доступ к командному центру.
Это позволило нам выявить конечную почту злоумышленников:
junaid[.]in***@gmail[.]com.
Доменное имя командного центра зарегистрировано на почту sg***@gmail[.]com.
סאָף
В ходе детального анализа ВПО, использовавшегося в атаке, нам удалось установить его функциональные возможности и получить наиболее полный список индикаторов компрометации, актуальных для данного кейса. Понимание механизмов сетевого взаимодействия малвари позволило дать рекомендации по корректировке работы средств защиты информации, а также написать устойчивые IDS-правила.
Основная опасность אַגענט טעסלאַ как DataStealer в том, что для выполнения своих задач ему не требуется производить закрепление в системе или ожидать получения управляющей команды. Попадая на машину, он немедленно начинает сбор приватной информации и передает ее на CnC. Такое агрессивное поведение в некотором роде схоже с поведением шифровальщиков, с той лишь разницей, что вторым не требуется даже наличие сетевого соединения. При столкновении с этим семейством после очистки зараженной системы от самого ВПО следует в обязательном порядке произвести смену всех паролей, которые могли хотя бы теоретически оказаться сохраненными в одном из перечисленных выше приложений.
Забегая вперед, скажем, что злоумышленники, рассылающие אַגענט טעסלאַ, очень часто меняют первоначальный загрузчик. Это позволяет в момент атаки оставаться незамеченными для статических сканеров и эвристических анализаторов. А склонность этого семейства сразу же начинать свою деятельность делает бесполезными системные мониторы. Наилучший способ борьбы с AgentTesla — предварительный анализ в песочнице.
В третьей статье этого цикла мы рассмотрим другие загрузчики, используемые אַגענט טעסלאַ, а также изучим процесс их полуавтоматической распаковки. Не пропустите!
האַש
שאַקסנומקס |
A8C2765B3D655BA23886D663D22BDD8EF6E8E894 |
8010CC2AF398F9F951555F7D481CE13DF60BBECF |
79B445DE923C92BF378B19D12A309C0E9C5851BF |
15839B7AB0417FA35F2858722F0BD47BDF840D62 |
1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD |
C&C
URL |
sina-c0m[.]icu |
smtp[.]sina-c0m[.]icu |
RegKey
רעגיסטרי |
HKCUSoftwareMicrosoftWindowsCurrentVersionRun{Имя скрипта} |
HKCUSoftwareMicrosoftWindowsCurrentVersionRun%insregname% |
HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun%insregname% |
מוטעקס
Индикаторы отсутствуют.
טעקעס
Файловая активность |
%Temp%temp.tmp |
%startupfolder%%insfolder%%insname% |
%Temp%tmpG{Текущее время в милесекундах}.tmp |
%Temp%log.tmp |
%AppData%{Произвольная последовательность из 10 симоволов}.jpeg |
C:UsersPublic{Произвольная последовательность из 10 симоволов}.vbs |
%Temp%{Произвольное имя папки}{Имя файла} |
Samples Info
נאָמען | ומבאַקאַנט |
מדקסנומקס | F7722DD8660B261EA13B710062B59C43 |
שאַקסנומקס | 15839B7AB0417FA35F2858722F0BD47BDF840D62 |
שאַקסנומקס | 41DC0D5459F25E2FDCF8797948A7B315D3CB0753 98D808D1772CACCC726AF6E9 |
טיפּ | PE (.NET) |
גרייס | 327680 |
אָריגינעל נאָמען | AZZRIDKGGSLTYFUBCCRRCUMRKTOXFVPDKGAGPUZI_20190701133545943.exe |
DateStamp | 01.07.2019 |
קאַמפּיילער | VB.NET |
נאָמען | IELibrary.dll |
מדקסנומקס | BFB160A89F4A607A60464631ED3ED9FD |
שאַקסנומקס | 1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD |
שאַקסנומקס | D55800A825792F55999ABDAD199DFA54F3184417 215A298910F2C12CD9CC31EE |
טיפּ | PE (.NET DLL) |
גרייס | 16896 |
אָריגינעל נאָמען | IELibrary.dll |
DateStamp | 11.10.2016 |
קאַמפּיילער | Microsoft Linker(48.0*) |
מקור: www.habr.com