Активная фишинговая кампания, нацеленная на пользователей криптокошелька Trust Wallet, демонстрирует новый уровень социальной инженерии в Web3-пространстве. Вместо взлома программного обеспечения кошелька злоумышленники используют манипуляцию интерфейсом и доверием пользователей, заставляя их самостоятельно санкционировать транзакции, которые предоставляют неограниченный доступ к их средствам. Кампания, распространяемая через Telegram, использует QR-коды и встроенные в кошелёк механизмы глубоких ссылок, что делает атаку особенно коварной и эффективной.
Описание
Основным вектором атаки стало распространение в Telegram-каналах поддельных изображений интерфейса Trust Wallet со встроенными вредоносными QR-кодами. При сканировании такого кода мобильное приложение кошелька, через свой официальный домен "link.trustwallet.com", автоматически перенаправляет пользователя на фишинговый сайт, размещённый на платформе Netlify. Этот метод обхода подозрений, использующий доверенный домен кошелька в качестве прокси, является ключевым элементом атаки. Пользователь видит страницу, визуально неотличимую от легитимного интерфейса Trust Wallet для перевода стейблкоина USDT, и вводит данные получателя и сумму.
Однако вместо инициирования перевода скрипт на фишинговой странице выполняет совершенно иную операцию. Он подключается к кошельку жертвы и инициирует транзакцию вызова функции "approve()" в смарт-контракте USDT. Эта функция в стандарте ERC-20 предоставляет другому адресу (в данном случае - контролируемому злоумышленником) право списывать токены с баланса владельца. Жертве в интерфейсе Trust Wallet отображается стандартный запрос на подписание транзакции, который выглядит как рутинное действие. Подписывая его, пользователь не переводят USDT, а предоставляет злоумышленнику неограниченное право на списание всего своего баланса сейчас или в будущем. При этом транзакция требует лишь уплаты минимальной комиссии (gas fee) в сети BNB Smart Chain (BSC), что делает её малозаметной и экономичной для массовой эксплуатации.
Технический анализ вредоносного кода, проведённый исследователями, показал его модульную архитектуру. Основная логика разделена между файлами "config.js", содержащим настраиваемые параметры вроде адресов смарт-контрактов, и "main.js", который управляет взаимодействием с кошельком и формированием транзакций. Особенностью является интеграция с Telegram-ботом для эксфильтрации данных в реальном времени: как только жертва подписывает транзакцию, скрипт отправляет уведомление злоумышленникам, содержащее адрес кошелька и хэш транзакции. Анализ одного из таких ботов выявил 52 подобных уведомления, что подтверждает активную эксплуатацию схемы.
Важным аспектом кампании является наличие параметра "userId" в коде, что указывает на возможную модель Drainer-as-a-Service (DaaS) - "вымогатель как услугу". В такой модели создатели вредоносного набора (фишинг-кита) предоставляют его другим злоумышленникам (аффилиатам) за долю от украденных средств, отслеживая эффективность каждого через уникальные идентификаторы. Это говорит о коммерциализации и масштабируемости подобных угроз. Кроме того, обнаружены несколько фишинговых доменов на Netlify с похожими шаблонами названий, что также свидетельствует о легко тиражируемой инфраструктуре.
Последствия успешной атаки носят персистентный характер. Выданное разрешение (allowance) остаётся активным до тех пор, пока пользователь вручную не отзовёт его через интерфейс кошелька. Это означает, что злоумышленник может списать средства не мгновенно, а в любой удобный момент, подвергая риску как текущий баланс, так и любые будущие поступления USDT на скомпрометированный адрес. При этом сама атака не эксплуатирует какие-либо уязвимости в коде Trust Wallet - она целиком полагается на социальную инженерию и авторизованные пользователем действия.
Данный инцидент наглядно иллюстрирует эволюцию угроз в сфере децентрализованных финансов. Фокус злоумышленников смещается с поиска технических уязвимостей на манипулирование пользовательским поведением, используя привычные и, казалось бы, безопасные паттерны взаимодействия с dApp (децентрализованными приложениями). Низкая стоимость транзакций в таких сетях, как BSC, делает массовые атаки экономически выгодными. В свою очередь, распространение модели DaaS значительно снижает входной барьер для киберпреступников, не обладающих глубокими техническими знаниями в области блокчейна.
Защита от подобных схем требует в первую очередь повышенной осведомлённости пользователей. Специалисты по безопасности рекомендуют всегда вручную проверять детали транзакции в интерфейсе кошелька перед подписанием, обращая внимание не только на сумму, но и на тип вызываемой функции контракта. Критически важно регулярно просматривать и отзывать ненужные разрешения (approvals) в настройках кошелька. Кроме того, следует избегать сканирования QR-кодов из непроверенных источников, особенно в мессенджерах и социальных сетях, и всегда проверять доменное имя сайта, на который происходит переход. В конечном счёте, в экосистеме Web3, где транзакции необратимы, главным элементом защиты остаётся сам пользователь, а его внимательность - основным инструментом против социальной инженерии.
Индикаторы компрометации
URLs
- https://link.trustwallet.com/open_url?coin_id=60&url=https://swift-wallat-usdt-send.netlify.app
- https://send-usdt-09-admin.netlify.app
- https://swift-wallat-usdt-send.netlify.app
YARA
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | rule Crypto_Drainer_TrustWallet_QR_Approval { meta: description = “Detects Trust Wallet QR-based crypto drainer with specific URLs and malicious spender contract.” author = “Cyfirma Research” date = “2026-04-11” threat_family = “Crypto Drainer” reference = “QR + Deep Link + USDT Approval Abuse” strings: // URLs $url_1 = “https://swift-wallat-usdt-send.netlify.app” nocase $url_2 = “https://send-usdt-09-admin.netlify.app” nocase $deep_link = “link.trustwallet.com/open_url?coin_id=60&url=” nocase // Malicious spender contract $malicious_contract = “0x76C77b171264e1a81baA63125D9627E70B43a169” nocase condition: any of them } |