Дрейн-кошельки и чистка после взлома: спасаем то, что осталось
Представьте: вы открываете MetaMask, а баланс — ноль. Транзакции на Etherscan, которые вы не совершали. Первая реакция большинства людей — паника, а паника в крипте стоит дороже самого взлома. За следующие 10 минут вы либо спасёте остаток портфеля, либо подарите атакующим всё до последнего сатоши.
Дело в том, что взлом редко бывает «полным». Дрейнеры часто забирают только те токены, на которые у них есть approve, или те, что лежат в прямой доступности. Пока вы цепляетесь за скомпрометированный кошелёк, скрипт атакующего продолжает мониторить адрес в реальном времени: любой новый актив — например, эйрд rop или возврат средств с биржи — уводится за секунды.
Эта статья — пошаговый протокол действий на первые часы после инцидента: что закрывать первым, как мигрировать на чистый кошелёк и какие ошибки приводят к повторному дренажу уже после того, как вы «всё исправили».
Первые 10 минут: приоритеты спасения
Ваши действия по убыванию срочности:
- Заморозьте входящие потоки. Немедленно отмените выводы с бирж на взломанный адрес. Если вывод уже в пути и его нельзя отозвать — готовьтесь перехватывать: сидите с открытым кошельком и переводите средство дальше сразу после зачисления.
- Выведите нативную монету (ETH, BNB, SOL) первой. Газ для дренера важнее ваших стейблкоинов — без газа он не сможет двигать токены. Если вы заберёте ETH, часть approve-токенов временно заблокирована и для него тоже.
- Выводите ценные токены первыми — USDT, USDC, WBTC. Мемкоины и мусор оставьте напоследок.
- Газ ставьте выше рынка в 1,5–2 раза. В момент атаки вы конкурируете с ботом. Комиссия 30 рублей против обычных 15 — не та экономия, из-за которой стоит терять 500 000.
Если seed-фраза скомпрометирована полностью, а не только доступ через браузер, счёт идёт на минуты: переносите активы в новый кошелёк прямо сейчас, разбором причин займётесь потом.
Правило дренажа: пока вы не убедились в компрометации seed-фразы, действуйте так, будто она скомпрометирована. Скомпрометированный кошелёк не «лечится» — он покидается.
Миграция на чистый кошелёк
Новый кошелёк создаётся с нуля: новая seed-фраза, новое устройство или хотя бы новый браузер с чистым профилем. Пошагово:
Шаг 1. Подготовка чистой среды
- Если подозреваете вирус — другой компьютер или смартфон, с которого не заходили в старый кошелёк.
- Скачивайте кошелёк только с официального сайта разработчика, не из рекламы в поиске.
- Пишите seed-фразу на бумаге, без облачных заметок и скриншотов.
Шаг 2. Перенос активов
Переносите по цепочке «от дорогого к дешёвому»: сначала нативная монета для газа, затем стейблы, затем остальное. Токены с активными approve на скомпрометированные контракты лучше вывести в один заход, не оставляя «на потом».
Шаг 3. Проверка на повторную компрометацию
Не импортируйте старые seed-фразы в новый кошелёк «на всякий случай», не подписывайте в новом кошельке разрешения от старых dApp и не вставляйте старую фразу в сервисы «проверки» — это вторая по частоте причина повторного дренажа.
Практический пример с цифрами
Инвестор Артём обнаружил дренаж: из кошелька ушли 12 000 USDT (~1,1 млн рублей), но остались ETH на 18 000 рублей, 2 000 USDT на стейкинг-позе в dApp и NFT-коллекция стоимостью около 60 000 рублей.
Действия и тайминг:
- Минута 0–3: с телефона (не с заражённого ноутбука) создан новый кошелёк Ledger + свежий MetaMask.
- Минута 3–8: переведены 2 000 USDT и остаток ETH. Газ выставлен x2 от среднего — переплата 200 рублей, скорость — три минуты на транзакцию.
- Минута 8–20: выведены NFT одним батчем через официальный контракт кошелька.
- Итог: из 80 000 оставшихся рублей спасено около 79 000 (≈99%). Затраты на газ — примерно 900 рублей.
Контрпример: его знакомый в аналогичной ситуации «подождал, пока пройдёт паника», за это время на кошелёк пришёл возврат 40 000 рублей со сгоревшего вывода с биржи — дренер забрал их за 40 секунд.
Типичные ошибки после взлома
Чек-лист того, чего делать нельзя:
- Продолжать пользоваться старым кошельком после «переустановки расширения» — расширение не отменяет доступ к seed-фразе.
- Переносить в новый кошелёк токены без отзыва approve — вместе с ними уедут и разрешения на списание.
- Сообщать seed-фразу «поддержке», «следователям» или в чат «возврата украденных средств» — 100% таких чатов ведут сами мошенники.
- Паниковать и подписывать непонятные транзакции «для отмены взлома» — повторная подпись даёт дренеру новые разрешения.
- Хранить новую seed-фразу там же, где старую: в том же менеджере паролей, той же заметке, том же облаке.
После спасения: гигиена на будущее
Разберите причину: ревизия разрешений через Revoke.cash, проверка расширений (крипто-дrain-расширения маскируются под вполне легитимные), аудит использованных dApp. Заведите сегрегацию кошельков: «холодный» для хранения, отдельный — для экспериментов с новыми проектами, рабочий — для бирж. На горячем кошельке держите не более 5–10% портфеля.
Зафиксируйте убыток документально: скриншоты транзакций с Etherscan, дата, суммы — пригодится и для налоговой, и для обращения в правоохранительные органы (реальные кейсы возврата редки, но хеш транзакций и вывод на биржу с KYC иногда позволяют заморозить средства).
FAQ
Нужно ли отзывать approve на взломанном кошельке? Если кошелёк уже покинут — нет, это трата газа. Отзыв нужен, только если вы уверены, что скомпрометирован лишь браузер, а seed-фраза в безопасности, и вы остаётесь на этом кошельке. Во всех остальных случаях — миграция.
Вернут ли украденное через полицию или биржу? Шанс низкий, но не нулевой: если средства прошли через биржу с верификацией, официальный запрос может заморозить вывод на срок проверки. Действуйте в первые сутки, приложите хеши транзакций.
Кошелёк на Ledger тоже под угрозой? Seed-фраза аппаратного кошелька в безопасности, пока вы не вводили её в ПО на компьютере. Под угрозой — подтверждения транзакций на слепую и approve, подписанные на устройстве. Прошейте/обновите прошивку с официального сайта и проверьте, что фразу никогда не снимали с экрана устройства.