Предупреждение безопасности Web3 丨Новая игра в цепочке, крупномасштабная расшифровка метода Rug Pull

В последнее время команда экспертов по безопасности CertiK часто обнаруживала многочисленные «мошенничества на выходе» с использованием одной и той же тактики, которая широко известна как Rug Pull.

После того, как мы провели углубленное расследование, мы обнаружили, что многочисленные инциденты с одинаковой тактикой указывали на одну и ту же банду и в конечном итоге были связаны с более чем 200 мошенничествами с выходом токенов. Это указывает на то, что мы, возможно, обнаружили крупномасштабную автоматизированную хакерскую команду, которая собирает активы посредством «мошеннических действий при выходе».

В ходе этих мошенничеств с выходом злоумышленник создаст новый токен ERC20 и пул ликвидности Uniswap V2 с токеном, предварительно добытым на момент создания, плюс определенное количество WETH.

Когда новый робот в цепочке или пользователь покупает новые токены в пуле ликвидности определенное количество раз, злоумышленник будет использовать токены, сгенерированные из воздуха, чтобы исчерпать весь WETH в пуле ликвидности.

Поскольку токены, полученные злоумышленником из воздуха, не отражаются в общем объеме поставок (totalSupply) и не запускают событие Transfer, их нельзя увидеть в etherscan, что затрудняет восприятие для внешнего мира.

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

Более глубокое мошенничество

Давайте возьмем один из случаев в качестве примера, чтобы объяснить детали этой аферы с выходом.

То, что мы обнаружили, на самом деле было транзакцией, в которой злоумышленник использовал огромное количество токенов (тайно выпущенных) для истощения пула ликвидности и получения прибыли. Обмен Было выпущено около 9,736 WETH, что привело к истощению ликвидности пула.

Однако эта транзакция является лишь последним звеном всей аферы.Чтобы понять всю аферу, нам нужно продолжать отслеживать ее вперед.

Развертывание токенов

В 7:52 утра 6 марта (время UTC, то же самое ниже) по адресу злоумышленника (0x8AF8) компания Rug Pull развернула токен ERC20 (адрес 0x4894) с именем MUMI (полное имя MultiMixer AI) и предварительно добыла на нем 420 690 000 (приблизительно 420 миллионов) токенов были выделены, и все они были переданы подрядчикам по развертыванию контрактов.

Предупреждение безопасности Web3丨Новая игра в цепочке, расшифровка крупномасштабных техник выдергивания ковров

Количество предварительно добытых токенов соответствует исходному коду контракта.

Предупреждение безопасности Web3 丨Новая игра в цепочке, расшифровка крупномасштабных техник выдергивания ковров

Добавьте ликвидность

Ровно в 8 часов (через 8 минут после создания токена) адрес злоумышленника (0x8AF8) начал добавлять ликвидность.

Адрес злоумышленника (0x8AF8) вызывает функцию openTrading в контракте токена, создает пул ликвидности MUMI-WETH через фабрику uniswap v2, добавляет все предварительно добытые токены и 3 ETH в пул ликвидности и, наконец, получает примерно 1,036 токена LP.

Предупреждение безопасности Web3 丨Новая игра в цепочке, крупномасштабная расшифровка техники Rug Pull

Предупреждение безопасности Web3 丨Новая игра в цепочке, расшифровка крупномасштабных техник выдергивания ковров

Из деталей транзакции видно, что из 420 690 000 (приблизительно 420 миллионов) токенов, первоначально использованных для добавления ликвидности, примерно 63 103 500 (приблизительно 63 миллиона) токенов были отправлены обратно в контракт токена (адрес 0x4894). обнаружил, что контракт токена взимает определенную комиссию за обработку за каждый перевод, а адресом для сбора комиссии за обработку является сам контракт токена (специально реализованный в «функции _transfer»).

Предупреждение безопасности Web3 丨Новая игра в цепочке, расшифровка крупномасштабных техник выдергивания ковров

**Странно то, что в контракте был указан налоговый адрес 0x7ffb (адрес для сбора комиссий за перевод), но окончательная комиссия была отправлена в сам контракт токена. **

Предупреждение безопасности Web3 丨Новая игра в цепочке, крупномасштабная расшифровка техники Rug Pull

Таким образом, окончательное количество токенов MUMI, добавленных в пул ликвидности, составляет 357 586 500 (приблизительно 350 миллионов) после уплаты налогов, а не 420 690 000 (приблизительно 430 миллионов).

Блокировка ликвидности

В 8:01 (через 1 минуту после создания пула ликвидности) адрес злоумышленника (0x8AF8) заблокировал все 1,036 токенов LP, полученных путем добавления ликвидности.

Предупреждение безопасности Web3丨Новая игра в цепочке, расшифровка крупномасштабных техник выдергивания ковров

После блокировки LP теоретически все токены MUMI, принадлежащие адресу злоумышленника (0x8AF8), блокируются в пуле ликвидности (за исключением части, используемой в качестве комиссий за обработку), поэтому адрес злоумышленника (0x8AF8) не имеет возможности его удалить. благодаря способности Ликвидности выполнять Rug Pull.

Чтобы позволить пользователям с уверенностью покупать недавно выпущенные токены, многие участники проекта блокируют LP, что означает, что участник проекта говорит: «Я не убегу, каждый может покупать с уверенностью!», Но так ли это на самом деле? ? Очевидно нет, это так, продолжим анализ.

Коврик

В 8:10 появился новый адрес злоумышленника ② (0x9DF4), и он задействовал налоговый адрес 0x7ffb, заявленный в контракте токена.

Предупреждение безопасности Web3 丨Новая игра в цепочке, крупномасштабная расшифровка техники Rug Pull

Здесь стоит упомянуть три момента:

  1. Адрес, по которому развернут налоговый адрес, не совпадает с адресом, по которому развернуты токены. Это может указывать на то, что участник проекта намеренно снижает корреляцию между каждой операцией и адресом, что затрудняет отслеживание поведения.

  2. Контракт налогового адреса не является открытым исходным кодом, а это означает, что в налоговом адресе могут быть скрытые операции, которые вы не хотите раскрывать.

  3. Налоговый контракт развертывается позже, чем контракт токена, а налоговый адрес в контракте токена жестко запрограммирован, что означает, что участник проекта может предсказать адрес налогового контракта.Поскольку инструкция CREATE определяет адрес создателя Адрес контракта определен, поэтому команда проекта заранее смоделировала адрес контракта, используя адрес создателя.

**На самом деле, многие мошеннические выходы осуществляются через налоговые адреса, а характеристики режима размещения налоговых адресов соответствуют пунктам 1 и 2 выше. **

В 11 часов утра (через 3 часа после создания токена) злоумышленник по адресу ② (0x9DF4) выполнил Rug Pull. Вызвав метод налогового контракта «swapExactETHForTokens» (0x77fb), он обменял 416 483 104 164 831 (примерно 416 триллионов) токенов MUMI в налоговом адресе примерно на 9,736 ETH и исчерпал ликвидность в пуле.

Предупреждение безопасности Web3 丨Новая игра в цепочке, крупномасштабная расшифровка техники Rug Pull

Поскольку налоговый контракт (0x77fb) не является открытым исходным кодом, мы декомпилировали его байт-код и результаты декомпиляции следующие:

Проверив декомпилированный код метода swapExactETHForTokens налогового контракта (0x77fb), мы обнаружили, что основной функцией этой функции является передача налогового контракта (0x77fb) с номером "xt" (заданным вызывающим кодом) через Маршрутизатор uniswapV2.Токены MUMI обмениваются на ETH и отправляются на адрес «_manualSwap», указанный в налоговом адресе.

Предупреждение безопасности Web3 丨Новая игра в цепочке, крупномасштабная расшифровка техники Rug Pull

Предупреждение безопасности Web3 丨Новая игра в цепочке, расшифровка крупномасштабных техник выдергивания ковров

Предупреждение безопасности Web3 丨Новая игра в цепочке, крупномасштабная расшифровка техники Rug Pull

Адрес хранения адреса _manualSwap — 0x0. После запроса с помощью команды getStorageAt json-rpc обнаруживается, что адрес, соответствующий _manualSwap, является развертывателем налогового контракта (0x77fb): злоумышленник ② (0x9DF4).

Предупреждение безопасности Web3 丨Новая игра в цепочке, крупномасштабная расшифровка техники Rug Pull

Входной параметр xt этой транзакции Rug Pull равен 420 690 000 000 000 000 000 000, что соответствует 420 690 000 000 000 (приблизительно 420 триллионов) токенов MUMI (десятичное число токенов MUMI равно 9).

Предупреждение безопасности Web3 丨Новая игра в цепочке, крупномасштабная расшифровка техники Rug Pull

Другими словами, в итоге проект использовал 420 690 000 000 000 (приблизительно 420 триллионов) MUMI для слива WETH из пула ликвидности и завершения всей аферы с выходом.

Однако здесь возникает ключевой вопрос: откуда взялся налоговый контракт (0x77fb) из такого количества токенов MUMI?

Из предыдущего контента мы знаем, что общее количество токенов MUMI на момент развертывания контракта токена составляло 420 690 000 (приблизительно 420 миллионов), а после того, как мошенничество с выходом закончилось, общее количество запрошенных нами токенов MUMI в контракте токена MUMI. Сумма по-прежнему составляет 420 690 000 (на рисунке ниже показано как 420 690 000 000 000 000, необходимо вычесть 0 из соответствующей цифры десятичной дроби, которая равна 9). Токены в налоговом контракте (0x77fb) намного превышают общий объем предложения (420 690 000 000 000, около 420 триллионов). Как будто он появился из воздуха.Вы должны знать, что, как упоминалось выше, 0x77fb в качестве налогового адреса даже не использовался для получения комиссий за обработку, генерируемых в процессе передачи токена MUMI.Налог был получен токен-контракт.

Предупреждение безопасности Web3 丨Новая игра в цепочке, крупномасштабная расшифровка техники Rug Pull

Раскрыта техника

  • Откуда налоговый договор

Чтобы изучить источник токена налогового контракта (0x7ffb), мы просмотрели историю его передачи ERC20.

Предупреждение безопасности Web3 丨Новая игра в цепочке, крупномасштабная расшифровка техники Rug Pull

Было установлено, что среди всех 6 событий перевода, относящихся к 0x77fb, были только события перевода из налогового контракта (0x7ffb), а событий, в которых были переданы токены MUMI, не было. На первый взгляд, токены налогового контракта ( 0x7ffb) действительно появились из воздуха.

Таким образом, огромные токены MUMI, появившиеся из воздуха по адресу налогового контракта (0x7ffb), имеют две характеристики:

  1. Никакого влияния на общий объем поставок по контракту MUMI.

  2. Увеличение токенов не вызывает событие Transfer.

Тогда идея очень ясна, то есть в контракте токена MUMI должен быть бэкдор, который напрямую изменяет переменную баланса, а при изменении balabce он не модифицирует totalSupply и не запускает событие Transfer.

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

Следующим шагом будет проверка вышеизложенной идеи: мы напрямую ищем ключевое слово «баланс» в исходном коде контракта токена MUMI.

Предупреждение безопасности Web3 丨Новая игра в цепочке, крупномасштабная расшифровка техники Rug Pull

В результате мы обнаружили, что в контракте есть функция приватного типа "swapTokensForEth", а входным параметром является tokenAmount типа uint256. В 5-й строке функции участник проекта напрямую модифицирует _taxWallet, который является MUMI баланс налогового контракта (0x7ffb). is tokenAmount * 10**_decimals, что в 1 000 000 000 (приблизительно 1 миллиард) раз превышает tokenAmount, а затем конвертировать сумму tokenAmount MUMI в ETH из пула ликвидности и сохранить ее. в контракте токена (0x4894).

Затем найдите ключевое слово «swapTokenForEth».

Предупреждение безопасности Web3 丨Новая игра в цепочке, расшифровка крупномасштабных техник выдергивания ковров

Функция "swapTokenForEth" вызывается в функции "_transfer". Если вы внимательно посмотрите на условия вызова, то обнаружите:

  1. Когда адресом получения перевода является пул ликвидности MUMI-WETH.

  2. Функция «swapTokenForEth» будет вызываться только тогда, когда другие адреса покупают токены MUMI в пуле ликвидности более чем на _preventSwapBefore (5 раз).

  3. Входящий tokenAmount — это меньшее значение между балансом токена MUMI, принадлежащим адресу токена, и _maxTaxSwap.

Предупреждение безопасности Web3 丨Новая игра в цепочке, крупномасштабная расшифровка техники Rug Pull

Предупреждение безопасности Web3 丨Новая игра в цепочке, расшифровка крупномасштабных техник выдергивания ковров

То есть, когда контракт обнаруживает, что пользователь обменял WETH на токены MUMI в пуле более 5 раз, он тайно отчеканит огромное количество токенов для налогового адреса, а также конвертирует часть токенов в ETH и сохранит их в контракте токена.

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

**С другой стороны, на самом деле команда проекта занимается прямым изменением баланса счета и сливом всего пула ликвидности после того, как количество транзакций пользователя достигнет 5 раз. **

  • Как получить прибыль

После выполнения функции «swapTokenForEth» функция «_transfer» также выполнит sendETHToFee для отправки ETH, полученного в результате сбора налогов, по адресу токена в налоговый контракт (0x77fb).

Предупреждение безопасности Web3 丨Новая игра в цепочке, крупномасштабная расшифровка техники Rug Pull

ETH в налоговом контракте (0x77fb) может быть извлечен с помощью функции «спасения», реализованной в его контракте.

Предупреждение безопасности Web3 丨Новая игра в цепочке, расшифровка крупномасштабных техник выдергивания ковров

Теперь взгляните на запись погашения последней прибыльной транзакции во всей афере с выходом.

Предупреждение безопасности Web3 丨Новая игра в цепочке, крупномасштабная расшифровка техники Rug Pull

Всего в прибыльной сделке было совершено два обмена: в первый раз было 4 164 831 (около 4,16 миллиона) токенов MUMI на 0,349 ETH, а во второй раз — 416 483 100 000 000 (около 416 триллионов) токенов MUMI на 9,368 ETH. Второй обмен - это обмен, инициированный функцией "swapExactETHForTokens" в налоговом контракте (0x7ffb). Причина, по которой число не соответствует 420 690 000 000 000 (приблизительно 420 триллионов) токенов, представленных входными параметрами, заключается в том, что некоторые токены используются в качестве налога отправляется в контракт токена (0x4894), как показано на рисунке ниже:

Предупреждение безопасности Web3 丨Новая игра в цепочке, расшифровка крупномасштабных техник выдергивания ковров

Первый обмен соответствует второму процессу обмена.Когда токен отправляется из налогового контракта (0x7ffb) в контракт маршрутизатора, условие запуска бэкдор-функции в контракте токена выполняется, что приводит к срабатыванию «swapTokensForEth».Обмен инициируется. по функции не является критической операцией.

  • Коса позади

Как видно из вышеизложенного, весь цикл мошенничества с выходом от развертывания до создания пула ликвидности и Rug Pull токенов MUMI занимает всего около 3 часов, но по цене менее 6,5 ETH (3 ETH используется для Для добавления ликвидности было использовано 3 ETH для обмена MUMI из пула ликвидности для стимулирования, а для развертывания контрактов и инициирования транзакций было использовано менее 0,5 ETH) и получено 9,7 ETH с максимальной прибылью более 50%. **

Было проведено 5 транзакций, в которых злоумышленник обменял ETH на MUMI, не упомянутых в предыдущей статье.Информация о транзакции следующая:

Анализируя адреса EOA, работающие в ликвидности, мы обнаружили, что значительная часть адресов являются «новыми роботами» в цепочке.В сочетании с характеристиками всего скама, который быстро появляется и выходит**, у нас есть основания полагать что вся эта афера нацелена. Целью являются всевозможные новые роботы и новые скрипты, которые очень активны в цепочке. **

Таким образом, будь то кажущаяся ненужной, но сложная разработка контракта, развертывание контракта и процесс блокировки ликвидности токена или подозрительное поведение связанного адреса злоумышленника, активно обменивающего ETH на токены MUMI, можно понять, что злоумышленник пытается Маскировка, сделанная с целью обмануть антифрод-программы различных новых ботов в сети. **

Отслеживая движение капитала, мы обнаружили, что все доходы от атаки в конечном итоге были отправлены на адрес расчетного фонда ** (0xDF1a)** по адресу атаки ② (0x9dF4).

Предупреждение безопасности Web3 丨Новая игра в цепочке, расшифровка крупномасштабных техник выдергивания ковров

Фактически, первоначальный источник средств и конечный пункт назначения средств для многих мошенничеств с выходом, которые мы недавно обнаружили, указывают на этот адрес, поэтому мы провели приблизительный анализ и статистику транзакций по этому адресу.

В конечном итоге было обнаружено, что адрес стал активным около 2 месяцев назад и на сегодняшний день инициировал более 7000 транзакций и что адрес взаимодействовал с более чем 200 токенами.

Мы проанализировали около 40 записей транзакций с токенами и обнаружили, что в пулах ликвидности, соответствующих почти всем токенам, которые мы рассмотрели, в конечном итоге возникнет обменная транзакция с входной суммой, которая намного превышает общий объем предложения токена. ETH исчерпан, и весь период мошенничества с выходом короче.

Транзакции развертывания некоторых токенов (Mingyan China) следующие:

Предупреждение безопасности Web3 丨Новая игра в цепочке, крупномасштабная расшифровка техники Rug Pull

Предупреждение безопасности Web3 丨Новая игра в цепочке, расшифровка крупномасштабных техник выдергивания ковров

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

**Этот адрес все еще активен. **

Напишите в конце

Если токен не изменяет totalSupply при чеканке и не вызывает событие Transfer, нам будет сложно определить, тайно ли выпускает токены сторона проекта. Это также усугубит проблему, связанную с тем, является ли токен безопасным или Не зависит полностью от стороны проекта. Сознательно или нет» статус-кво.

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

И нам нужно быть внимательными к тому, что, хотя осведомленность каждого о борьбе с мошенничеством улучшается, методы борьбы с мошенничеством у злоумышленников также улучшаются. Это бесконечная игра. Нам нужно продолжать учиться и думать, чтобы быть в состоянии сделать это. Защитите себя в игре.

Посмотреть Оригинал
  • Награда
  • комментарий
  • Поделиться
комментарий
0/400
Нет комментариев