ಮತದಾನ ವಿಫಲವಾಗಿದೆ: ಶುದ್ಧ ನೀರಿಗೆ ಏಜೆಂಟ್ ಟೆಸ್ಲಾವನ್ನು ಒಡ್ಡೋಣ. ಭಾಗ 1
Недавно в Group-IB обратилась европейская компания-производитель электромонтажного оборудования — ее сотрудник получил по почте подозрительное письмо с вредоносным вложением. ಇಲ್ಯಾ ಪೊಮೆರಂಟ್ಸೆವ್, специалист по анализу вредоносного кода CERT Group-IB, провел детальный анализ этого файла, обнаружил там шпионскую программу AgentTesla и рассказал, чего ждать от подобного ВПО и чем оно опасно.
Этим постом мы открываем серию статей о том, как проводить анализ подобных потенциально опасных файлов, а самых любопытных ждем 5 декабря на бесплатный интерактивный вебинар по теме «Анализ вредоносного ПО: разбор реальных кейсов». Все подробности — под катом.
Механизм распространения
Нам известно, что вредоносное ПО попало на машину жертвы через фишинговые письма. Получатель письма был, вероятно, поставлен в скрытую копию.
Анализ заголовков показывает, что отправитель письма был подделан. В действительности письмо ушло с vps56[.]oneworldhosting[.]com.
В аттаче письма находится архив WinRar qoute_jpeg56a.r15 с вредоносным исполняемым файлом QOUTE_JPEG56A.exe ಒಳಗೆ.
ಮಾಲ್ವೇರ್ ಪರಿಸರ ವ್ಯವಸ್ಥೆ
Теперь посмотрим, как выглядит экосистема исследуемого вредоносного ПО. На схеме ниже изображена его структура и направления взаимодействия компонентов.
Теперь рассмотрим каждый из компонентов ВПО подробнее.
ಲೋಡರ್
Исходный файл QOUTE_JPEG56A.exe представляет собой откомпилированный AutoIt v3 скрипт.
Для обфускации исходного скрипта использовался обфускатор с аналогичными PELock AutoIT-Obfuscator характеристиками.
Деобфускация производится в три этапа:
Снятие обфускации For-If
Первым делом необходимо восстановить поток управления скрипта. Запутывание потока управления (Control Flow Flattening) — один из наиболее распространенных способов защиты бинарного кода приложений от анализа. Запутывающие преобразования резко увеличивают трудоемкость выделения и распознавания алгоритмов и структур данных.
Восстановление строк
Для шифрования строк используются две функции:
gdorizabegkvfca — выполняет Base64-подобное декодирование
xgacyukcyzxz — простой побайтовый XOR первой строки с длиной второй
Снятие обфускации BinaryToString и ಕಾರ್ಯಗತಗೊಳಿಸಿ
Основная нагрузка хранится в разделенном виде в директории ಫಾಂಟ್ಗಳು секции ресурсов файла.
Для дешифровки извлеченных данных используется WinAPI-функция CryptDecrypt, а в качестве ключа применяется сессионный ключ, сгенерированный на основе значения fZgFiZlJDxvuWatFRgRXZqmNCIyQgMYc.
Дешифрованный исполняемый файл поступает на вход функции ರನ್ಪಿಇ, которая осуществляет ProcessInject в RegAsm.exe при помощи встроенного ಶೆಲ್ಕೋಡ್ (ಎಂದೂ ಕರೆಯಲಾಗುತ್ತದೆ RunPE ShellCode). Авторство принадлежит пользователю испанского форума indetectables[.]net под ником Wardow.
Стоит также отметить, что в одной из веток этого форума обсуждался обфускатор для ಛಾವಣಿಯ ಮೇಲೆ с аналогичными выявленным в процессе анализа сэмпла свойствами.
ಸ್ವತಃ ಶೆಲ್ಕೋಡ್ довольно прост и привлекает к себе внимание лишь позаимствованной у хакерской группы AnunakCarbanak. функцией хеширования API-вызовов.
Нам также известны случаи использования Frenchy Shellcode различных версий.
Помимо описанного функционала мы также выявили неактивные функции:
Блокировка ручного завершения процесса в менеджере задач
Перезапуск дочернего процесса в случае его завершения
ಬೈಪಾಸ್ UAC
Сохранение полезной нагрузки в файл
Демонстрация модальных окон
Ожидание смены позиции курсора мыши
AntiVM и AntiSandbox
ಸ್ವಯಂ ನಾಶ
Выкачивание полезной нагрузки из сети
Нам известно, что такой функционал характерен для протектора CypherIT, которым, судя по всему, и является исследуемый загрузчик.
Основной модуль ВПО
Далее кратко опишем основной модуль ВПО, а более подробно рассмотрим его во второй статье. В данном случае он представляет собой приложение на ನೆಟ್.
В ходе анализа мы выявили, что использовался обфускатор ConfuserEX.
IELibrary.dll
Библиотека хранится в виде ресурса основного модуля и является известным плагином для ಏಜೆಂಟ್ ಟೆಸ್ಲಾ, который предоставляет функционал для извлечения различной информации из браузеров Internet Explorer и Edge.
ಏಜೆಂಟ್ ಟೆಸ್ಲಾ ಒಂದು ಮಾಡ್ಯುಲರ್ ಬೇಹುಗಾರಿಕೆ ಸಾಫ್ಟ್ವೇರ್ ಆಗಿದ್ದು, ಮಾಲ್ವೇರ್-ಆಸ್-ಎ-ಸರ್ವೀಸ್ ಮಾದರಿಯನ್ನು ಕಾನೂನುಬದ್ಧ ಕೀಲಾಗರ್ ಉತ್ಪನ್ನದ ಸೋಗಿನಲ್ಲಿ ವಿತರಿಸಲಾಗುತ್ತದೆ. ಏಜೆಂಟ್ ಟೆಸ್ಲಾ ಬ್ರೌಸರ್ಗಳು, ಇಮೇಲ್ ಕ್ಲೈಂಟ್ಗಳು ಮತ್ತು ಎಫ್ಟಿಪಿ ಕ್ಲೈಂಟ್ಗಳಿಂದ ಬಳಕೆದಾರರ ರುಜುವಾತುಗಳನ್ನು ಸರ್ವರ್ಗೆ ದಾಳಿಕೋರರಿಗೆ ಹೊರತೆಗೆಯಲು ಮತ್ತು ರವಾನಿಸಲು, ಕ್ಲಿಪ್ಬೋರ್ಡ್ ಡೇಟಾವನ್ನು ರೆಕಾರ್ಡ್ ಮಾಡಲು ಮತ್ತು ಸಾಧನದ ಪರದೆಯನ್ನು ಸೆರೆಹಿಡಿಯಲು ಸಮರ್ಥವಾಗಿದೆ. ವಿಶ್ಲೇಷಣೆಯ ಸಮಯದಲ್ಲಿ, ಡೆವಲಪರ್ಗಳ ಅಧಿಕೃತ ವೆಬ್ಸೈಟ್ ಲಭ್ಯವಿಲ್ಲ.
Точкой входа служит функция GetSavedPasswords класса InternetExplorer.
В целом, исполнение кода линейно и не содержит средств защиты от анализа. Внимания заслуживает лишь нереализованная функция GetSavedCookies. Видимо, функционал плагина предполагалось расширить, но это так и не было сделано.
Закрепление загрузчика в системе
Изучим, каким образом загрузчик закрепляется в системе. Исследуемый экземпляр не осуществляет закрепления, однако в аналогичных событиях оно происходит по следующей схеме:
ಫೋಲ್ಡರ್ನಲ್ಲಿ С:UsersPublic создается скрипт ವಿಷುಯಲ್ ಬೇಸಿಕ್
ಸ್ಕ್ರಿಪ್ಟ್ ಉದಾಹರಣೆ:
Содержимое файла загрузчика дополняется нулевым символом и сохраняется в папку %Temp%<Произвольное имя папки><Имя файла>
В реестре создается ключ на автозапуск для файла скрипта HKCUSoftwareMicrosoftWindowsCurrentVersionRun<Имя скрипта>
Итак, по результатам первой части анализа нам удалось установить названия семейств всех компонентов изучаемого ВПО, разобрать схему заражения, а также получить объекты для написания сигнатур. Мы продолжим разбор этого объекта в следующей статье, где более детально рассмотрим основной модуль ಏಜೆಂಟ್ ಟೆಸ್ಲಾ. Не пропустите!
Кстати, 5 декабря приглашаем всех читателей на бесплатный интерактивный вебинар по теме «Анализ вредоносного ПО: разбор реальных кейсов», где автор этой статьи, специалист CERT-GIB, в онлайн-режиме покажет первый этап анализа ВПО — полуавтоматическую распаковку сэмплов на примере трех реальных мини-кейсов из практики, а вы сможете принять участие в анализе. Вебинар подойдет специалистам, которые уже имели опыт анализа вредоносных файлов. Регистрация строго с корпоративной почты: ನೋಂದಣಿ. Ждем вас!