Перейти к основному содержанию
Вернуться к новостям

Расследование кражи кошелька Monero

xmrwallet разоблачен: 10 лет украденных ключей и взломанных транзакций

Тщательное криминалистическое расследование, посвящённое веб-кошельку Monero, в котором ваш частный ключ просмотра кодируется с помощью Base64 в session_key токен, передает его в более чем 40 API-запросах за сеанс, а затем аннулирует вашу транзакцию с помощью raw_tx = 0 и перестраивает его, чтобы похитить ваши средства. Действует с 2016 года. Оператор установлен.

Работает с 2016 года Более 40 утечек ключей за сеанс Защита DDoS-Guard
XMRWallet разоблачен
0
Годы деятельности
40+
Количество утечек ключей за сеанс
$2M-$15M+
Приблизительная общая сумма похищенных средств
0
Обновления GitHub с 2018 года

Фасад

xmrwallet.com позиционируется как бесплатный кошелек Monero с открытым исходным кодом, работающий на стороне клиента. Никаких загрузок. Никакой регистрации. В их Условиях предоставления услуг содержится весьма конкретное заявление:

«Все криптографические операции выполняются в вашем браузере. Сервер не имеет доступа к вашим закрытым ключам».

— Условия предоставления услуг xmrwallet.com (очевидно ложные)

Это ложь. Наш криминалистический анализ — перехват сетевого трафика, деобфускация JavaScript и сравнение производственного кода — доказывает прямо противоположное. Каждый ключ, введенный на сайте xmrwallet.com, подвергается краже. Каждая транзакция может быть перехвачена.

Production против GitHub: Полное расхождение

Этот общедоступный репозиторий на GitHub с тех пор не было ни одного коммита Ноябрь 2018 года. На производственной среде используется совершенно другой код с недокументированными параметрами, которых нет в репозитории:

  • session_key — Токен для передачи ключа просмотра, закодированный в формате Base64
  • verification — вторичный канал вывода данных
  • timestamp — параметр отслеживания сеанса
  • data — контейнер для дополнительного груза

Домен зарегистрирован через NameSilo в 2016 году — оплачено заранее через 2031. Пятнадцать лет регистрации «свободного самостоятельного проекта».

Атака № 1: Перехват ключей просмотра

Когда вы входите на сайт xmrwallet.com, ваш открытый ключ кодируется в формате Base64 и встраивается в session_key токен. Затем этот токен передается на сервер вместе с каждый отдельный запрос API — Более 40 раз за один сеанс.

Структура session_key

session_key = [зашифрованный_блоб]:[base64_address]:[base64_private_viewkey]

// Decoded example:
// blob: a3f8c2... (session identifier)
// address: 4A1BxN... (your Monero public address)
// viewkey: ВАШ КЛЮЧ ДЛЯ ЧАСТНОГО ПРОСМОТРА В ОТКРЫТОМ ТЕКСТЕ

Данные о сетевых запросах Firefox WebExtension подтверждают, что этот токен передается по сети 6 различных конечных точек API в общей сложности более 40 POST-запросов за сеанс:

Конечная точка APIЗапросы / СессияУтечка session_key
/api/getheightsync12 Да
/api/gettransactions10 Да
/api/getbalance6 Да
/api/getsubaddresses4 Да
/api/getoutputs3 Да
/api/support_login1 Да

Более 40 копий вашего приватного ключа

В ходе одного сеанса входа в систему ваш частный ключ просмотра отправляется на сервер не менее 36 раз. Серверу не требуется ваш ключ для выполнения ни одной из этих операций — проверка баланса и синхронизация высоты являются общедоступными запросами к блокчейну. Не существует ни одной обоснованной причины для передачи ключевых данных. Доказательства полной перехвата сетевого трафика: xmrwallet.com, задача № 36 на GitHub — Просмотр доказательств утечки ключей.

Атака № 2: Перехват транзакции

Кража ключа позволяет злоумышленнику смотреть ваш кошелек. Но сайт xmrwallet.com идет ещё дальше — он крадёт ваши средства в режиме реального времени. Деобфусцированный производственный код JavaScript раскрывает последовательность атаки, состоящую из 5 этапов:

// Step 1: Client builds a legitimate transaction
cnUtil.create_transaction() → raw_tx_and_hash

// Step 2: Client transaction is NULLIFIED
raw_tx_and_hash.raw = 0;

// Step 3: Only metadata sent to server (no real tx)
ПОСТ /api/submit_raw_tx { исходные данные: 0, метаданные: {...} }

// Step 4: Server rebuilds its OWN transaction
// using your keys + its destination address

// Step 5: Stolen transactions tagged internally
если(тип == «прометено») → транзакция с перенаправлением со стороны злоумышленника

В вашем кошельке отображается сообщение «Транзакция отправлена». Ваши средства поступают на адрес злоумышленника. Жертвы видят «Неизвестный идентификатор транзакции» когда они пытаются проверить их в блокчейн-браузерах. Транзакции, внутренне помеченные как swept — это те, что были украдены.

Ваша транзакция никогда не существовала

raw_tx_and_hash.raw = 0 означает, что транзакция, сгенерированная клиентом, отбрасывается. Сервер создаёт совершенно новую транзакцию с использованием ваших ключей и отправляет ваши XMR злоумышленнику. Сообщение «успех», которое вы видите, — это ложь. Подробный анализ кода: xmrwallet.com, задача № 35 на GitHub — Доказательство защиты от перехвата транзакций.

Скрытый производственный код

xmrwallet.com ведёт общедоступный репозиторий на GitHub, чтобы выглядеть легитимным. Этот репозиторий — лишь прикрытие. К нему не прикасались с тех пор, как Ноябрь 2018 года. На производственной среде используется совершенно другой, запутывающий код.

Публичный репозиторий на GitHub (приманка)

  • Последний коммит: Ноябрь 2018 г.
  • Нет session_key параметр
  • Нет verification param
  • Нет /support_login.html
  • Google Tag Manager отсутствует
  • Чистый код, поддающийся аудиту

Производственная площадка (реальная)

  • Активно обновляется в 2024–2026 годах
  • session_key с ключом просмотра Base64
  • verification канал вывода данных
  • /support_login.html бэкдор
  • Удаленная подстановка JavaScript в GTM
  • Запутанный, не поддающийся аудиту код

«Бэкдор» и удаленная инжекция кода

Производственная площадка включает в себя /support_login.html — скрытый административный конечный пункт, полностью отсутствующий в репозитории GitHub. В сочетании с Google Tag Manager (контейнер GTM) Благодаря этой интеграции оператор может в любой момент удаленно вставлять и изменять код JavaScript на действующем сайте — без обновления общедоступного кода. Это вектор удаленного выполнения кода, замаскированный под аналитику.

Неуязвимая инфраструктура

xmrwallet.com не использует дешевый виртуальный хостинг. Сайт работает на надежной инфраструктуре премиум-класса, специально подобранной для противостояния запросам на ликвидацию сайта и давлению со стороны правоохранительных органов.

IOC в сфере хостинга и сетей

ПоказательЗначение
Доменxmrwallet.com
РегистраторNameSilo (2016–2031, регистрация на 15 лет)
Провайдер хостингаIQWEB FZ-LLC (550 долларов и более в месяц)
IP-адрес186.2.165.49
ASNAS59692
CDN / Защита от DDoS-атакDDoS-Guard
Веб-серверApache 2.4.58 (Ubuntu)
БэкендPHP 8.2.29
SSL-сертификатLet's Encrypt (с автоматическим продлением)
Зеркало Torxmrwalletdatuxms.onion
Годовые расходы на инфраструктуру$8,000 – $15,000+

Индикаторы операционной эффективности (IOC) для отслеживания и аналитики

ТрекерЗапросы / СессияИдентификатор
Google Tag Manager12Контейнер GTM
Google Analytics (UA)12UA-116766241-1
Google Analytics 45Поток GA4
DoubleClick1Пиксель отслеживания рекламы
Файлы cookie DDoS-Guard __ddg8_, __ddg9_, __ddg10_, __ddg1_

$8K-$15K/Year for a "Free Volunteer Wallet"

Настоящий бесплатный кошелек не тратит более 550 долларов в месяц на защищенный хостинг IQWEB FZ-LLC с технологией DDoS-Guard — инфраструктуру, специально разработанную для противодействия жалобам о злоупотреблениях и повесткам от правоохранительных органов. Он не регистрирует домен на 15 лет. Он не использует отслеживание Google Analytics на «ориентированном на конфиденциальность» кошельке Monero. Эта инфраструктура создана с одной целью: постоянные кражи в крупных масштабах.

Идентифицирован оператор: Натали Рой

Анализ открытых источников позволяет проследить инфраструктуру сайта xmrwallet.com непосредственно до одного конкретного человека.

ПолеПодробнее
ИмяНатали Рой
МестоположениеКанада
Имя пользователя на GitHubnathroy (ID: 39167759)
Организация на GitHubxmrwallet (создано 10 мая 2018 г.)
Электронная почта (администратор)admin@xmrwallet.com
Электронная почта (личная)royn5094@protonmail.com
Redditu/WiseSolution (заблокирован в r/Monero)
Twitter@xmrwalletcom
Почтовый сервер (MX)mail.privateemail.com

Заблокирован, разоблачен, но по-прежнему активен

Натали Рой была отстранена от участия в официальном Субреддит r/Monero в 2018 году для продвижения сайта xmrwallet.com. Последний коммит на GitHub был сделан в том же году. Уже более 6 лет открытый исходный код находится в замороженном состоянии, в то время как действующий сайт активно похищает средства, используя совершенно другой код. Домен оплачен до 2031 года — оператор никуда не денется.

Зарегистрированные жертвы

По крайней мере 15 случаев, о которых сообщалось в прессе о краже средств на сайтах Trustpilot, Sitejabber, Reddit и в GitHub Issues. Настоящие люди. Настоящие деньги. Исчезли.

15+
Открытые отчеты
590 XMR
Самая крупная отдельная сумма (177 тыс. долларов)
0
Годы воровства
$2M-$15M+
Расчетная общая сумма
  • 590 XMR (около 177 000 долларов) — единичный случай кражи, крупнейший из зафиксированных случаев
  • 17,44 XMR — зафиксировано в цепочке блоков с указанием идентификатора транзакции
  • За ночь было похищено 20 XMR — кошелек опустел, пока пользователь спал
  • Несколько сообщений о «Неизвестном идентификаторе транзакции» — этот swept тег «подпись»
  • Удалены задачи GitHub № 13 и выше — оператор удаляет сообщения о жертвах из репозитория

Удаленные доказательства, отсутствие кошелька для пожертвований

Оператор активно удаляет сообщения пострадавших из GitHub Issues (все задачи до № 13 уже удалены). На сайте указано, что принимаются пожертвования, но Адрес кошелька для пожертвований никогда не публиковался. Почему «независимый проект», расходующий от 8 до 15 тысяч долларов в год, отказывается от пожертвований? Потому что его доходы получены путём кражи.

Хронология событий

Хронология 2014–2024 гг.: xmrwallet.com — более 10 000 похищенных ключей — от запуска сайта до появления первых жертв и установления личности оператора
Хронология 2014–2024 гг.: xmrwallet.com — более 10 000 похищенных ключей — от запуска сайта до появления первых жертв и установления личности оператора
2016

Домен зарегистрирован — xmrwallet.com

Зарегистрировано через NameSilo с помощью 15-летний срок регистрации (2016–2031). Представляет собой бесплатный веб-кошелек Monero с открытым исходным кодом.

Май 2018 года

Создана организация на GitHub

Организация xmrwallet на GitHub создана 2018-05-10 Автор: nathroy (ID: 39167759). Публичный код, размещенный в качестве «театра прозрачности».

2018

Заблокировано и код заморожен

Оператор u/WiseSolution заблокирован в r/Monero из-за рекламного спама. Последний коммит на GitHub примерно в это время. Начинают удаляться сообщения о проблемах от пострадавших (исчезли проблемы № 1–№ 12).

2018–2024 гг.

6 лет молчания

Публичный репозиторий заморожен. Производственный код полностью отличается от исходного: в нём используется обфускация JS, недокументированные параметры и конечные точки с бэкдорами. На Trustpilot и Reddit накапливаются отзывы пострадавших.

2025–2026 годы

Расследование по делу PhishDestroy

Анализ сетевого трафика показывает, что session_key экфильтрация. Деобфускация JavaScript подтверждает raw_tx = 0 перехват транзакций. Доказательства, опубликованные в GitHub Issues #35 & #36.

Февраль 2026 года

Отчет опубликован — домен по-прежнему активен

Опубликован полный технический отчет. Сайт xmrwallet.com по-прежнему доступен. Оплата домена произведена через 2031. DDoS-Guard обеспечивает защиту от ликвидаций.

Полный объем доказательств и исходных материалов

Каждое утверждение в этой статье подкреплено доказательствами, доступными для общественной проверки. Скачайте отчеты. Проверьте исходный код. Сами проанализируйте данные сетевого мониторинга.

Безопасные альтернативы

Ни в коем случае не вводите закрытые ключи в каком-либо веб-кошельке. И точка. Используйте проверенное и прошедшее аудит программное обеспечение, которое работает локально на вашем устройстве.

Настольные кошельки

Графический интерфейс Monero — Официальный кошелек, полнофункциональный, с открытым исходным кодом, прошедший аудит
Кошелек «Feather» — Легкий, быстрый и ориентированный на конфиденциальность настольный кошелек

Мобильные кошельки

Монерухо (Android) — Программа с открытым исходным кодом и поддержкой Tor
Кошелек Cake (iOS/Android) — Поддерживает несколько криптовалют, хорошо поддерживается

Золотое правило криптовалют

Ни в коем случае не вводите свою семенную фразу, личные ключи или ключи просмотра на любой веб-сайт. Надежные кошельки работают локально — им никогда не требуется отправлять ваши ключи на сервер. Если веб-кошелек запрашивает ваши приватные ключи, это мошенничество. Для обеспечения максимальной безопасности используйте аппаратный кошелек (Ledger, Trezor) с официальным программным обеспечением Monero.

Защитим наше сообщество

xmrwallet уже 10 лет крадет монеты Monero. Доказательства доступны всем. Личность оператора установлена. Поделитесь результатами этого расследования. Подайте жалобу на домен. Помогите нам закрыть этот сайт.

Связанные расследования

Конец xmrwallet.com: NameSilo солгала, чтобы защитить криптовалютного вора, похитившего 2 млн долларов
РАССЛЕДОВАНИЕ
Конец xmrwallet.com: NameSilo солгала, чтобы защитить криптовалютного вора, похитившего 2 млн долларов
Панель фишинговых атак на Trust Wallet: похищено 239K долларов, задержаны 6 злоумышленников
ТЩАТЕЛЬНОЕ РАССЛЕДОВАНИЕ
Панель фишинговых атак на Trust Wallet: похищено 239K долларов, задержаны 6 злоумышленников
Набор инструментов «Crypto Drainer»: раскрыты имена реселлеров «Angel Drainer»
ТЩАТЕЛЬНОЕ РАССЛЕДОВАНИЕ
Набор инструментов «Crypto Drainer»: раскрыты имена реселлеров «Angel Drainer»

Поделиться этой статьей

X Telegram Reddit
Уведомление о прозрачности. PhishDestroy — это некоммерческий независимый проект. Наши исследования могут отражать некоторую предвзятость в отношении мошеннической инфраструктуры и сервисов, способствующих её функционированию. Мы призываем читателей критически и независимо оценивать все материалы. Ознакомьтесь с полным текстом нашего заявления о прозрачности →