ChatGPT за короткое время превратился в один из самых узнаваемых технологических брендов в мире. Именно это делает его идеальной приманкой для киберпреступников. Злоумышленники постоянно подделывают популярное программное обеспечение, а растущая популярность инструментов искусственного интеллекта создаёт новые возможности для распространения вредоносных программ под видом легитимных загрузок.
Описание
Специалисты центра мониторинга и реагирования (SOC) компании Evalian недавно столкнулись с показательной кампанией. Они обнаружили поддельный веб-сайт OpenAI, который продвигался через платные объявления в поисковых системах. Этот сайт доставлял вредоносное ПО, предназначенное для двух платформ - Windows и macOS. Чтобы обойти защиту, авторы кампании применили целый арсенал методов: проверку CAPTCHA, обфускацию JavaScript (запутывание исходного кода, делающее его нечитаемым для анализа), а также многоэтапную доставку полезной нагрузки.
Фальшивый ресурс openew[.]app был оформлен в стиле OpenAI и ChatGPT. Он заманивал пользователя предложением скачать установщик. Домен оказался свежезарегистрированным, что часто указывает на оппортунистические злонамеренные цели: площадку быстро разворачивают, используют и бросают. IP-адрес 144[.]172[.]104[.]205 принадлежит облачному провайдеру RouterHosting LLC, который предлагает недорогие виртуальные серверы. Такая инфраструктура популярна у киберпреступников из-за дешевизны и простоты аренды, что затрудняет отслеживание и блокировку.
На сайте были доступны три варианта загрузки: для Windows, для macOS и расширение для браузера Chrome. Расширение вело на легальный аддон ChatGPT Search, что ещё больше укрепляло доверие посетителя. Файл для Windows Chat_GPT.exe, проверенный антивирусами, на момент анализа обнаруживался лишь четырьмя вендорами. Установщик использовал Inno Setup - открытый инструмент, которым пользуются многие легитимные продукты. Файл для macOS вообще не был распознан ни одним антивирусным движком.
При статическом анализе Windows-образца сразу бросились в глаза несоответствия. В свойствах файла значилось описание PovariEGLESVapp Setup, а цифровая подпись принадлежала компании F.F.A.P. Hurkmans Beheer B.V., никак не связанной с OpenAI. Сама подпись была действительной, но это значит лишь то, что файл не повреждён и подписан определённым лицом, а не что программа безопасна. Сочетание вводящего в заблуждение имени, несовместимых метаданных и постороннего издателя явно указывало на попытку маскировки.
При помощи утилиты innounp исследователи распаковали установщик. Внутри оказалось Electron-приложение - среда на базе браузерного движка Chromium. Основной исполняемый файл App.exe на момент анализа был неподписан и распознавался лишь одним антивирусом по эвристическому признаку "fantasy". Строковый анализ App.exe не выявил прямых команд запуска PowerShell или CMD. Это означает, что логика выполнения, скорее всего, формируется динамически, во время работы программы.
Дальнейшая работа велась с архивом app.asar, где хранится JavaScript-код Electron-приложения. Главный файл winter.js оказался сильно обфусцирован. В нём использовались шестнадцатеричные строки, динамически разрешаемые ссылки на функции и приёмы, запутывающие поток управления. Из-за этого статический анализ не позволил восстановить логику работы. Тогда специалисты перешли к динамическому анализу.
При запуске Chat_GPT.exe открывалось окно App.exe, которое сначала показывало CAPTCHA. Это типичный приём для борьбы с автоматическими песочницами: злоумышленники хотят убедиться, что перед ними реальный человек, а не программа-анализатор. После прохождения CAPTCHA App.exe порождал множество процессов PowerShell.exe с флагами '‑ExecutionPolicy Unrestricted ‑Command -'. Сама команда передавалась не в командной строке, а через стандартный ввод, что затрудняет перехват.
Во время выполнения приложение создало в папке %APPDATA% профиль Chromium-стиля с именем Satoshi. Там появились файлы куки, локального хранилища, кеша и настроек. Такой профиль характерен для Electron-приложений, но имя Satoshi не имеет отношения к ChatGPT. Дальнейшее поведение сильно зависело от событий и действий пользователя - ключевая функциональность запускалась только после определённых триггеров.
Частичная деобфускация winter.js выявила использование множества модулей Node.js: systeminformation (сбор данных о системе), child_process (запуск процессов), os, fs (работа с файлами), zip-lib (архивация), http, https (сетевые запросы). Это подтверждает, что перед нами не пассивный скрипт, а полноценная среда выполнения с возможностями сбора информации, доступа к файлам, выполнения процессов и сетевого взаимодействия. При попытке запустить App.exe вне полноценного Electron-окружения происходил сбой - значит, часть кода инициализируется только при наличии всех компонентов фреймворка.
Совокупность признаков указывает на многоэтапную доставку вредоносной нагрузки. Первый этап - проверка окружения и прохождение CAPTCHA. Второй этап, вероятнее всего, загружает и исполняет основную полезную функцию. Из-за ограничений тестовой среды исследователям не удалось увидеть полную цепочку, но все улики говорят о том, что после успешного прохождения всех этапов начинается выполнение дополнительного кода.
Для защитников кампания даёт несколько зацепок. Во-первых, стоит обращать внимание на недавно созданные исполняемые файлы в папках пользователя, особенно если их имена имитируют известные программы. Во-вторых, появление множества процессов PowerShell.exe, запущенных Electron-приложением, - явный повод для расследования. Необычные профили Chromium/Electron, такие как %APPDATA%\Satoshi, тоже должны насторожить. Наконец, несоответствие имени файла, описания продукта и издателя цифровой подписи - верный признак подделки. Блокировка свежих доменов, подражающих известным брендам, также может помочь.
Эта кампания - яркий пример того, как злоумышленники эксплуатируют доверие к раскрученным брендам, используя платную поисковую рекламу. Вредоносная реклама особенно опасна, потому что она обходит традиционные защитные фильтры электронной почты и нацелена на пользователей, которые сами ищут легитимное ПО. Технически атака продумана: Electron-загрузчик с сильной обфускацией, проверка CAPTCHA и событийно-управляемая полезная нагрузка - всё это направлено на то, чтобы обойти автоматические анализаторы и статические детекторы. Отдельные пути для Windows и macOS говорят о широком охвате и модульном подходе.
Предотвратить каждую атаку на периметре невозможно. Пользователь не ведёт себя подозрительно, когда кликает по рекламе в поисковике, а вредоносная инфраструктура может разворачиваться и сворачиваться быстрее, чем обновляются чёрные списки. Решающее значение имеет то, что происходит после проникновения: есть ли в организации возможность заметить необычное поведение процессов, неожиданные исполняемые файлы и каталоги приложений, которых быть не должно. Без такой видимости заражение может тихо выполнять свои задачи днями, прежде чем кто-то обратит на него внимание.
Индикаторы компрометации
IPv4
- 144.172.104.205
Domains
- openew.app
SHA256
- 56cc26e88c064b0c423aa8ad6530e58f91d1e4d28fab1a8bcedef16a6582b4d2
- 7e5b708f6659b1fad3aae7b589a706434fbf21708aeec5af5910189b96e25fef