sha1:
- 231ebce457fb9c1ea23678e25b3b62b942febb7d (cef2.exe)
Описание
Троянская программа, написанная на языке программирования C++ и работающая в операционных системах семейства Microsoft Windows. Она скачивает и запускает на целевых компьютерах вредоносный скрипт-загрузчик Python.Downloader.208.
Принцип действия
При запуске Trojan.DownLoader48.54600 удаляет все файлы в каталоге %TEMP% и проверяет, что запущен из директории AppData.
Далее динамически загружает библиотеку API Windows wininet.dll и через функцию GetProcAddress получает адреса API-функций InternetOpenW, InternetOpenUrlW, InternetReadFile и InternetCloseHandle.
Динамическое получение адресов API-функций
На следующем шаге выполняется попытка создания директории для размещения полезной нагрузки из загружаемого архива python3.zip, а также инициализация ключевых строк \\python3[.]zip, \\svpy[.]exe и \\maintaindown[.]py для подготовки полезной нагрузки к запуску после извлечения.
Создание каталога и инициализация строк
В функции create_dir Trojan.DownLoader48.54600 пытается получить путь до директории %LOCALAPPDATA% через функцию SHGetKnownFolderPath и параметр FOLDERID_LocalAppData.
В случае успеха он создает новую директорию в %LOCALAPPDATA%. Ее имя формируется на основе случайного числа, конкатенированного с префиксом t.
Если ему не удается получить путь до каталога %LOCALAPPDATA% через функцию SHGetKnownFolderPath, то дальнейшая работа будет выполняться в директории C:\Users\Public\Temp.
В режиме реального времени Trojan.DownLoader48.54600 расшифровывает адрес для загрузки архива: hxxps[:]//down[.]temp-xy[.]com/update/python3[.]zip. Для расшифровки используется самодельный XOR с константой 0xA.
Расшифровка URL для скачивания целевого архива
Троян предпринимает 4 попытки загрузить целевой файл, при этом каждый раз он с неустановленной целью пытается найти процессы приложений CrowdStrike и SentinelOne.
Поиск процессов CrowdStrike и SentinelOne
Непосредственно перед загрузкой файла Trojan.DownLoader48.54600 пытается определить, запущен ли он в искусственной среде. Для этого он проверяет наличие нужного объема оперативной памяти (должно быть не менее 2 ГБ), измеряет время выполнения функции Sleep, пытаясь обнаружить ускорения, характерные для отладочных сред, а также проверяет количество записей в системном журнале событий (должно быть не менее 120). Если троян обнаруживает один из признаков отладочной среды, он удаляет все файлы в каталоге %TEMP% и завершает работу.
Проверки среды выполнения перед скачиванием целевого архива
Если антиотладочная проверка проходит успешно, Trojan.DownLoader48.54600 на основе класса Random_device и нестандартного хеширования случайным образом выбирает один из двух возможных user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 или Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0.
Случайный выбор user-agent
Далее по расшифрованному ранее адресу скачивает с C2-сервера целевой архив. Его содержимое распаковывается через PowerShell-команду Expand-Archive, после чего архив удаляется.
Распаковка архива через PowerShell
Извлекаемый из архива файл maintaindown[.]py является Python-скриптом, представляющим собой вредоносный загрузчик Python.Downloader.208. Trojan.DownLoader48.54600 запускает этот скрипт, используя функцию CreateProcessW.
Запуск вредоносного Python-скрипта, извлеченного из архива
В конце Trojan.DownLoader48.54600 создает файл tmp.bat, через который удаляются все связанные с трояном файлы.
Подробнее о Python.Downloader.208