📣 Gate.io Пост Крипто Обозреватель Призыв к действию!
📈 Share Крипто Новости и выигрывайте отличные награды еженедельно!
💓 Не стесняйтесь, присоединяйтесь прямо сейчас ⏬
1. Делитесь ежедневными новостями о криптовалютах, тенденциями рынка и инсайтами в своем посте.
2. Включите #CryptoObservers# , чтобы успешно участвовать.
🎁 10 счастливых "Крипто Наблюдателей" будут награждены 20$ points каждую пятницу!
📌 Список победителей будет объявляться каждую пятницу, а награды будут распределяться в тот же день.
📌 Примечание: Публикации могут содержать только тег #CryptoObservers# ; в противном случ
Предупреждение безопасности 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 миллионов) токенов были выделены, и все они были переданы подрядчикам по развертыванию контрактов.
Количество предварительно добытых токенов соответствует исходному коду контракта.
Добавьте ликвидность
Ровно в 8 часов (через 8 минут после создания токена) адрес злоумышленника (0x8AF8) начал добавлять ликвидность.
Адрес злоумышленника (0x8AF8) вызывает функцию openTrading в контракте токена, создает пул ликвидности MUMI-WETH через фабрику uniswap v2, добавляет все предварительно добытые токены и 3 ETH в пул ликвидности и, наконец, получает примерно 1,036 токена LP.
Из деталей транзакции видно, что из 420 690 000 (приблизительно 420 миллионов) токенов, первоначально использованных для добавления ликвидности, примерно 63 103 500 (приблизительно 63 миллиона) токенов были отправлены обратно в контракт токена (адрес 0x4894). обнаружил, что контракт токена взимает определенную комиссию за обработку за каждый перевод, а адресом для сбора комиссии за обработку является сам контракт токена (специально реализованный в «функции _transfer»).
**Странно то, что в контракте был указан налоговый адрес 0x7ffb (адрес для сбора комиссий за перевод), но окончательная комиссия была отправлена в сам контракт токена. **
Таким образом, окончательное количество токенов MUMI, добавленных в пул ликвидности, составляет 357 586 500 (приблизительно 350 миллионов) после уплаты налогов, а не 420 690 000 (приблизительно 430 миллионов).
Блокировка ликвидности
В 8:01 (через 1 минуту после создания пула ликвидности) адрес злоумышленника (0x8AF8) заблокировал все 1,036 токенов LP, полученных путем добавления ликвидности.
После блокировки LP теоретически все токены MUMI, принадлежащие адресу злоумышленника (0x8AF8), блокируются в пуле ликвидности (за исключением части, используемой в качестве комиссий за обработку), поэтому адрес злоумышленника (0x8AF8) не имеет возможности его удалить. благодаря способности Ликвидности выполнять Rug Pull.
Чтобы позволить пользователям с уверенностью покупать недавно выпущенные токены, многие участники проекта блокируют LP, что означает, что участник проекта говорит: «Я не убегу, каждый может покупать с уверенностью!», Но так ли это на самом деле? ? Очевидно нет, это так, продолжим анализ.
Коврик
В 8:10 появился новый адрес злоумышленника ② (0x9DF4), и он задействовал налоговый адрес 0x7ffb, заявленный в контракте токена.
Здесь стоит упомянуть три момента:
Адрес, по которому развернут налоговый адрес, не совпадает с адресом, по которому развернуты токены. Это может указывать на то, что участник проекта намеренно снижает корреляцию между каждой операцией и адресом, что затрудняет отслеживание поведения.
Контракт налогового адреса не является открытым исходным кодом, а это означает, что в налоговом адресе могут быть скрытые операции, которые вы не хотите раскрывать.
Налоговый контракт развертывается позже, чем контракт токена, а налоговый адрес в контракте токена жестко запрограммирован, что означает, что участник проекта может предсказать адрес налогового контракта.Поскольку инструкция CREATE определяет адрес создателя Адрес контракта определен, поэтому команда проекта заранее смоделировала адрес контракта, используя адрес создателя.
**На самом деле, многие мошеннические выходы осуществляются через налоговые адреса, а характеристики режима размещения налоговых адресов соответствуют пунктам 1 и 2 выше. **
В 11 часов утра (через 3 часа после создания токена) злоумышленник по адресу ② (0x9DF4) выполнил Rug Pull. Вызвав метод налогового контракта «swapExactETHForTokens» (0x77fb), он обменял 416 483 104 164 831 (примерно 416 триллионов) токенов MUMI в налоговом адресе примерно на 9,736 ETH и исчерпал ликвидность в пуле.
Поскольку налоговый контракт (0x77fb) не является открытым исходным кодом, мы декомпилировали его байт-код и результаты декомпиляции следующие:
Проверив декомпилированный код метода swapExactETHForTokens налогового контракта (0x77fb), мы обнаружили, что основной функцией этой функции является передача налогового контракта (0x77fb) с номером "xt" (заданным вызывающим кодом) через Маршрутизатор uniswapV2.Токены MUMI обмениваются на ETH и отправляются на адрес «_manualSwap», указанный в налоговом адресе.
Адрес хранения адреса _manualSwap — 0x0. После запроса с помощью команды getStorageAt json-rpc обнаруживается, что адрес, соответствующий _manualSwap, является развертывателем налогового контракта (0x77fb): злоумышленник ② (0x9DF4).
Входной параметр xt этой транзакции Rug Pull равен 420 690 000 000 000 000 000 000, что соответствует 420 690 000 000 000 (приблизительно 420 триллионов) токенов MUMI (десятичное число токенов MUMI равно 9).
Другими словами, в итоге проект использовал 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.Налог был получен токен-контракт.
Раскрыта техника
Чтобы изучить источник токена налогового контракта (0x7ffb), мы просмотрели историю его передачи ERC20.
Было установлено, что среди всех 6 событий перевода, относящихся к 0x77fb, были только события перевода из налогового контракта (0x7ffb), а событий, в которых были переданы токены MUMI, не было. На первый взгляд, токены налогового контракта ( 0x7ffb) действительно появились из воздуха.
Таким образом, огромные токены MUMI, появившиеся из воздуха по адресу налогового контракта (0x7ffb), имеют две характеристики:
Никакого влияния на общий объем поставок по контракту MUMI.
Увеличение токенов не вызывает событие Transfer.
Тогда идея очень ясна, то есть в контракте токена MUMI должен быть бэкдор, который напрямую изменяет переменную баланса, а при изменении balabce он не модифицирует totalSupply и не запускает событие Transfer.
Другими словами, это нестандартная или вредоносная реализация токена ERC20.Пользователи не могут обнаружить, что сторона проекта тайно выпускает токены по изменениям общего количества и событиям. **
Следующим шагом будет проверка вышеизложенной идеи: мы напрямую ищем ключевое слово «баланс» в исходном коде контракта токена MUMI.
В результате мы обнаружили, что в контракте есть функция приватного типа "swapTokensForEth", а входным параметром является tokenAmount типа uint256. В 5-й строке функции участник проекта напрямую модифицирует _taxWallet, который является MUMI баланс налогового контракта (0x7ffb). is tokenAmount * 10**_decimals, что в 1 000 000 000 (приблизительно 1 миллиард) раз превышает tokenAmount, а затем конвертировать сумму tokenAmount MUMI в ETH из пула ликвидности и сохранить ее. в контракте токена (0x4894).
Затем найдите ключевое слово «swapTokenForEth».
Функция "swapTokenForEth" вызывается в функции "_transfer". Если вы внимательно посмотрите на условия вызова, то обнаружите:
Когда адресом получения перевода является пул ликвидности MUMI-WETH.
Функция «swapTokenForEth» будет вызываться только тогда, когда другие адреса покупают токены MUMI в пуле ликвидности более чем на _preventSwapBefore (5 раз).
Входящий tokenAmount — это меньшее значение между балансом токена MUMI, принадлежащим адресу токена, и _maxTaxSwap.
То есть, когда контракт обнаруживает, что пользователь обменял WETH на токены MUMI в пуле более 5 раз, он тайно отчеканит огромное количество токенов для налогового адреса, а также конвертирует часть токенов в ETH и сохранит их в контракте токена.
**С одной стороны, участник проекта якобы собирает налоги и регулярно автоматически обменивает их на небольшое количество ETH и помещает их в контракт токена.Это должно видеть пользователи, заставляя всех думать, что это источник проекта. прибыль партии. **
**С другой стороны, на самом деле команда проекта занимается прямым изменением баланса счета и сливом всего пула ликвидности после того, как количество транзакций пользователя достигнет 5 раз. **
После выполнения функции «swapTokenForEth» функция «_transfer» также выполнит sendETHToFee для отправки ETH, полученного в результате сбора налогов, по адресу токена в налоговый контракт (0x77fb).
ETH в налоговом контракте (0x77fb) может быть извлечен с помощью функции «спасения», реализованной в его контракте.
Теперь взгляните на запись погашения последней прибыльной транзакции во всей афере с выходом.
Всего в прибыльной сделке было совершено два обмена: в первый раз было 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), как показано на рисунке ниже:
Первый обмен соответствует второму процессу обмена.Когда токен отправляется из налогового контракта (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).
Фактически, первоначальный источник средств и конечный пункт назначения средств для многих мошенничеств с выходом, которые мы недавно обнаружили, указывают на этот адрес, поэтому мы провели приблизительный анализ и статистику транзакций по этому адресу.
В конечном итоге было обнаружено, что адрес стал активным около 2 месяцев назад и на сегодняшний день инициировал более 7000 транзакций и что адрес взаимодействовал с более чем 200 токенами.
Мы проанализировали около 40 записей транзакций с токенами и обнаружили, что в пулах ликвидности, соответствующих почти всем токенам, которые мы рассмотрели, в конечном итоге возникнет обменная транзакция с входной суммой, которая намного превышает общий объем предложения токена. ETH исчерпан, и весь период мошенничества с выходом короче.
Транзакции развертывания некоторых токенов (Mingyan China) следующие:
Таким образом, мы можем сделать вывод, что этот адрес на самом деле является крупномасштабным автоматизированным сборщиком «мошенников на выходе», а целью сбора является новый робот в цепочке.
**Этот адрес все еще активен. **
Напишите в конце
Если токен не изменяет totalSupply при чеканке и не вызывает событие Transfer, нам будет сложно определить, тайно ли выпускает токены сторона проекта. Это также усугубит проблему, связанную с тем, является ли токен безопасным или Не зависит полностью от стороны проекта. Сознательно или нет» статус-кво.
**Поэтому нам, возможно, придется рассмотреть возможность улучшения существующего механизма токенов или внедрения эффективного решения для определения общего количества токенов, чтобы обеспечить открытость и прозрачность изменений количества токенов.**Сейчас недостаточно фиксировать изменения статуса токена с помощью событий.
И нам нужно быть внимательными к тому, что, хотя осведомленность каждого о борьбе с мошенничеством улучшается, методы борьбы с мошенничеством у злоумышленников также улучшаются. Это бесконечная игра. Нам нужно продолжать учиться и думать, чтобы быть в состоянии сделать это. Защитите себя в игре.