Исследователи обнаружили шифровальщик, написанный на языке PureBasic, атакующий серверы под управлением Windows и Linux. Анализ кода заставил предположить, что этот шифровальщик ранее был простым бэкдором.
Редкий язык, нетипичный шифровальщик
Эксперты компании Intzer и подразделения IBM X-Force IRIS team опубликовали анализ нового шифровальщика PureLocker, характеризующегося целым рядом нетипичных для программ подобного рода особенностей. Шифровальщик атакует прежде всего корпоративные серверы под управлением Windows и Linux.
Обращает на себя внимание язык программирования, на котором он написан, — PureBasic. Это далеко не самый распространённый язык программирования; с другой стороны он, во-первых, кросс-платформенный, во-вторых, как ни странно, многие антивирусы с трудом справляются с написанными на нём программами.
«Необычный выбор обеспечивает злоумышленникам ряд преимуществ, — пишут исследователи. — Вендоры антивирусных продуктов с трудом справляются с генерацией надёжных сигнатур для бинарных файлов PureBasic. Вдобавок, код PureBasic легко портируется на Windows, Linux, OS X, что упрощает атаки на различные платформы».
Шифровальщик, написанный на языке PureBasic, атакует серверы под управлением Linux и Windows
К нетипичным для шифровальщикам особенностям исследователи отнесли также его механизмы противодействия обнаружению.
Например, этот вредонос пытается избежать перехвата функций API функций NTDLL посредством скачивания другой копии ntdll.dll и разрешения API-адресов из неё. Перехват API позволяет антивирусным системам видеть, что именно делает каждая функция, которую вызывает программа, когда и с какими параметрами.
Исследователи отметили, что это распространённая методика ухода от обнаружения, но шифровальщики ей пользуются весьма редко.
Кроме того, вредонос вызывает утилиту Windows regsrv32.exe для «тихой» установки библиотечного компонента PureLocker — никаких диалоговых окон пользователю не выводится.
Позднее шифровальщик проверяет, что действительно был произведён запуск regsrv32.exe, что файловое расширение — .dll Или .ocx; кроме того, он проверяет, установлен ли на машине 2019 год и наличие административных прав у жертвы. Если хоть одно условие не выполнено, вредонос деактивируется и не производит никаких действий.
Скрытность 120 уровня
По мнению экспертов, такое поведение нетипично для шифровальщиков, которые обычно не проявляют особой избирательности; наоборот, они стремятся заразить как можно больше машин.
Если же шифровальщика «всё устраивает», он начинает зашифровывать файлы на машине жертвы, используя комбинацию алгоритмов AES+RSA, используя вшитый в него RSA-ключ. Все зашифрованные файлы снабжаются расширением .CR1, а оригинальные файлы уничтожаются. Оставив сообщение с требованием выкупа, файл шифровальщика самоуничтожается.
Здесь ещё одна неожиданность: в сообщении от злоумышленников сумма выкупа не называется. Каждой жертве предлагается написать на уникальный адрес в сервисе защищённой почты Proton — с целью переговоров.
Эксперты считают, что PureLocker — это лишь один этап комплексной цепочки заражения.
При анализе кода исследователи обнаружили в коде PureLocker заимствования из кода бэкдора more_eggs, который в даркнете предлагается в формате MaaS (вредонос-как-услуга). Им активно пользуются финансовые киберкриминальные группировки Cobalt Group и FIN6.
Заимствования в коде, указывающие на связь с Cobalt Group, относятся к конкретному компоненту, которым Cobalt пользуются при своих многоступенчатых атаках, — DLL-дропперу, используемому для защиты от обнаружения и анализа. Эксперты считают, что разработчик more_eggs добавил новый набор вредоносных программ к арсеналу, который предлагается другим киберпреступным группировкам, снабдив прежний бэкдор функциональностью шифровальщика.
«Решение это не лишено даже некоторого изящества, — считает Анастасия Мельникова, эксперт по информационной безопасности компании SEC Consult Services. — Проще добавить «неожиданную» функцию к уже существующему набору и сделать вредонос ещё более опасным, чем писать с нуля шифровальщик узконаправленного действия, который умеет противиться обнаружению и анализу. Для потенциальных жертв, однако, это «изящество» сулит только ещё большие неприятности, чем раньше. Функция шифровальщика, по-видимому, предназначена буквально для добивания жертвы, которую злоумышленники успевают ограбить ранее с помощью других своих программ».