3 сентября 2026 года в официальном каталоге дополнений Firefox появилось расширение PDF Identity Verifier. Оно обещало проверять личность владельца перед открытием защищённых PDF-документов. Публикация прошла штатно: подпись в порядке, претензий у модераторов не возникло. Опасная начинка включилась позже. 11 сентября вместе с версией 1.4 расширение научилось автоматически захватывать аккаунты Google. Кампания нацелена на португало- и испаноязычных пользователей и к моменту публикации отчёта продолжается.
Описание
Заметен этот случай не масштабом, а способом маскировки. В файлах, которые разработчик прислал модераторам каталога, нет вредоносной логики. Ни адреса сервера злоумышленников, ни команд, ни кода для кражи учётных данных. Полезная нагрузка (код, выполняющий основную работу) приходит уже после установки, когда пользователь уверен, что получил безобидную утилиту. Автоматическая проверка бессильна, потому что весь замысел хранится не в скриптах, а в настройках. А этих настроек в момент проверки ещё не существует.
Механизм включения привязан к установке. Через пять секунд после добавления в браузер расширение само открывает активную вкладку. Её адрес имитирует служебный домен Google и отличается от настоящего одной буквой. Сама страница выглядит безобидно, зато подгружает сценарий с чужого сервера. Тот передаёт расширению набор указаний: какие сетевые ответы отслеживать, какие заголовки читать, куда отправлять добычу. До этого момента, по данным Socket, расширение остаётся безобидным набором функций: исполнять ему нечего, пока злоумышленник не пришлёт конфигурацию.
Придирчивый взгляд на файлы всё же находит странности. Каждая по отдельности объяснима. Расширение просит доступ ко всем страницам Google и к хранилищу настроек браузера - для утилиты, которая работает с документами, это выглядит правдоподобно. Оно также вмешивается в механизм входа без пароля и всегда сообщает сайтам, что устройство поддерживает ключ доступа. Поодиночке такие детали не доказывают злого умысла. Опасным расширение делает только конфигурация, пришедшая снаружи.
Получив настройки, расширение переключается на настоящие страницы входа Google. Отдельный сценарий следит за тем, какой адрес открыт в браузере. Как только пользователь оказывается на странице аккаунтов Google, туда внедряется ранее загруженный код. Работает он внутри легитимного домена, поэтому средства защиты, которые ищут переходы на подозрительные сайты, ничего не замечают. Пользователь видит полноэкранное сообщение о проверке личности. Надпись скрывает происходящее. Код выполняется под правами самого расширения, и браузер не показывает привычных предупреждений о постороннем вмешательстве.
Пока на экране висит надпись, сценарий проходит реальную процедуру входа. Шаг с паролем пропускается. Вместо него принудительно вызывается запрос ключа доступа (passkey - способ входа без пароля, привязанный к конкретному устройству). Когда Google показывает страницу проверки на автоматизацию, код повторяет попытку с изменённым параметром, пока не проскочит дальше. Если система требует сменить пароль, сценарий придумывает новый и подставляет его в форму. Владелец аккаунта об этом не узнаёт: пароль меняется на значение, известное только злоумышленнику.
Параллельно работает второй канал. Расширение следит за всеми ответами серверов Google и находит среди них сессионный куки-файл (небольшой фрагмент данных, по которому сайт узнаёт уже вошедшего пользователя) с меткой авторизационного доступа. Значение сразу уходит на сервер сбора. В результате у атакующего оказываются два независимых ключа к одному аккаунту: живая сессия и свежий пароль, подконтрольный только ему. Достаточно любого. Вдобавок сценарий примерно дважды в секунду отправляет заказчику отчёт о том, что происходит на странице, - какие надписи видны, какие кнопки доступны. В конце жертву возвращают на подконтрольный ресурс.
Тексты интерфейса и страница-приманка переведены на португальский, испанский и английский языки. Надпись поверх страницы написана по-португальски, и это указывает на конкретный регион. База пользователей у расширения небольшая, поэтому ожидаемый ущерб оценивают как ограниченный. Ценность истории в другом. Вредоносное дополнение приходит в каталог абсолютно чистым и собирает себя прямо на компьютере жертвы из фрагментов, полученных от злоумышленника. Модератор и антивирусный сканер видят набор функций без вредоносного содержимого.
Тем, кто успел установить PDF Identity Verifier, действовать нужно быстро. Расширение удаляют, а его служебный идентификатор вносят в политики управления браузером, чтобы оно не вернулось при синхронизации. Затем завершают все сессии Google и отзывают активные токены (временные ключи доступа) с заведомо чистого устройства. Пароль меняют оттуда же. Попутно проверяют ключи доступа, резервные адреса и номера, а также способы двухфакторной аутентификации (дополнительного подтверждения входа). Журнал входов, подключённые приложения и правила пересылки писем тоже просматривают: злоумышленник мог оставить себе доступ. Запросы к домену-двойнику блокируют на уровне сетевых фильтров, а профили браузера, где нашлось расширение, считают скомпрометированными.
Похожие приёмы встречались и раньше: установочный пакет проходит проверку чистым, а вредоносная логика приходит позже. До сих пор каталоги оценивают дополнение в момент публикации, поэтому защита остаётся реактивной. Смотреть приходится не только на код, но и на то, чем расширение занимается через день после установки.
Индикаторы компрометации
Extension
- pdf-para-texto@extensao.local - PDF Identity Verifier
Domain
- pdf.gusercontent.com
URL
- pdf.gusercontent.com/api/accounts/collect/?leadId=&email=&data=
- pdf.gusercontent.com/api/extlog
- pdf.gusercontent.com/loginSdk/assets/index-BhOgWOaO.js
- pdf.gusercontent.com/loginSdk/load-addon.js
- pdf.gusercontent.com/oninstalled
- pdf.gusercontent.com/reload
SHA256
- 16447c70f8e3c99de95b92846460214a661915c89f5c10965bf18da4c279880a
- dc717b5ab9a8eccf6b6187880ba90b004cb00f503ff8bceb8405ccc33d1c6e3e
- f1b8329075b1cbd1ae0a5dc947bd00f94642cb166a86c2455a1d0b10aee9f2b1