Jurojin Poker

Как работает обновление и как его изменили

ПоделитьсяWhatsAppX

Это чуть более техническое описание того, как сработала брешь. Оно здесь, чтобы любой мог проследить: что делает обычное обновление, что изменили и почему мы знаем, что обновление, которое люди получают сейчас, не скомпрометировано.

Это можно подтвердить, потому что Amazon S3 сохранил каждую предыдущую загрузку. Мы сравнили все. Файл, который этот адрес отдаёт сегодня, — обычная сборка. Скомпрометированные загрузки есть только в истории за ним, и именно история даёт им даты.

Два отдельных трюка. Один менял, какой zip скачивает группа. Другой менял содержимое этого zip. Подписанный launcher менять не пришлось.

Имя группы ниже — пример. Это не настоящее имя.

Обычное обновление и изменённое

Обе колонки — одна и та же последовательность. Имя группы ниже — пример. Группа — это метка на аккаунте, и люди в ней делят один адрес загрузки. Это имя и адрес, который использует установщик, хранятся отдельно. Официальные обновления записывают легитимный адрес.

В изменённой колонке в этом адресе меняется одна буква: с заглавной N на строчную n. Amazon S3 хранит их как два разных пути и отдаёт тот, который совпадает с URI, сохранённым у группы. launcher.exe по-прежнему запускает файл с именем JurojinUI.exe, поэтому новая сборка ему не понадобилась. Внутри подменённого zip этот файл — подставка: в этот момент он ставит Mesh из ProcessCommunicator.exe, имя которого в обычном zip принадлежит легитимному подписанному хелперу.

Обычное обновление
Клиент Jurojin
Входит в аккаунтаккаунт в группе Northstar
Клиент на ПК спрашивает сервер, какому аккаунту принадлежит эта машина.
Сервер
Ищет эту группуNorthstar → URI в S3
Свой URI у каждой группы.
Amazon S3
Отдаёт путь, который совпадает с этим URIversions/Northstar/Jurojin.zip
S3 не выбирает группу. Он возвращает объект, путь которого равен сохранённому URI.
Установщик
Скачивает этот объектGET versions/Northstar/Jurojin.zip
Подписан. Забирает только тот URI, который ему дали.
launcher.exe
Запускаетсяstart JurojinUI.exe
Подписан. Всегда стартует файл с именем JurojinUI.exe. Он не проверяет, что это за файл на самом деле.
Внутри zip
Открывается настоящее приложениеJurojinUI.exe · подписан · мегабайты
В обычном zip нет файла с именем Jurojin.exe.
JurojinUI.exeБольшой и подписанный. Это приложение, которое открывается.
ProcessCommunicator.exeЛегитимный хелпер. Подписан.
Jurojin.exeВ этом zip его нет.
Подменённое обновление
Клиент Jurojin
Входит в аккаунтимя группы по-прежнему Northstar
Тот же запрос. Имя группы и id группы не меняются.
Сервер
Ищет эту группуNorthstar → URI в S3
Свой URI у каждой группы. Группа по-прежнему Northstar.
Amazon S3
Отдаёт путь, который совпадает с этим URIversions/northstar/Jurojin.zip
versions/Northstar/Jurojin.zip всё ещё на месте. Строчная n — это другой объект.
Установщик
Скачивает этот объектGET versions/northstar/Jurojin.zip
По-прежнему подписан. Файл он не выбирает. У других групп остались свои URI.
launcher.exe
Запускаетсяstart JurojinUI.exe
Тот же подписанный launcher. Ему не нужна была новая сборка. Каждый ПК в этой группе получает такой старт.
Внутри zip
Запускается поддельная программа и в этот момент ставит MeshJurojinUI.exe · меньше 1 МБ · без подписи
Не в каждом подменённом zip был файл Mesh. Когда он был, приложение всё равно открывалось, и ПК выглядел обычным.
JurojinUI.exeПодставка. Запускается сейчас, ставит Mesh и стартует настоящее приложение.
ProcessCommunicator.exeВ чистом zip это имя — легитимный подписанный хелпер. Здесь под тем же именем был спрятан неподписанный установщик Mesh.
Jurojin.exeНастоящее приложение, всё ещё подписанное, открывалось под этим другим именем.

Включали и выключали, чтобы группа выглядела обычной

Подменённый zip не оставляли на месте. Аккаунты заводили в группу и выводили обратно, а URI группы возвращали на исходный путь. После этого у группы был обычный адрес и другой набор людей. Поэтому это не бросалось в глаза.

S3 сохранил каждую загрузку на изменённом пути. С 11 июня 2025 по 28 января 2026 сначала появлялся подменённый zip, потом его сменял чистый, потом снова подменённый. Это 92 окна, а не один сплошной период. В сумме подменённый файл был тем, что клиент скачал бы в течение 72,7 дня. 158 дней в том же промежутке текущим файлом была обычная сборка.

Аккаунты
Заводили в группу и выводили обратногруппа Northstar
Аккаунты добавляли и снова убирали. URI группы делили только те, кто был в ней в этот момент.
Изменённый URI
Пока они в группе, она смотрит на другой путьversions/northstar/Jurojin.zip
Обновление на этих ПК тогда получает подменённый zip. Это был не один отрезок. Было 92 окна. В сумме подменённый файл был текущим 72,7 дня.
Исходный URI
URI группы возвращают на исходный путьversions/Northstar/Jurojin.zip
После этого имя группы, люди в ней и адрес выглядят обычными. Поздняя проверка не показывает, кто был там только на время окна.
История версий
В S3 по-прежнему есть каждая прежняя загрузка
Между окнами чистый zip был текущим 158 дней. Самое длинное подменённое окно длилось около пяти дней. Многие — часы. Последний подменённый файл заменили 28 января 2026 в 14:25 UTC. Этот чистый файл до сих пор текущий.

Последний файл оставили чистым

Текущая версия на изменённом адресе — легитимная сборка: большой подписанный JurojinUI.exe и без переименованного Jurojin.exe. Если смотреть только на файл, который там сейчас, адрес выглядит обычным. Подменённые загрузки по-прежнему в истории версий за ним. Именно история показывает даты, какие загрузки были подменены и какого они были вида.

Как ставился инструмент удалённого доступа

Он попадал к тем, кто был в группе и обновился, пока пакет с ним был текущим файлом. Покерные ники не проверялись. Вариант этой операции у IntuitiveTables, насколько нам известно, это делал. Этот — нет.

Получить подменённый пакет — не то же самое, что оказаться с инструментом на устройстве. Не в каждом подменённом zip он был, и не все в группе обновлялись в одно из этих окон.

Назад к уведомлению о безопасности