Хакер похитил ETH на 1,4 миллиона долларов у кредитора NFT Omni
По данным PeckShield, Omni, платформа денежного рынка невзаимозаменяемых токенов (NFT), в воскресенье потеряла около 1300 ETH (1,43 миллиона долларов) в результате атаки с повторным входом в кредит.
Omni позволяет пользователям размещать свои NFT, обычно из популярных коллекций, таких как Bored Ape Yacht Club, для получения токенов, таких как Эфир (ETH).
В ходе атаки, хакер использовал уязвимость повторного входа в протокол Omni. Повторный вход — это известная уязвимость в проектах, написанных с помощью Solidity, которая позволяет злоумышленнику заставить свой смарт-контракт выполнить внешний вызов ненадежного контракта. Этот внешний вызов выполняется перед исходной функцией и, таким образом, может использоваться для многократного повторного входа в протокол для истощения его ликвидности.
Яджин Чжоу, генеральный директор компании BlockSec, занимающейся безопасностью блокчейнов, объяснил процесс эксплойта, заявив, что злоумышленник депонировал NFT из коллекции под названием Doodles. Эти NFT использовались в качестве залога для заимствования ETH.
Затем злоумышленник воспользовался уязвимостью повторного входа, сняв все NFT. Это действие активировало вредоносную функцию обратного вызова в интересах злоумышленника. Эта функция позволила хакеру использовать заемные средства для покупки еще большего количества Doodles, прежде чем ликвидировать кредитную позицию.
Как только позиция ликвидирована, оставшаяся часть Doodle NFT из исходного обеспечения возвращается злоумышленнику. Кредитная позиция ликвидируется, потому что стоимость NFT, которая изначально была оставлена в качестве залога до вызова функции обратного вызова, была недостаточной для покрытия долговой позиции. Именно здесь возникает повторный вход, поскольку злоумышленник может принудительно использовать заимствованный ETH, чтобы купить больше NFT до того, как произойдет ликвидация.
После, злоумышленник использовал Doodles, полученные с помощью первоначального кредита, в качестве залога, чтобы занять больше ETH. Однако Omni не распознал эту новую долговую позицию, поэтому хакер мог отозвать NFT, не возвращая кредит.
Атака лишила протокол более 1300 ETH (1,4 миллиона долларов). Omni сказал, что эксплойт не затронул средства клиентов, поскольку пострадали только средства внутреннего тестирования, так как платформа все еще находится в режиме бета-тестирования.
Платформа денежного рынка NFT заявила, что приостановила работу протокола до завершения расследования. Данные Etherscan показывают, что эксплуататор уже отмыл средства через Tornado Cash, сервис микширования монет для частных транзакций на Ethereum.
Автор: Антон Зайцев, аналитик Freedman Сlub Crypto News