Исследование

AZORult++: переписывая историю

Троянец AZORult является одним из наиболее популярных стиллеров среди продавцов и покупателей вредоносного ПО на российских форумах. Несмотря на сравнительно высокую цену (100$), покупатели выбирают AZORult за широкие возможности (например, использование доменов .bit в качестве управляющих серверов, которые обеспечивают анонимность владельца и затрудняют блокировку управляющего сервера), а также высокую эффективность. Многие комментаторы советуют именно его:

Но в конце 2018 года основной продавец, известный на форуме под ником CrydBrox, прекратил продажи этого зловреда (пунктуация и орфография автора сохранены):

«Любой софт имеет свой срок жизни. И для AZORult он подошел к концу.
С грустью и радостью объявляю что продажи закрыты навсегда.»

Некоторые комментаторы связывают это с тем, что в широкий доступ попала версия AZORult 3.2, а также исходный код административной панели для управления ботнетом. Эта версия зловреда распространилась по другим форумам, где пользователь может скачать ее и, практически не имея специальных навыков, настроить для использования в своих целях. В связи с этим AZORult предрекали скорый конец из-за отсутствия постоянных обновлений и чересчур широкой распространенности. Но история AZORult, как оказалось, на этом не закончилась.

Краткая справка

AZORult — это троянец-стиллер, способный собирать на зараженном компьютере и отправлять на командный сервер различные данные: историю браузера, логины и пароли, файлы cookie, файлы из указанных в команде управляющего сервера папок (например, все файлы с расширением .txt из папки Desktop), файлы криптокошельков и т. д. Зловред также несет функции загрузчика, то есть может быть использован для загрузки другого вредоносного ПО. Продукты «Лаборатории Касперского» детектируют стиллер как Trojan-PSW.Win32.Azorult. Наша статистика показывает, что с начала 2019 года наибольшее количество атакованных пользователей проживает в России и Индии.

От Delphi к C++

В начале марта 2019 года наше внимание привлекли несколько вредоносных файлов, задетектированных нашими продуктами. Они были похожи на уже известный нам AZORult, но в отличие от оригинального зловреда были написаны не на Delphi, а на C++. О связи между ними недвусмысленно намекает строчка, оставленная разработчиком в коде:

Судя по всему, последователи закрывшего продажи CrydBrox решили переписать AZORult на C++; эту версию мы назвали AZORult++. Наличие строк, содержащих путь к файлам с отладочной информацией, чаще всего говорит о том, что зловред все еще находится в разработке, т. к. разработчики обычно стараются их убрать при первой возможности.

Свою работу AZORult++ начинает с проверки языкового идентификатора с помощью вызова функции GetUserDefaultLangID(). Если AZORult++ запущен на системе, где языковой идентификатор соответствует русскому, армянскому, азербайджанскому, белорусскому, грузинскому, казахскому, таджикскому, туркменскому или узбекскому языкам, то его исполнение прекращается. В оригинальном AZORult 3.3 такая проверка отсутствовала.

Проверка языка системы

При более детальном разборе оказывается, что возможности версии на С++ сильно урезаны по сравнению с последней продававшейся версией AZORult 3.3. В частности, нет функционала загрузчика, не поддерживается кража сохраненных паролей из многих браузеров, поддерживаемых AZORult v3.3. При этом многие характерные признаки версии 3.3 на Delphi присутствуют у AZORult++: алгоритм общения с управляющим сервером и формат команд, структура и способ хранения собранных данных, ключи шифрования и др.

Как и AZORult 3.3, AZORult++ шифрует данные, посылаемые на C&C-сервер, с помощью операции XOR с ключом длиной 3 байта. При этом используемый ключ уже встречался нам в различных модификациях версии 3.3.

Примеры коммуникации AZORult различных версий (данные зашифрованы с помощью XOR)

Украденные данные зловред собирает в оперативной памяти и не записывает на жесткий диск, чтобы обеспечить большую скрытность своих действий. При сравнении данных, отсылаемых в первом пакете (идентификатор зараженного устройства), оказывается, что AZORult++ для идентификации использует более короткую строку, чем AZORult 3.3:

Ответ сервера также содержит намного меньше данных. В версии 3.3 ответ содержал команду вида «++++-+—+-«, означающую конфигурацию для бота, ссылку для скачивания дополнительного вредоносного ПО, а также несколько бинарных файлов, необходимых для работы стиллера. Строка «++++-+—+-» разбирается троянцем посимвольно, «+» в конкретной позиции означает команду на исполнение определенных действий (например, сбор файлов криптокошельков). Текущая версия AZORult++ получает более короткую команду похожего вида:

Отдельно стоит отметить, что получаемая строка конфигурации не обрабатывается корректно, исполнение кода не зависит от значения «+» или «-» в строке, т. к. символы проверяются на равенство \х00. Иначе говоря, получаемая команда никак не влияет на поведение стиллера:

Судя по всему, это ошибка разработчика, что еще раз говорит о том, что проект находится в самом начале разработки. Можно предположить, что в дальнейшем эти баги будут устранены, а функциональность AZORult++ будет расширена.

++ в рукаве

Несмотря на все недоработки, AZORult++ в действительности может быть опаснее своего предшественника благодаря возможности установить удаленное подключение к рабочему столу. Для этого AZORult++ создает пользовательскую учетную запись с помощью функции NetUserAdd() (имя пользователя и пароль заданы в коде AZORult++), а затем добавляет эту учетную запись в группу администраторов:

После этого AZORult++ скрывает созданную запись, устанавливая значение ключа в ветке реестра Software\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\Userlist равное 0. Аналогично путем установки значений ключей реестра разрешается установка RDP-подключения (Remote Desktop Protocol):

«Вишенкой на торте» становится вызов ShellExecuteW() для открытия порта для удаленного подключения к рабочему столу:

После этого зараженный компьютер готов принимать входящее RDP-подключение, что позволяет злоумышленнику, зная IP-адрес жертвы и данные созданной учетной записи, подключиться к зараженному компьютеру и получить полный контроль над ним.

Заключение

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

IoC

C&C-серверы
http://ravor.ac[.]ug
http://daticho.ac[.]ug

MD5
08EB8F2E441C26443EB9ABE5A93CD942
5B26880F80A00397BC379CAF5CADC564
B0EC3E594D20B9D38CC8591BAFF0148B
FE8938F0BAAF90516A90610F6E210484

AZORult++: переписывая историю

Ваш e-mail не будет опубликован. Обязательные поля помечены *

 

Отчеты

StripedFly: двуликий и незаметный

Разбираем фреймворк StripedFly для целевых атак, использовавший собственную версию эксплойта EternalBlue и успешно прикрывавшийся майнером.

Азиатские APT-группировки: тактики, техники и процедуры

Делимся с сообществом подходами, которые используют азиатские APT-группировки при взломе инфраструктуры, и подробной информацией о тактиках, техниках и процедурах (TTPs) злоумышленников, основанной на методологии MITRE ATT&CK.

Как поймать «Триангуляцию»

Эксперты «Лаборатории Касперского» смогли получить все этапы «Операции Триангуляция»: эксплойты нулевого дня для iOS, валидаторы, имплант TriangleDB и дополнительные модули.

Подпишитесь на еженедельную рассылку

Самая актуальная аналитика – в вашем почтовом ящике