Отмывал через Tornado Cash — и сам попался: минус $10 млн

4,79
15.04.2025
4428
8 мин.
Хакер хотел отмыть украденное через Tornado Cash — но сам стал жертвой. Как он потерял $10 млн из-за фишинга и зачем признался об этом в блокчейне?
Получить консультацию экспертов AML Crypto
Украл 3000 ETH — и сам стал жертвой. Хакер попытался скрыть следы через Tornado Cash, но попался на фейковый сайт. Миллионы ушли в реальный контракт, а доступ к ним — навсегда утерян. В отчаянии он оставил прощальное сообщение прямо в блокчейне.

Введение

По мере того как децентрализованные финансы и анонимные криптосервисы набирают обороты, всё больше злоумышленников используют криптомиксеры, чтобы замести следы и скрыть происхождение украденных средств. Один из самых известных инструментов для этого — Tornado Cash. Он позволяет "разорвать цепочку" между отправителем и получателем, делая транзакции практически неотслеживаемыми.
Криптовалютный миксер — это сервис, предназначенный для обеспечения анонимности транзакций в блокчейне. Его основная функция — разорвать прямую связь между отправителем и получателем средств, тем самым затрудняя отслеживание происхождения криптовалюты.

Работает это следующим образом: пользователь отправляет крипту в общий пул, где она смешивается с деньгами других. Потом эти средства можно вывести на новый адрес, уже без явной связи с исходным. Чтобы это сделать, нужен специальный секретный код — его выдают при депозите.

Децентрализованные миксеры — работают на базе смарт-контрактов (пример: Tornado Cash).

Хотя миксеры изначально придумали для анонимности, их часто используют для отмывания украденных средств. Поэтому во многих странах к ним относятся с подозрением и стараются ограничить или вовсе запретить.
Даже самые продуманные мошеннические схемы могут развалиться, когда вмешивается человеческий фактор — спешка, невнимательность или вера в собственную неуязвимость. Именно это и произошло в начале 2025 года: хакер, пытавшийся замести следы после кражи, неожиданно сам стал жертвой, чем привлёк внимание криптосообщества.

Хакер, укравший крупную сумму и решивший отмыть её через Tornado Cash, сам стал жертвой фишинга. Он зашёл на поддельный сайт, внешне неотличимый от настоящего, отправил туда средства, но не получил секретный код, необходимый для их вывода. Деньги ушли в настоящий контракт, но забрать их теперь не получится.

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

Основная часть

Как всё произошло: от хищения до безвозвратной утраты

На первый взгляд, действия адреса 0xD89B7236f4eA38a2AfC1d614Dc3De08A190f1Ff5 не вызывали подозрений. Он последовательно переводил крупные суммы ETH в смарт-контракт Tornado Cash. Всё выглядело как стандартная схема анонимизации: отправка средств, ожидание, получение секретного кода (note) и последующий вывод на "чистый" адрес.

Но на этот раз операция закончилась полной неудачей. Причиной стала не ошибка в контракте или сбой сети, а куда более банальная вещь — использование фишингового сайта, замаскированного под оригинальный интерфейс Tornado Cash.

Чтобы лучше понять ход событий, ниже представлена схема, иллюстрирующая движение средств в рамках данного инцидента. На графе видно:

  • с какого адреса были отправлены средства;
  • как они попали в смарт-контракт Tornado Cash;
  • кто является конечным получателем части криптоактивов.
Граф наглядно демонстрирует, что средства действительно оказались в настоящем контракте, но без валидного секретного кода их невозможно вывести — даже самому отправителю.

Граф связей Bholder, демонстрирующий перетекание криптовалюты от хакера на адрес Tornado Cash.

Фальшивый интерфейс, реальный контракт, потерянные средства

Злоумышленник зашёл на поддельную версию сайта Tornado Cash, визуально идентичную настоящему. Такие фишинговые dApp-интерфейсы часто работают с реальными контрактами, однако подменяют критически важные элементы — в данном случае секретный код, который выдаётся пользователю после внесения депозита.

Именно этот код (note) служит единственным доказательством права на последующий вывод средств из контракта Tornado Cash. Если пользователь его не получил или получил неверный код, он больше не сможет доказать, что является владельцем депозита — даже если средства действительно находятся в настоящем контракте.

Так, хакер перевёл 2930 ETH (примерно $10 млн) в смарт-контракт Tornado Cash, но из-за фишингового интерфейса не получил действительный note. В результате — он утратил доступ к криптовалюте навсегда.
Пользователь блокчейна и его сообщения хакеру.

Как ни странно, блокчейн оказался не только местом для потери миллионов, но и своеобразным чатом для кратких, но выразительных реплик. Спустя несколько часов после инцидента в истории появился новый персонаж — пользователь с адресом 0x914d73E3..., который, по всей видимости, решил не упустить шанс вставить колкое словцо.

В духе тонкого веб3-сарказма он оставил хакеру два коротких сообщения прямо в блокчейне. Без сочувствия, но с чёткой моралью:
zkLend-хакер, не радуйся. Ты использовал фейковую ссылку Tornado Cash, твой код был использован (safe-relayer.eth), и все средства уже находятся на 0xf9effa7d38a9aa9e5ecc725666cbf04014431ad.
А затем, будто закрепляя эффект:
Ты ввёл URL фейкового Tornado Cash, и код был забран safe-relayer.eth.
Ответ, достойный всей этой абсурдной истории: преступник, решивший спрятаться в анонимности, сам стал мишенью — только уже не регуляторов или полиции, а других обитателей крипто-джунглей. Возможно, это были "белые хакеры". Возможно — конкуренты. А, может быть, просто кто-то, кто оказался проворнее.

В любом случае, это стало финальным штрихом в цифровом портрете поражения: вместо очищенных и безопасных средств — публичная пощёчина.

Публичное раскаяние прямо в блокчейне

Осознав, что вернуть средства невозможно, хакер предпринял редкий для криптопреступника шаг — публично признал свою ошибку в сообщении прямо в блокчейне. Он отправил его на адрес, связанный с проектом zkLend, предположительно пострадавшим от его атаки:
Привет. Я попытался перевести средства в Tornado, но воспользовался фишинговым сайтом, и все средства были потеряны. Я в отчаянии. Я сожалею о нанесенном ущербе. Все 2930 ETH забрали владельцы этого сайта*. У меня больше нет монет. Пожалуйста, направьте свои усилия в сторону этих людей, чтобы, возможно, вернуть хотя бы часть средств. Это будет моё последнее сообщение. Лучше всё закончить. Ещё раз прошу прощения.
*- Речь идёт про фишинговую платформу, которой воспользовался zkLend hacker.

Это послание стало неожиданным разворотом в истории — своего рода цифровым раскаянием, зафиксированным в блокчейне. Оно подчёркивает: даже в среде анонимных операций человеческий фактор остаётся самой уязвимой частью схемы.
Ответ от команды zkLend

На это сообщение вскоре последовал краткий ответ от адреса, связанного с командой zkLend:
Верни все оставшиеся средства на этот адрес.
Судя по всему, возвращать было уже нечего. Это было не столько требование, сколько жест, обозначающий окончание диалога — без компромиссов, без сожаления.

Фрагмент публичного обращения хакера после неудачной попытки отмыть средства через фишинговый сайт. Он сообщает о потере более 2900 ETH и просит перенаправить усилия на поиски владельцев фейкового интерфейса. Источник: https://etherscan.io/idm?addresses=0xd89b7236f4ea38a2afc1d614dc3de08a190f1ff5,0xcf31e1b97790afd681723fa1398c5ead9f69b98c&type=1.

Хронология перепискок хаккера с пользователем блокчейна, а также с zkLend.

Основная часть (Продолжение)

Как работает фишинг в DeFi: подделка интерфейса, настоящие потери

Одной из уникальных особенностей децентрализованных приложений (dApp) является то, что их интерфейс отделён от логики. Пользователь взаимодействует с фронтендом сайта, который лишь направляет транзакции в смарт-контракт — сам код которого может быть настоящим. Это создаёт благоприятную почву для фишинговых атак, особенно если речь идёт о таких популярных сервисах, как Tornado Cash.

В случае с хакером, потерявшим 2930 ETH, вероятнее всего, был использован оригинальный контракт Tornado Cash, но доступ к нему происходил через фальшивый сайт, визуально идентичный настоящему. Такой сайт:
корректно подключает кошелёк пользователя;
имитирует интерфейс (UI) Tornado Cash: выбор суммы, вкладка депозита;
перенаправляет средства в настоящий контракт;
либо не отображает код note, либо подменяет его на фальшивый, не имеющий отношения к депозиту;
может сохранять копию выданных кодов для дальнейшего собственного вывода средств.
Проблема в том, что система Tornado Cash не хранит никакой связи между адресом и депозитом — всё держится на знании уникального кода. Если пользователь его не получил (или получил не тот), он теряет возможность воспользоваться деньгами, которые сам же внёс.

Это уязвимость не платформы, а пользователя: смарт-контракт не знает, через какой сайт к нему обращаются. Именно поэтому основная атака была направлена на интерфейс, а не на сам Tornado Cash.
Примечание: cкриншот интерфейса Tornado Cash представлен в статье исключительно для пояснения технической части инцидента. Мы не пропагандируем использование подобных инструментов и публикуем изображение только в контексте анализа конкретной ситуации.

Выводы: блокчейн помнит всё, даже раскаяние

Ситуация с хакером, потерявшим награбленное из-за фишингового сайта, напоминает сюжет из антиутопии: преступник, намеревавшийся очистить деньги с помощью Tornado Cash, сам оказался жертвой. Но эта история — не просто курьёз. Она подчёркивает сразу несколько вещей, важных как для пользователей, так и для профессионалов в криптопространстве.
  • Даже реальный контракт не гарантирует безопасность, если взаимодействие происходит через фальшивый интерфейс.
  • Никакая сумма не защищает от человеческой ошибки — особенно в условиях полной децентрализации и отсутствия "службы поддержки".
  • Фишинг в Web3 выходит на новый уровень: злоумышленники уже охотятся не за новичками, а за другими преступниками, у которых в руках — миллионы.
  • Блокчейн — это публичная сцена, где фиксируется не только движение активов, но и цифровые эмоции: сожаление, паника, раскаяние.
История с потерей 2930 ETH — это не просто технический казус. Это зеркальное отражение криптомира, где анонимность и безопасность — это личная ответственность, а карма может проявиться в форме строки, записанной в блокчейне.
Заключение: ошибка, записанная в блокчейн
Эта история — не просто эпизод из криптомира, а напоминание: даже в мире, построенном на коде и логике, самым слабым звеном остаётся человек.

Хакер, хладнокровно провернув сложную атаку, потерял всё из-за самой банальной ошибки — фишингового сайта, внешне неотличимого от оригинала. Он не перепроверил ссылку, не удостоверился в коде, и в итоге лишился всего.

Возможно, он верил, что Tornado Cash скроет его следы. Но именно стремление к невидимости сделало его уязвимым.

Потеряв миллионы, он не стал оправдываться — просто написал короткое, почти личное сообщение… в блокчейне. Извинения. Раскаяние. Может, попытка отпустить вину.

Справедливость ли это? Не факт. В мире, где нет судей, иногда приговором становится всего одна строка. Или её отсутствие.
Хотите узнать больше и получить консультацию экспертов? Оставьте email и мы с вами оперативно свяжемся!
Проверьте блокчейн-адрес с помощью Btrace
За секунды определите уровень риска адреса контрагента, узнайте источник его средств и примите взвешенное решение о взаимодействии с ним.

ПРЕДОТВРАТИте БЛОКИРОВКУ СРЕДСТВ

ОГРАДИте себя от мошенников

избегите проблем с законом

Смотрите также