◆ Атаки 2026 · 2026-07-20 · ~9 минут чтения

Quishing: QR-коды в фейковых счетах — новая любимая техника фишеров

Классический фишинг — «Кликните на ссылку» — почти всегда ловится корпоративными фильтрами и подозрителен для сотрудника. Quishing (от «QR + phishing») обходит и то и другое: письмо содержит только PDF с QR-кодом, а сканирование происходит на личном смартфоне, вне корпоративной защиты.

TL;DR

  • QR-фишинг вырос на 146% в Q1 2026, к марту достиг ~18,7 млн атак в месяц.
  • Атака: письмо с PDF «Счёт на оплату», внутри — QR-код «Оплатить по СБП». Сканирование смартфоном ведёт на фейковую банковскую страницу.
  • Обходит фильтры, потому что большинство антиспам-движков анализируют текст и ссылки, но НЕ изображения (Rspamd issue #3945 открыт с 2021 без реализации).
  • Личный смартфон — вне корпоративной MDM/proxy-фильтрации, там нет URL-reputation-чека.
  • Защита: технически — OCR/декодер QR в письмах (мы делаем), процессно — «QR из письма сканирую только если ждал именно от этого отправителя».

Как выглядит quishing-атака

Классический сценарий 2026-го — для российского SMB:

  1. Приходит письмо. Отправитель — «ФНС» / «Ваш банк» / «СБИС» / «Госуслуги» / «поставщик, с которым вы работали». Тема: «Задолженность по НДС», «Требование ФНС», «Электронный счёт от [реальное имя поставщика]».
  2. Тело письма минимальное или пустое. Основное — PDF-вложение (иногда JPG/PNG).
  3. В PDF: типовая шапка (герб/логотип), несколько строк текста «оплатите до такого-то числа», крупный QR-код с подписью «Отсканируйте для перехода к оплате».
  4. Сотрудник открывает PDF на компьютере, но сканирует QR своим смартфоном — потому что оплата же через мобильный банк.
  5. QR ведёт на страницу, визуально идентичную СБП/Тинькофф/Сбер. Форма ввода реквизитов карты/логина.
  6. Дальше — либо прямое списание, либо кража кредов для более сложной схемы.
Ключевая уязвимость — не «сотрудник глупый», а сотрудник действует по привычному сценарию. Оплата по QR через СБП — легитимная и распространённая практика. Отличить фейк от настоящего QR-счёта визуально невозможно.

Почему это обходит стандартные фильтры

Rspamd, SpamAssassin, Barracuda, Proofpoint (частично)

Классические антиспам-движки анализируют:

Что не анализируется по умолчанию:

Как результат: письмо с одним PDF без ссылок в теле проходит как «безопасное вложение», а внутри — QR ведущий на фейк.

Enterprise уровень. Microsoft Defender for O365 добавил OCR декодирование QR в mail flow в 2024 году (после пика 3 млн QR-фишинг писем в день). Proofpoint и Mimecast — тоже. Но эти решения — Enterprise-цена. Open-source стеки (Rspamd, SpamAssassin) по-прежнему без нативного QR-декодера.

Эволюция техники — 2025 год

Атакующие видят что вендоры добавляют OCR — и придумывают обходы:

Split QR codes

QR разбит на 2 отдельных изображения. По отдельности каждое — не валидный QR, декодеры пропускают. Верстка HTML-письма или PDF собирает их визуально в один QR прямо на экране. Задокументировано Barracuda в августе 2025 в кампании группы Gabagool (фейковый Microsoft password-reset).

Nested QR codes

Вредоносный QR обёрнут вокруг легитимного. Декодер натыкается на внутренний (например, Google.com), считает URL безопасным. Пользовательский сканер смартфона видит внешний контур (mал-URL).

QR из HTML-таблицы

Кампания декабря 2025. QR-код нарисован не картинкой, а HTML-таблицей из цветных ячеек (чёрные и белые <td>). Image-based детекция не срабатывает — картинки как таковой нет. Визуально в почтовом клиенте — тот же QR.

Наш детектор в 2333.ru

Мы декодируем QR-коды из вложений при обработке письма, до передачи в основной pipeline фильтрации:

  1. Все image-вложения (PNG, JPEG, GIF, BMP, WebP) — прогоняем через pyzbar (обёртка над libzbar) для декодирования.
  2. PDF-вложения — через pdf2image (poppler-utils) конвертируем первые 3 страницы в PNG (150 dpi), потом каждую страницу — в декодер.
  3. Найденные URL добавляем к телу письма как обычные ссылки.
  4. Дальше работают все стандартные проверки: reputation-blocklist (Spamhaus DBL, OpenPhish, URLhaus), typosquat-детектор, homoglyph, NRD (домен младше 30 дней), несоответствие URL-домена sender-домену.

Лимиты: 5 МБ на вложение (больше — не декодируем, чтобы не подвесить процесс), 3 страницы PDF (обычно QR на первой-второй странице).

В логах сработка выглядит так:

🔗 QR URL найден в Счёт_247.pdf: https://оплата-фнс.ru/pay?id=X7YZ...
ADV-PHISHING score=5 NRD(оплата-фнс.ru,age=3d) |
url-domain-mismatch(оплата-фнс.ru vs фнс.gov.ru)
Что важно. Мы не блокируем автоматически по одному факту «QR в PDF». QR-код может быть легитимным (счёт с QR СБП от реального контрагента — вполне нормально в 2026-м). Блокируется — только если извлечённый URL сам по себе подозрителен (NRD + typosquat + mismatch с отправителем).

Что делать сотрудникам — правила

  1. QR из письма — только если ждали именно от этого отправителя. Пришло «требование ФНС» неожиданно — не сканируйте, зайдите на nalog.gov.ru через закладку.
  2. Проверяйте URL перед вводом реквизитов. После сканирования смартфон обычно показывает URL до открытия — прочитайте его. оплата-фнс.runalog.gov.ru.
  3. Никогда не вводите пароли/коды из СМС на страницах, куда попали через QR. Легитимные банковские страницы через QR почти всегда — только для оплаты по реквизитам, не для авторизации.
  4. Проверяйте счета через второй канал. Пришёл QR-счёт от «поставщика» — позвоните ему по телефону из договора (не из письма) и уточните.
  5. Обучите бухгалтерию: реальные счета от известных контрагентов приходят одинаковым образом (одинаковая шапка, стиль). Новый формат — красный флаг.

Российская специфика 2026

По данным Positive Technologies (октябрь 2025), в третьем квартале 2025 зафиксировано 716 306 уникальных QR-кодов в фишинговых кампаниях против российского бизнеса. Основные приманки:

Защитить бухгалтерию от quishing

В 2333.ru QR-декодер включён в дефолте для всех входящих. URL из QR проходят через тот же URL-фильтр, что и обычные ссылки — Spamhaus DBL, OpenPhish, наш NRD и typosquat-детекторы.

Подключить домен