Хакер злівае ETH на 1.4 мільёна долараў з крэдытора NFT Omni

Omni, платформа грашовага рынку незаменных токенаў (NFT), была знясілена прыкладна на 1,300 ETH (1.43 мільёна долараў) у выніку атакі паўторнага ўваходу ў флэш-пазыку ў нядзелю, у адпаведнасці да PeckShield.

Omni дазваляе карыстальнікам ставіць свае NFT, звычайна з такіх папулярных калекцый, як Bored Ape Yacht Club, каб атрымліваць токены, такія як эфір (ETH). 

У ходзе сённяшняй атакі хакер выкарыстаў уразлівасць паўторнага ўваходу ў пратаколе Omni. Reentrancy - гэта вядомая ўразлівасць у праектах, закадзіраваных з дапамогай Solidity, якая дазваляе махляру прымусіць свой смарт-кантракт зрабіць знешні выклік ненадзейнага кантракту. Гэты знешні выклік выконваецца перад зыходнай функцыяй і, такім чынам, можа выкарыстоўвацца для шматразовага паўторнага ўваходу ў пратакол, каб пазбавіць яго ліквіднасці.

Яджын Чжоу, генеральны дырэктар кампаніі па бяспецы блокчейнов BlockSec, растлумачыў The Block працэс эксплойта, сказаўшы, што зламыснік унёс NFT з калекцыі пад назвай Doodles. Гэтыя NFT выкарыстоўваліся ў якасці закладу для пазыкі загорнутага ETH (WETH).

Затым зламыснік выкарыстаў уразлівасць паўторнага ўваходу, забраўшы ўсе NFT, акрамя аднаго, унесеныя ў якасці закладу. Гэтая акцыя спрацоўвае шкоднасная функцыя зваротнага выкліку на карысць зламысніка. Гэтая функцыя дазволіла хакеру выкарыстаць пазычаныя сродкі, каб набыць яшчэ больш дудлаў, перш чым ліквідаваць пазыку.

Пасля ліквідацыі пазіцыі Doodle NFT, якая засталася з першапачатковага закладу, вяртаецца зламысніку. Пазыка ліквідавана, таму што кошту NFT, які першапачаткова быў пакінуты ў якасці закладу да таго, як была выклікана функцыя зваротнага выкліку, было недастаткова для пакрыцця пазыковай пазіцыі. Вось тут і ўзнікае магчымасць паўторнага ўваходу, бо зламыснік можа прымусова прайсці, выкарыстоўваючы пазычаны WETH, каб купіць больш NFT да таго, як адбудзецца ліквідацыя.

Затым зламыснік выкарыстаў каракулі, набытыя з першапачатковай пазыкай, у якасці закладу, каб пазычыць яшчэ WETH. Omni, аднак, не прызнаў гэтую новую запазычанасць, таму хакер мог забраць NFT, не вяртаючы пазыку.

Атака зняла больш за 1,300 WETH (1.4 мільёна долараў) з пратакола. Omni сказаў, што эксплойт не паўплываў ні на якія сродкі кліентаў, паколькі былі закрануты толькі сродкі ўнутранага тэсціравання, паколькі платформа ўсё яшчэ знаходзіцца ў рэжыме бэта-тэставання.

Платформа грашовага рынку NFT заявіла, што прыпыніла пратакол да поўнага расследавання. Дадзеныя Etherscan паказваюць, што эксплуататар ужо адмываў сродкі праз Tornado Cash, сэрвіс міксавання манет для прыватных транзакцый на Ethereum.

© 2022 The Block Crypto, Inc. Усе правы абаронены. Гэты артыкул прадастаўляецца выключна ў інфармацыйных мэтах. Ён не прапануецца і не прызначаецца для выкарыстання ў якасці юрыдычных, падатковых, інвестыцыйных, фінансавых ці іншых рэкамендацый.

Крыніца: https://www.theblock.co/post/156800/hacker-drains-1-4-million-worth-of-eth-from-nft-lender-omni?utm_source=rss&utm_medium=rss