AZORult – известный троян-стилер, который также может служить загрузчиком для других вредоносов. AZORult способен похищать самые разные пользовательские данные: информацию из файлов, пароли, куки, историю браузеров, банковские учетные данные и информацию о криптовалютных кошельках.
Еще в конце 2018 года основной продавец AZORult, известный под ником CrydBrox, прекратил продажи этого вредоноса, сообщив, что «любой софт имеет свой срок жизни». Вероятно, это связано с тем, что ранее в широкий доступ попала версия AZORult 3.2, а также исходный код административной панели для управления ботнетом. Эта версия малвари активно распространилась на хакерских форумах, где пользователь мог скачать ее и, практически не имея специальных навыков, настроить для использования в своих целях.
Однако специалисты «Лаборатории Касперского» пишут, что на этом история AZORult определенно не закончилась. В начале марта 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++ шифрует данные, передаваемые на управляющий сервер, с помощью операции XOR с ключом длиной 3 байта. При этом используемый ключ уже встречался в различных модификациях версии 3.3.
Украденные данные троян собирает в оперативной памяти устройства, а не записывает на жесткий диск, чтобы обеспечить большую скрытность своих действий. При сравнении данных, отсылаемых в первом пакете (идентификатор зараженного устройства), оказывается, что AZORult++ для идентификации использует более короткую строку, чем AZORult 3.3. Исследователи отмечают, что ответ сервера также содержит намного меньше данных.
Аналитики предупреждают, что несмотря на все недоработки, AZORult++ может быть джае опаснее своего предшественника благодаря возможности устанавливать удаленное подключение к рабочему столу. Для этого троян создает пользовательскую учетную запись с помощью функции NetUserAdd() (имя пользователя и пароль заданы в коде AZORult++), а затем добавляет эту учетную запись в группу администраторов.
После AZORult++ скрывает созданную запись, устанавливая значение ключа в ветке реестра Software\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\Userlist равное 0. Аналогично путем установки значений ключей реестра разрешается установка RDP-подключения (Remote Desktop Protocol). «Вишенкой на торте» становится вызов ShellExecuteW() для открытия порта для удаленного подключения к рабочему столу.
После этого зараженный компьютер готов принимать входящее RDP-подключение, что позволяет злоумышленнику, зная IP-адрес жертвы и данные созданной учетной записи, подключиться к зараженному компьютеру и получить полный контроль над ним.
Эксперты резюмируют, что хотя AZORult++ еще находится в разработке, можно ожидать расширения функциональности и исправления ошибок, а также попыток широкого распространения малвари под известным для покупателей именем.