← На главную

AitM-атака через service worker и BitB крадет логины Microsoft

05.08.2026 17:20 · hackernews

Фишеры распробовали легитимные облачные платформы. В 2025–2026 годах они массово хостят фишинговые страницы на Cloudflare Workers, Vercel, Netlify, GitHub Pages и IPFS. Причины те же, по которым эти сервисы любят разработчики: репутация домена, бесплатные тарифы, быстрый старт без KYC, а ещё встроенный CDN прячет настоящий IP, а общие субдомены нельзя забанить целиком — пострадают миллионы нормальных проектов.

Разберём реальную атаку AitM (adversary-in-the-middle) на базе Cloudflare Workers. Жертве приходит письмо с просьбой посмотреть документы. По ссылке — поддельная CAPTCHA на скомпрометированном сайте. Она собирает email и редиректит на субдомен workers.dev, а email передаётся в hash URL (после #), так что запрос на сервер атакующего не уходит. На странице workers.dev — уже настоящий CAPTCHA, чтобы отсечь песочницы. После его прохождения браузер регистрирует service worker — специальный JavaScript, который работает в фоне и перехватывает запросы вкладки. Браузеры считают его стандартной фичей PWA и не спрашивают разрешения. Через service worker подключается Ultraviolet — легитимная open-source прокси-библиотека, которая переписывает все ссылки и формы. Теперь запросы на Microsoft login идут через сервер атакующего. Email из hash сохраняется в sessionStorage, чтобы не потерялся при перезагрузке, и подставляется в форму логина.

Третья стадия — комбинация AitM с BitB (browser-in-the-browser). На странице атакующего рисуется фейковое окно браузера с адресной строкой, где указан настоящий Microsoft URL, и в iframe грузится настоящий логин Microsoft через тот самый reverse proxy. Жертва вводит логин и MFA-код — прокси перехватывает и креды, и сессионные токены. После успешного входа окно закрывается, и показывается ошибка SessionExpired, чтобы жертва не заподозрила неладное.

За 12 месяцев (август 2025 — июль 2026) заблокировано 224 984 уникальных третьеуровневых доменов на облачных и децентрализованных сервисах. Топ-10: pages.dev (Cloudflare Pages) — 24.9%, vercel.app (Vercel) — 13.8%, github.io (GitHub Pages) — 13.7%, netlify.app (Netlify) — 10%, dweb.link — 7.8%, ipfs.io — 5.3%, workers.dev — 2.5%, wixstudio.com — 1.9%, webflow.io — 1%, azurewebsites.net (Microsoft Azure) — 1%. Итого нейтрализовано больше 390 тысяч фишинговых страниц. IPFS-шлюзы опасны тем, что контент не исчезает: заблокируешь один шлюз — страница остаётся доступна через другие.

Старые методы защиты не работают: на иконку замка и репутацию домена полагаться нельзя. Надо смотреть, какие запросы приходят, даже если они с надёжного домена. CAPTCHA, которая просит личные данные (email) — почти наверняка скам. Проверять настоящий адрес в главной адресной строке браузера, а не в попапах. Если неожиданно появилась форма логина — закрыть вкладку и зайти на сервис вручную. Для защиты почты — Kaspersky Secure Mail Gateway для компаний и Kaspersky Premium для личной переписки.

Читать оригинал →