Специалисты «Лаборатории Касперского» впервые обнаружили использование в реальных атаках шпионского ПО Dante, созданного итальянской компанией Memento Labs (ранее Hacking Team). Отследить активность малвари удалось благодаря анализу операции «Форумный тролль», нацеленной на сотрудников российских организаций.
Hacking Team — один из старейших производителей шпионского ПО. Компания была основана в 2003 году и занималась разработкой и продажей «легальной» спайвари. Флагманским продуктом Hacking Team было шпионское ПО Remote Control Systems (RCS), которым пользовались государственные органы по всему миру. Спайварь позволяла скачивать файлы с зараженного компьютера, перехватывать письма и сообщения, удаленно управлять веб-камерой и микрофоном.
Однако широкую известность Hacking Team получила в 2015 году, когда стала жертвой взлома, в результате которого в сеть утекло более 400 Гб информации, включая исходный код шпионского софта и внутренние документы компании. В итоге Hacking Team была вынуждена просить клиентов приостановить использование RCS.
В 2019 году Hacking Team купила компания InTheCyber Group, после чего ее переименовали в Memento Labs. Спустя четыре года на конференции правоохранительных органов и служб разведки ISS World MEA 2023 компания заявила о создании нового шпионского ПО — Dante. Однако до сих пор эта малварь не встречалась в реальных атаках, и о ее возможностях было известно мало.
Hacking Team и «Форумный тролль»
Исследователи напоминают, что в марте 2025 года они обнаружили сложную целевую кампанию, получившую название операция «Форумный тролль». В этой APT-атаке использовалась цепочка эксплоитов нулевого дня и 0-day уязвимость в браузере Chrome (CVE-2025-2783).
Тогда злоумышленники рассылали персонализированные фишинговые письма сотрудникам СМИ, государственных, образовательных и финансовых учреждений в России с предложением поучаствовать в научно-экспертном форуме «Примаковские чтения».
Если жертва переходила по ссылке и открывала браузер Chrome, устройство подвергалось заражению. Никаких других действий от пользователя не требовалось, и основной целью этой кампании был кибершпионаж.
Как теперь рассказывают эксперты, в операции «Форумный тролль» использовалась спайварь LeetAgent. Все команды были написаны на Leet (leetspeak), что редко встречается в сложных целевых атаках. Продолжая расследование, специалисты проследили активность LeetAgent до 2022 года и выявили другие атаки той же группы, нацеленные на организации и частных лиц в России и Беларуси.
Изучая арсенал этих злоумышленников, исследователи обнаружили ранее неизвестный вредонос. Вскоре стало понятно, что это не что иное, как коммерческое шпионское ПО Dante, разработанное итальянской компанией Memento Labs.
Dante
Обнаруженная в коде малвари строка «Dante» стала не единственным, на чем основывается атрибуция исследователей. К примеру, было обнаружено указание на название Dante и версию 2.0, что соответствует названию презентации Memento Labs на упомянутой выше конференции.
Также анализ показал, что в Dante и некоторых инструментах, использованных в операции «Форумный тролль», присутствовал похожий код, а значит, эти инструменты тоже были разработаны Memento Labs.
Эксперты пишут, что шпионское ПО упаковано с помощью инструмента VMProtect, который обфусцирует поток управления, скрывает импортированные функции и добавляет проверки на запуск в отладочной среде.
Для защиты от динамического анализа Dante использует следующий прием против хуков: когда необходимо выполнить API-функцию, малварь разрешает ее адрес при помощи хэша, парсит ее код, чтобы извлечь номер системного вызова, а затем создает новую функцию для системного вызова и использует ее.
В дополнение к антиотладочным техникам VMProtect Dante использует распространенные методы обнаружения дебаггеров. В частности, проверяет отладочные регистры (Dr0–Dr7) с помощью функции NtGetContextThread, инспектирует поле KdDebuggerEnabled в структуре KUSER_SHARED_DATA и выявляет отладочные среды посредством функции NtQueryInformationProcess, опрашивая классы ProcessDebugFlags, ProcessDebugPort, ProcessDebugObjectHandle и ProcessTlsInformation.
Для защиты от обнаружения Dante использует интересный метод проверки среды и выяснения, безопасно ли продолжать работу: ищет в логах событий Windows события, которые могут указывать на использование инструментов анализа или виртуальных машин (на уровне хоста или гостя).
Помимо этого, малварь проводит ряд проверок на запуск в песочнице: ищет «плохие» библиотеки, измеряет время выполнения функции sleep() и инструкции cpuid, а также проверяет файловую систему.
После всех проверок Dante расшифровывает конфигурацию и оркестратор, находит в последнем строку «DANTEMARKER», записывает конфигурацию на ее место и запускает оркестратор.
Конфигурация содержится в секции данных и расшифровывается с помощью простого XOR-шифра. Оркестратор находится в секции ресурсов и маскируется под файл шрифтов. Также Dante может загрузить оркестратор из файловой системы, если доступна обновленная версия.
Аналитики отмечают, что качество кода оркестратора соответствует коммерческому продукту, но сам по себе он не представляет интереса. Он отвечает за связь с управляющими серверами по протоколу HTTPS, управление модулями и конфигурацией, самозащиту и самоудаление.
Модули могут сохраняться в файловую систему и загружаться оттуда или же загружаться из памяти. Для вычисления пути к папке с модулями используются части строки, полученной путем кодирования идентификатора инфекции (GUID) в Base64. Таким же способом выводится путь к дополнительным настройкам, сохраненным в реестре.
Для самозащиты оркестратор использует многие из описанных выше техник, а также проверки на наличие определенных имен процесса и драйверов.
Если Dante не получает команд в течение заданного в конфигурации количества дней, малварь удаляет себя и все следы своей активности.
На момент написания отчета специалистам не удалось изучить дополнительные модули, поскольку среди пользователей не было активных заражений Dante.
«Создатели шпионского ПО хорошо известны специалистам по кибербезопасности. Однако вредоносные программы бывает сложно идентифицировать и отнести конкретной группе, особенно в случае целевых атак. Чтобы установить происхождение Dante, нам пришлось разобраться в нескольких слоях запутанного кода, отследить явные признаки его использования в течение нескольких лет и сопоставить с возможными создателями. Похоже, разработчики зловреда не просто так выбрали название Dante, поскольку тому, кто пытается разобраться в его происхождении, предстоит нелегкий путь», — комментирует Борис Ларин, ведущий эксперт Kaspersky GReAT.






