Человек заходит, чтобы получить заработанные 200 долларов в криптовалюте. Спустя несколько минут он обнаруживает, что пропали все 3 000, которые он хранил...
Он не скачивал никаких вирусов. Не сообщал свой пароль. И не раскрывал свои 12 слов для восстановления.
Произошло другое: в итоге он дал разрешение, позволившее третьей стороне перевести его активы.
Этот способ известен как Wallet Drainer. Он сочетает социальную инженерию, мошеннические сайты и легитимные функции смарт-контрактов.
Давайте разберём на конкретном примере, как это происходит, шаг за шагом.
ШАГ 1. ПУБЛИКАЦИЯ, КОТОРАЯ ЛОВИТ ЖЕРТВУ
Всё начинается с публикации в соцсетях, где некоторым пользователям обещают, например, награду в 200 USDC.
Ссылка ведёт на страницу, имитирующую криптовалютный проект. На ней профессиональные изображения, таймер обратного отсчёта и кнопка с надписью: «Забрать награду»....
Пользователь заходит на сайт, будучи уверенным, что участвует в акции.
ШАГ 2. ПОДКЛЮЧЕНИЕ КОШЕЛЬКА
Страница просит подключить кошелёк, например MetaMask... Жертва соглашается.
В этот момент сайт может узнать её публичный адрес и проверить, какими активами она владеет в блокчейне.
Предположим, что на кошельке найдено 3.000 USDC.
До этого момента подключение кошелька само по себе не даёт разрешения снять эти средства. Опасность возникает на следующем шаге.
ШАГ 3. РАЗРЕШЕНИЕ, ЗАМаскированное под ПРОВЕРКУ
Чтобы получить обещанные 200 USDC, страница просит подтвердить операцию.
Кошелёк показывает запрос на разрешение, связанный со смарт-контрактом.
Жертва думает, что разрешает получить награду. Однако операция может содержать разрешение на расходование её USDC.
В Ethereum есть функция approve, которая позволяет указать, сколько средств может потратить авторизованный адрес или контракт, называемый spender.
Например, разрешение может позволить получателю перевести до 10.000 USDC.
У пользователя всего 3.000, но установленный лимит разрешения выше.
Он подтверждает операцию, и она записывается в блокчейн.
ИМЕННО ЗДЕСЬ ПРОИСХОДИТ РЕШАЮЩАЯ ОШИБКА: ОН НЕ РАЗРЕШИЛ ПОЛУЧИТЬ НАГРАДУ. ОН РАЗРЕШИЛ ДРУГОМУ ЛИЦУ ПЕРЕВОДИТЬ ЕГО ТОКЕНЫ.
ШАГ 4. ДРЕЙНЕР КРАДЁТ СРЕДСТВА
Как только разрешение подтверждено, вредоносная система может определить, что теперь у неё есть действующее разрешение.
Злоумышленник или подконтрольный ему контракт с необходимыми разрешениями использует другую функцию, называемую transferFrom.
Для чего она нужна?
Чтобы переводить токены с кошелька, который ранее разрешил их тратить.
В нашем примере с кошелька жертвы на адрес, подконтрольный преступникам, переводятся 3.000 USDC.
Жертве не нужно повторно подтверждать этот перевод... Его позволяет выполнить предыдущее разрешение.
Когда операция подтверждается в сети, токены меняют владельца.
ШАГ 5. ПОЛЬЗОВАТЕЛЬ ПОНИМАЕТ, ЧТО ПРОИЗОШЛО
На странице может появиться ошибка, она может зависнуть на загрузке или просто не выдать никакой награды.
Жертва снова проверяет свой кошелёк и обнаруживает, что её 3.000 USDC исчезли.
Самое тревожное — разрешение может остаться действующим, если по нему ещё доступен лимит на расходование.
Если позже на кошелёк поступят новые USDC, эти средства тоже могут оказаться под угрозой.
Но есть важный нюанс: разрешение на USDC не означает автоматического разрешения на ETH, Bitcoin или все остальные активы. У каждого разрешения есть определённая область действия.
А ЧТО НАСЧЁТ ПОДПИСЕЙ, ЗА КОТОРЫЕ НЕ НУЖНО ПЛАТИТЬ КОМИССИЮ?
Есть и другой вариант, использующий такие механизмы, как permit или Permit2.
При определённых условиях злоумышленник может получить криптографическую подпись вне блокчейна, а затем использовать её для выполнения разрешённого перевода.
Из-за этого некоторые сообщения для подписи, похожие на обычные запросы подтверждения, особенно опасны.
Не все подписи позволяют переводить средства. Решающее значение имеют их содержание и связанные с ними разрешения.
КАК ЭТОГО ИЗБЕЖАТЬ?
Прежде чем подтверждать операцию, проверь, на какой токен выдаётся разрешение, какой адрес его получит и каков лимит на расходование.
Никогда не выдавай неограниченные разрешения неизвестным приложениям.
Проверяй выданные разрешения с помощью таких инструментов, как Revoke.cash или MetaMask Portfolio. Если обнаружишь подозрительные разрешения, отзови их как можно скорее.
Отключение страницы от кошелька не равнозначно отзыву выданных ей разрешений. А отзыв разрешения не вернёт уже переведённые деньги.
🧠 Вот так... Всё просто....
Криптодрейнер показывает, что операция может быть технически корректной и в то же время быть частью мошеннической схемы.
Блокчейн фиксирует, что адрес выдал разрешение. Но только на этом основании нельзя определить, понял ли его владелец, на что именно он даёт разрешение.
Злоумышленник как раз и пользуется этой разницей.
Жертва думает, что нажимает кнопку, чтобы получить деньги. На самом деле она может разрешать механизм, который позволит их у неё забрать.
А когда она понимает разницу, перевод уже может быть выполнен, а средства — выйти из-под её контроля....
🎥 Хочешь ещё безумных советов о том, как защитить себя ??? Тогда ПОДПИШИСЬ!

