В поддельном репозитории на GitHub появился установщик PhotoCraft для Windows, который вёл к нескольким вредоносным компонентам. Среди них - похититель учётных данных (инфостилер), средство подмены адресов криптовалютных переводов, прокси-узел и программа для добычи криптовалюты (майнер).
Описание
Как сообщила лаборатория Huorong Security Lab, репозиторий имитировал открытый проект PhotoCraft для редактирования изображений. Его автор опубликовал портативную сборку для Windows с версией 0.5.0. У профиля был один коммит, а аватар, предположительно, создали с помощью нейросети. Название репозитория при этом было близко к имени оригинального проекта. Автор адресовал сборку пользователям, которые искали бесплатный редактор изображений, и предлагал готовый архив вместо ссылки на официальный источник.
Установщик собрали в системе NSIS. Внутри находились приложение на фреймворке Electron и зашифрованная полезная нагрузка. Сценарий на JavaScript читал встроенные данные, расшифровывал их алгоритмом AES и восстанавливал исполняемый файл Windows. Затем сценарий записывал файл на диск, запускал его в фоне и с задержкой удалял часть временных файлов. Перед запуском он проверял доступный объём памяти, характеристики процессора, имя пользователя, имя компьютера и некоторые признаки виртуальной среды.
После проверки сценарий вызывал PowerShell и пытался добавить свои каталоги в исключения Windows Defender. Первый этап использовал виртуализацию кода с двумя разными схемами выборки инструкций, запутывание логики и проверку целостности. Подтверждено, что он читал локальные данные Steam, включая сведения об учётной записи и зашифрованные записи. Эти данные он пытался расшифровать через интерфейс защиты данных Windows, а собранные сведения попадали в общую функцию отправки. Кроме того, первый этап разбирал задачи с сервера; одна из них указывала адрес загрузки управляющего файла, который читал конфигурацию и запускал следующие компоненты.
Компонент для кражи данных кошельков искал файлы Exodus, Electrum, Ledger Live и Trezor Suite. Он копировал каталоги данных во временный каталог, упаковывал их в ZIP и отправлял на сервер. Другой механизм через Windows UI Automation находил поля ввода пароля. При вставке из буфера обмена программа читала содержимое и также передавала его в функцию отправки. Для подмены интерфейса она следила за процессами кошельков, скрывала исходное окно и завершала целевой процесс с прямыми дочерними процессами.
После этого программа открывала локальную HTML-страницу с удалённым содержимым в режиме приложения Chrome или Edge. Заголовок, положение и размеры окна она подгоняла под интерфейс кошелька. Поддельные страницы для Exodus, Ledger Live и Trezor Suite просили пароль, PIN-код и фразу восстановления, а программа отправляла введённое на сервер. Отдельный компонент следил за буфером обмена и заменял адреса криптовалютных кошельков, поэтому сверка до копирования не помогала. Для закрепления программа копировала себя в каталог пользователя, создавала задачу в планировщике и запрашивала обновления; при сбое она писала ключ автозапуска в реестр.
Ещё один компонент принимал управляющие данные через протокол WebSocket, разбирал запросы SOCKS5 и пересылал сетевой трафик в обе стороны. Поэтому заражённый компьютер мог работать как прокси-узел. Компонент с майнером, драйвером и логикой управления запускал без согласия пользователя добычу Monero через внешний пул, что занимало вычислительные ресурсы и могло вызывать нагрев компьютера. За пределами анализа остались масштаб распространения и число пользователей, которые скачали саму сборку и запустили её. Описанные признаки могут встречаться и в легитимном ПО, поэтому сами по себе они не подтверждают вредоносность.
