Хакер #305. Многошаговые SQL-инъекции
Скандал вокруг атаки на цепочку поставок polyfill[.]io продолжает набирать обороты. Домен сервиса заблокировали, однако теперь его новые владельцы утверждают, что СМИ их оклеветали. Тем временем, исследователи обнаружили, что атака могла затронуть десятки миллионов сайтов.
Атака на цепочку поставок
Сервис polyfill[.]io используется множеством сайтов, чтобы все их посетители могли пользоваться одной и той же кодовой базой, даже если их браузеры не поддерживают какие-то современные функции.
Ранее на этой неделе стало известно о масштабной атаке на цепочку поставок, затронувшей не менее 100 000 сайтов, использующих cdn.polyfill[.]io. Дело в том, что домен недавно приобрела китайская компания Funnull, после чего исследователи Sansec обнаружили, что скрипт был модифицирован для перенаправления пользователей на вредоносные и мошеннические сайты.
При этом разработчик оригинального проекта, Эндрю Беттс, еще в феврале предупреждал о том, что он никогда не был владельцем polyfill[.]io и не имел к нему отношения, и теперь всем владельцам сайтов следует немедленно избавиться от этого кода. Более того, Беттс, создавший опенсорсный проект polyfill еще в середине 2010-х годов, вообще советовал людям прекратить использовать polyfill[.]io, так как в современном мире в этом уже нет никакой нужды.
Когда информация о происходящем начала распространяться в СМИ, домен polyfill[.]io был закрыт регистратором Namecheap. Однако новые владельцы сервиса тут же возобновили его работу на новом домене (polyfill[.]com), заявив, что их оклеветали и «никаких рисков для цепочки поставок нет». По состоянию на 28 июня 2024 года новый домен тоже перестал отвечать и, похоже, так же был закрыт регистратором.
Стоит отметить, что после предания этой истории огласке представители компании Cloudflare выразили недовольство тем, что polyfill[.]io неправомерно использовал название и логотип Cloudflare.
Компания заявила, что неспособность polyfill[.]io удалить «ложные заявления» со своего сайта (хотя с компанией связывались представители Cloudflare), является «еще одним предупреждающим сигналом о том, что им нельзя доверять».
Кроме того, в Cloudflare подтвердил выводы специалистов Sansec и сообщили, что CDN polyfill[.]io используется для перенаправения пользователей, например, на сайты со ставками на спорт, и это делается с помощью доменного имени google-anaiytics[.]com, которое умышленно написано неправильно и имитирует Google Analytics.
Соучредитель и глава Cloudflare Мэтью Принс (Matthew Prince) добавил, что около 4% всех сайтов в интернете (то есть десятки миллионов ресурсов) используют polyfill[.]io, и назвал возможные последствия от этой атаки «крайне тревожными».
В ответ на эти обвинения новые владельцы сервиса опубликовали серию сообщений в социальной сети X (бывший Twitter), где заявили о своей непричастности к масштабной атаке на цепочку поставок и обвинили СМИ в клевете:
«Мы обнаружили в СМИ сообщения, клевещущие на Polyfill. Мы хотим пояснить, что все наши сервисы кэшируются в Cloudflare, и никакого риска для цепочки поставок нет», — пишут представители сервиса.
Масштабы атаки и другие CDN
Однако ИБ-исследователи призывают не верить заявлениям компании. Сегодня издание Bleeping Computer сообщило, что эта масштабная атака была проведена сразу через несколько CDN (polyfill[.]io, BootCDN, Bootcss и Staticfile) и могла затронуть не 100 0000, а десятки миллионов сайтов, причем за происходящим стоит одним оператор.
Отметим, что Bootcss, BootCDN и Staticfile, наряду с polyfill[.]io, уже упоминались в предупреждении, которое компания Google начала рассылать рекламодателям на этой неделе. В письме Google сообщала об атаке на цепочку поставок, предупреждая, что целевые страницы сайтов содержат вредоносный код и могут перенаправлять посетителей на другие ресурсы без ведома или разрешения со стороны владельца сайта.
Теперь же исследователи из MalwareHunterTeam и независимый специалист под ником mdmck10 обнаружили на GitHub репозиторий data.polyfill.com, где предполагаемые операторы polyfill[.]io случайно опубликовали свои секретные ключи от Cloudflare.
Используя эти утекшие и все еще активные ключи API, специалисты сумели установить, что за всеми четырьмя доменами и массовой атакой могут стоять одни и те же люди.
Судя по всему, найденный экспертами репозиторий содержал исходный код серверной части, связанный с сайтом сервиса. И владелец репозитория случайно загрузил в него файл .env, которые обычно используются разработчиками и администраторами для хранения секретов, включая ключи и токены API, переменные среды и параметры конфигурации.
В данном случае файл содержал API-токен Cloudflare, ID зоны Cloudflare (домена polyfill[.]io), API-ключи Algolia и так далее. В более ранних версиях файла также присутствовали учетные данные MySQL.
API-ключ Cloudflare позволил исследователям получить список активных зон, связанных с конкретным аккаунтом Cloudflare. Каждая зона включает в себя доменное имя, его настройки DNS, даты создания или изменения зоны, а также метаданные, связанные с ее владельцами.
Среди всех доменов (зон), связанных с этой учетной записью, был обнаружен cdn.polyfill[.]io, причем ID зоны совпадал с идентификатором, указанным в файле .env, найденном на GitHub. Также JSON-файл, которым поделился mdmck10, содержал записи для доменов staticfile[.]net, bootcdn[.]net и bootcss[.]com, то есть все они управлялись с одной учетной записи пользователя Cloudflare.
И хотя Cloudflare заявляла, что не разрешала владельцам polyfill[.]io использовать свой логотип и название, а также никогда не поддерживала сервис, ранее на этой неделе мы писали о том, что в какой-то момент DNS-записи polyfill[.]io были переключены на Cloudflare. То есть Cloudflare хотя бы частично использовался новыми владельцами домена.
Специалисты MalwareHunterTeam пишут, что Google предупреждала о том, что угроза исходит не только от polyfill[.]io, «но почему-то все пропустили это мимо ушей». Эксперты предупреждают, что совокупный эффект от работы всех этих сервисов, скорее всего, будет гораздо масштабнее, чем предполагалось изначально. Что вполне соответствует оценке Мэтью Принса, который писал о 4% всех сайтов в интернете.
Хуже того, австралийский ИБ-специалист под ником Nullify заметил, что упоминания о функции check_tiaozhuan, которая отвечает за внедренный вредоносный код, встречались на китайских форумах с июня 2023 года. По словам исследователя, с тех пор «очень примитивная версия таких же инжектов» распространялась через BootCSS.
Журналисты Bleeping Computer пишут, что им удалось получить независимое подтверждение того, что начиная с 20 июня 2023 года на некоторых китайских форумах встречались обсуждения, где разработчики пытались расшифровать и понять необычный обфусцированный код, поставляемый BootCSS. По их словам, функция check_tiaozhuan определяла, работает ли посетитель с мобильного устройства, и «перенаправляла браузер пользователя на другую страницу».
Теперь исследователи Sansec, которые первыми забили тревогу по поводу polyfill[.]io, обновили список доменов, связанных с этой атакой на цепочку поставок, включив в него:
- bootcdn[.]net
- bootcss[.]com
- staticfile[.]net
- staticfile[.]org
- unionadjs[.]com
- xhsbpza[.]com
- macoms[.]la
- newcrbpc[.]com
Специалисты ожидают, что истинный эффект от этой атаки проявит себя в ближайшие недели, и тогда будет более понятен масштаб произошедшего.
Эксперты опасаются, что операторы polyfill[.]io могли заранее зарегистрировать множество доменов у разных регистраторов (например, polyfill[.]cloud) и теперь могут начать развертывание этих доменов, услугами которых смогут по-прежнему воспользоваться люди, ничего не знающие о происходящем.
Всем, кто еще этого не сделал, рекомендуется как можно скорее перейти на безопасные альтернативы, уже созданные специалистами Cloudflare и Fastly.
Также в этом может помочь сайт Polykill.io, созданный компанией Leak Signal. Этот сервис позволяет выявлять сайты, использующие polyfill[.]io и предлагает информацию о переходе на альтернативные решения.