Недавно обнаруженный вредоносный имплант и стилер для macOS, написанный на языке Rust, использует промпт-инъекции для защиты от обнаружения. Его главная цель – запутать инструменты на основе искусственного интеллекта, которые применяются для анализа угроз, и заставить их прервать проверку подозрительного файла.
Вредоносная программа получила название Gaslight из-за своего обманного поведения. Эксперты с высокой долей уверенности предполагают, что за её созданием стоят хакеры, связанные с Северной Кореей.
Как отмечает исследователь SentinelOne Фил Стоукс в своём техническом отчёте, ключевая особенность вируса – встроенный каскад сфабрикованных сообщений о системных сбоях.
«Он атакует восприятие самого ИИ-агента, заставляя его сомневаться в собственной сессии, а не ту песочницу, в которой он запущен», – подчёркивает Стоукс.
В основе архитектуры Gaslight лежит канал управления и контроля (C2), работающий через API Telegram-ботов. Он использует цикл опроса, позволяя оператору отдавать команды через интерактивную оболочку и мгновенно получать результаты. Если два экземпляра одного и того же токена бота запускаются одновременно, система выдаёт ошибку конфликта, завершая работу второй копии.
Оболочка поддерживает шесть основных команд для управления заражённой системой:
- Help – вывод справки.
- Id – идентификация импланта для оператора.
- Shell – выполнение команд через функцию execvp.
- Kill – завершение целевого процесса по его PID.
- Upload – кража файлов через механизм Telegram attach://.
- Stop – остановка работы импланта.
Аналитики SentinelOne также обнаружили признаки седьмой команды под названием focus, однако её точная функциональность пока остаётся неизвестной. Для обеспечения постоянного присутствия в системе Gaslight использует компонент LaunchAgent с меткой com.apple.system.services.activity в конфигурационном файле .plist.
В код вируса также встроен зашифрованный в формате Base64 Python-скрипт объёмом 6,6 КБ. Это комплексный инструмент для сбора данных: он извлекает историю команд в «Терминале», списки установленных приложений, снимки активных процессов, аппаратные и программные профили системы, базу данных macOS Keychain, а также информацию из браузеров Chrome, Brave, Firefox и Safari. Собранные данные архивируются в ZIP-файл и отправляются злоумышленникам через Telegram.
Сам Python-стилер разворачивается с помощью отдельного bash-установщика объёмом 2 КБ, который загружает интерпретатор cpython-3.10.18. Обилие эмодзи и развёрнутых комментариев в коде указывает на то, что этот скрипт, скорее всего, был сгенерирован с помощью большой языковой модели (LLM).
Примечательная деталь Gaslight заключается в том, что токен бота, идентификатор чата (tg_room_id) и другие настройки не зашиты в исходный код, а передаются во время выполнения. Более того, имплант самостоятельно вычищает свой Telegram-токен из логов, не позволяя перехватить его при анализе отчётов об ошибках.
Чтобы обойти системы обнаружения на базе ИИ, вредонос использует блок разметки Markdown, содержащий 38 фейковых системных сообщений. Этот «каркас» генерирует ложные уведомления об истечении срока действия токенов, нехватке памяти и места на диске, а также об ошибках операций и уязвимостях, заставляя ИИ-аналитика прекратить работу.
В SentinelOne подчёркивают, что это целенаправленная попытка использовать против самих же безопасников инструменты на базе LLM, которые всё чаще применяются в автоматизированных конвейерах реверс-инжиниринга.