Мы продолжаем серию статей, посвященных анализу вредоносного программного обеспечения. В
एजेन्ट टेस्ला एक वैध कीलोगर उत्पादनको आडमा मालवेयर-एज-ए-सर्भिस मोडेल प्रयोग गरेर वितरित एक मोड्युलर जासूसी सफ्टवेयर हो। एजेन्ट टेस्ला ब्राउजरहरू, इमेल क्लाइन्टहरू र FTP क्लाइन्टहरूबाट सर्भरमा आक्रमणकर्ताहरूलाई प्रयोगकर्ता प्रमाणहरू निकाल्न र प्रसारण गर्न, क्लिपबोर्ड डेटा रेकर्ड गर्न, र यन्त्र स्क्रिन क्याप्चर गर्न सक्षम छ। विश्लेषणको समयमा, विकासकर्ताहरूको आधिकारिक वेबसाइट अनुपलब्ध थियो।
कन्फिगरेसन फाइल
В таблице ниже перечислено, какие функциональные возможности применяются в используемом сэмпле:
विवरण | मूल्य |
Флаг использования 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, установка флага персиста для основного модуля приводит к довольно интересным последствиям. Вместо того, чтобы скопировать само себя, ВПО закрепило в системе оригинальный файл RegAsm.exe, в процесс которого осуществлялся инжект.
C&C सँग अन्तरक्रिया
जुनसुकै विधि प्रयोग गरे पनि, नेटवर्क सञ्चार स्रोतको प्रयोग गरेर पीडितको बाह्य आईपी प्राप्त गरेर सुरु हुन्छ।
Далее описаны методы сетевого взаимодействия, представленные в ВПО.
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}
परिमिति प्रकार указывает на тип сообщения:
hwid — записывается 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. Содержимое файла не шифруется.
एन्क्रिप्शन एल्गोरिदम
В данном кейсе используются следующие методы шифрования:
1 विधि
Этот метод используется для шифрования строк в основном модуле. Для шифрования применяется алгоритм एईएस.
На вход подается шестизначное десятичное число. Над ним производится следующее преобразование:
f(x) = (((x >> 2 — 31059) ^ 6380) — 1363) >> 3
Полученное значение является индексом для вшитого массива данных.
Каждый элемент массива — последовательность DWORD. При объединении DWORD получается массив байтов: первые 32 байта — ключ шифрования, далее следуют 16 байтов вектора инициализации, а оставшиеся байты — зашифрованные данные.
2 विधि
Используется алгоритм 3DES मोडमा ECB с дополнением в целых байтах (PKCS7).
Ключ задается параметром %urlkey%, однако при шифровании используется его MD5-хеш.
खराब कार्यक्षमता
Изучаемый сэмпл использует следующие программы для реализации своей вредоносной функции:
कीलोगर
При наличии соответствующего флага ВПО при помощи WinAPI-функции SetWindowsHookEx назначает свой обработчик для событий нажатия клавиш на клавиатуре. Функция обработчика начинается с получения заголовка активного окна.
Если установлен флаг выполнения фильтрации приложений, производится фильтрация в зависимости от заданного типа:
- имя программы ищется в заголовках окна
- имя программы ищется в имени процесса окна
Далее в лог добавляется запись с информацией об активном окне в формате:
Затем записывается информация о нажатой клавише:
कुञ्जी | रेकर्डिंग |
ब्याकस्पेस | В зависимости от флага обработки клавиши Backspace: False – {BACK} True – стирание предыдущей клавиши |
क्यापस्लक | {CAPSLOCK} |
ESC | {ESC} |
पृष्ठ माथि | {PageUp} |
तल | ↓ |
मेटाउन | {DEL} |
" | " |
F5 | {F5} |
& | र |
F10 | {F10} |
TAB | {TAB} |
< | < |
> | > |
स्पेस | |
F8 | {F8} |
F12 | {F12} |
F9 | {F9} |
ALT + ट्याब | {ALT+TAB} |
अन्त | {END} |
F4 | {F4} |
F2 | {F2} |
CTRL | {CTRL} |
F6 | {F6} |
ठिक | → |
Up | ↑ |
F1 | {F1} |
बाँकी | ← |
पेजडाउन | {PageDown} |
सम्मिलित | {Insert} |
जीत | {Win} |
संख्या | {NumLock} |
F11 | {F11} |
F3 | {F3} |
घर | {HOME} |
ENTER | {ENTER} |
ALT + F4 | {ALT+F4} |
F7 | {F7} |
Другая клавиша | Символ в верхнем или нижнем регистре в зависимости от положений клавиш CapsLock и Shift |
С заданной периодичностью собранный лог отправляется на сервер. Если передача оказалась неудачной, лог сохраняется в файл %TEMP%log.tmp в формате:
Когда сработает таймер, файл будет передан на сервер.
ScreenLogger
С заданной периодичностью ВПО создает снимок экрана в формате JPEG अर्थ संग गुणस्तर равным 50 и сохраняет его в файл %APPDATA %<Произвольная последовательность из 10 символов>.jpg. После передачи файл удаляется.
क्लिपबोर्डलगर
Если установлен соответствующий флаг, в перехваченном тексте производятся замены согласно приведенной таблице.
После этого текст вставляется в лог:
पासवर्ड चोर्ने
ВПО может производить выгрузку паролей из следующих приложений:
ब्राउजरहरू | मेल क्लाइन्टहरू | FTP клиенты |
क्रोम | आउटलुक | FileZilla |
फायरफक्स | थन्डरबर्ड | WS_FTP |
IE/Edge | फक्समेल | WinSCP |
सफारी | ओपेरा मेल | CoreFTP |
ओपेरा ब्राउजर | IncrediMail | FTP Navigator |
Yandex | Pocomail | FlashFXP |
Comodo | युडोरा | SmartFTP |
ChromePlus | TheBat | FTPCommander |
क्रोमियम | पोष्टबक्स | |
मशाल | ClawsMail | |
7Star | ||
मित्र | ||
BraveSoftware | Jabber клиенты | VPN клиенты |
CentBrowser | Psi/Psi+ | VPN खोल्नुहोस् |
चेडोट | ||
CocCoc | ||
Elements Browser | प्रबन्धकहरू डाउनलोड गर्नुहोस् | |
एपिक गोपनीयता ब्राउजर | इन्टरनेट डाउनलोड प्रबन्धक | |
कोमेटा | JDownloader | |
अर्बिटम | ||
Sputnik | ||
uCozMedia | ||
Vivaldi | ||
SeaMonkey | ||
Flock Browser | ||
UC ब्राउजर | ||
कालो बाज | ||
CyberFox | ||
के-मेलियोन | ||
आइसट्याक | ||
आइसड्रागन | ||
पालेमुन | ||
वाटरफक्स | ||
फाल्कन ब्राउजर |
गतिशील विश्लेषण को प्रतिवाद
- Использование функции सो. Позволяет обойти по таймауту некоторые песочницы
- Уничтожение потока जोन.इन्टिफायर. Позволяет скрыть факт загрузки файла из интернета
- प्यारामिटर मा %filter_list% задается список процессов, которые ВПО будет завершать с интервалом в одну секунду
- विच्छेदन गर्दै UAС
- Отключение менеджера задач
- विच्छेदन गर्दै सीएमडी
- Отключение окна Выполнить
- Отключение панели управления
- Отключение инструмента RegEdit
- Отключение точек восстановления системы
- Отключение контекстного меню в проводнике
- विच्छेदन गर्दै 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 — предварительный анализ в песочнице.
В третьей статье этого цикла мы рассмотрим другие загрузчики, используемые एजेन्ट टेस्ला, а также изучим процесс их полуавтоматической распаковки. Не пропустите!
हैश
SHA1 |
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
नाम | अज्ञात |
MD5 | F7722DD8660B261EA13B710062B59C43 |
SHA1 | 15839B7AB0417FA35F2858722F0BD47BDF840D62 |
SHA256 | 41DC0D5459F25E2FDCF8797948A7B315D3CB0753 98D808D1772CACCC726AF6E9 |
प्रकार | PE (.NET) |
आकार | 327680 |
मूल नाम | AZZRIDKGGSLTYFUBCCRRCUMRKTOXFVPDKGAGPUZI_20190701133545943.exe |
मिति स्ट्याम्प | 01.07.2019 |
कम्पाइलर | VB.NET |
नाम | IELibrary.dll |
MD5 | BFB160A89F4A607A60464631ED3ED9FD |
SHA1 | 1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD |
SHA256 | D55800A825792F55999ABDAD199DFA54F3184417 215A298910F2C12CD9CC31EE |
प्रकार | PE (.NET DLL) |
आकार | 16896 |
मूल नाम | IELibrary.dll |
मिति स्ट्याम्प | 11.10.2016 |
कम्पाइलर | Microsoft Linker(48.0*) |
स्रोत: www.habr.com