Binance Hot Wallet gehackt für 6,28 Milliarden USD; On-Chain-Tracking zeigt, wie der Angreifer EIP-7702-Autorisierung nutzte, um das Wallet zu übernehmen und Gelder zu verschieben, bevor Tether und andere Emittenten sie einfrieren konnten, was eine vollständige Rekonstruktion dieses größten Sicherheitsvorfalls liefert.
Autor: Dickson (@DicksonWuML)
Zusammengestellt von: Shenchao TechFlow
Shenchao-Einführung: Der Diebstahl aus Binances Hot Wallets ist das größte Ereignis am Kryptomarkt heute. Der CertiK-Ingenieur und SEAL-Mitglied Dickson hat die On-Chain-Aufzeichnungen Transaktion für Transaktion nachverfolgt und den vollständigen Ablauf rekonstruiert: wie der Angreifer durch Abhebungen von Tornado Cash Mittel vorbereitete, mittels EIP-7702-Autorisierung Binances Ethereum-Hot-Wallets übernahm und im Wettlauf mit Tether, Circle und anderen Emittenten um das Einfrieren der Gelder konkurrierte. Die Beträge und Zeitangaben in diesem Artikel sind On-Chain-Statistiken zum Zeitpunkt der Veröffentlichung durch den Autor (gegen 8 Uhr Pekinger Zeit am 30. Oktober), die Zeiten sind in UTC (+8 Stunden entspricht Pekinger Zeit) und wurden noch nicht offiziell von Binance bestätigt.
Binances Hot Wallets verloren heute über 8 Chains hinweg etwa 6,28 Milliarden USD. Davon wurden 6,07 Milliarden USD innerhalb der ersten 55 Minuten abgezogen, danach hat der Angreifer mehr als zwei Stunden lang wiederholt eine der Ethereum-Wallets leergeräumt.
Seitdem haben Tether, Circle, Ripple, Paxos, World Liberty und Binance etwa 2,80 Milliarden USD eingefroren. Etwa 3,27 Milliarden USD können noch frei bewegt werden, hauptsächlich BTC und ETH.
Ich habe den gesamten Vorfall on-chain nachverfolgt, einschließlich der Frage, wie der Angreifer die Gelder vor den Einfrierungen bewegt hat 🧵
Aufschlüsselung der 6,28 Milliarden USD (bewertet um UTC 20:24):
• Ethereum 3,74 Milliarden USD
• Bitcoin 18.270,2 BTC, 1,47 Milliarden USD
• Tron 612,7 Millionen USDT + 46,4 Millionen TRX, 627,5 Millionen USD
• XRP 233,5 Millionen XRP, 296,5 Millionen USD
• Solana 970.522 SOL, 96,1 Millionen USD
• Arbitrum 8.426 ETH + 74,6 Millionen ARB, 31,8 Millionen USD
• Avalanche 1,81 Millionen AVAX + 8,41 Millionen USDt, 24,3 Millionen USD
• Optimism 44,2 Millionen OP, 4,8 Millionen USD
Die 3,74 Milliarden USD auf Ethereum flossen in fünf Chargen ab:
• 20:24:23, ein einzelner sweep() auf Binance 14: 167.464,25 ETH, 1,615 Milliarden USDT und 61 weitere Token, insgesamt 2,53 Milliarden USD
• 20:41 und 20:59, 780 Millionen + 43 Millionen USDC abgezogen von einer Binance-Smart-Wallet, die Binance 14 vertraute, insgesamt 822,6 Millionen USD
• 20:24:47, Binance 16 signierte 9 direkt an den Angreifer gesendete Transfers: 28.005,6 ETH, 55,7 Millionen USDT, 25,9 Millionen RLUSD, 84,5 WBTC, 820.000 UNI, 1.199 XAUt, 18,8 Millionen ENA, 304.600 LINK, 583,6 Milliarden PEPE, insgesamt 174,2 Millionen USD
• 21:04 und 21:44, zwei weitere Sweeps von Binance 14: 2.070 ETH und 204,3 Millionen USDT, insgesamt 209,6 Millionen USD
• 22:39, ein letzter Sweep auf eine neue Wallet: 128,5 ETH und 122 Small-Cap-Token, etwa 500.000 USD
Nach Asset: 1,87 Milliarden USDT, 823 Millionen USDC, 457 Millionen ETH (197.668 ETH), 88,5 Millionen RLUSD, 76,8 Millionen wBETH, 50,5 Millionen XAUt, 49,6 Millionen UNI, 44,7 Millionen ENA, 40,1 Millionen PEPE, 29,6 Millionen LINK, 27,8 Millionen USD1, plus etwa 50 kleinere Token.Die Vorbereitung begann am Tag zuvor. Am 28. Oktober um UTC 07:39 hob die Hauptwallet des Angreifers 0x7c8601d4645b93cea45f71e118a729332e6b5ca0 zunächst 0,1 ETH von Tornado Cash ab, dann zwei weitere Male. Eine zweite Wallet hob anschließend 1 ETH von Tornado ab und überwies sie am 29. Oktober um 18:20 an die Hauptwallet.
Am 29. Oktober um 02:28 deployten sie einen Sweeper-Contract. Von 13:51 bis 16:47 probten sie auf ihren eigenen Wallets: Mittels EIP-7702-Delegation sweepten sie Test-USDT und -USDC und hoben sie anschließend ab. Um 15:59 deployten sie eine v2-Version mit einer generischen Call-Funktion, und genau diese Funktion bewegte später die 823 Millionen USDC.
Am UTC 20:04:52 scheiterte der erste Schritt. Binances XRP-Wallet sandte 42.750.000,1 RLUSD an den Angreifer, doch das XRP-Konto des Angreifers existierte noch nicht, sodass die Überweisung zurückgesandt wurde.
Acht Sekunden später wurden 185.017.485,5 XRP erfolgreich übertragen und damit das Konto erstellt. Bis 20:09 waren vier weitere Binance-XRP-Wallets ebenfalls geleert.
Eine Kettenreaktion folgte:
20:10 Solana, 965.455,1 SOL in einer einzigen Transaktion bewegt
20:18 Optimism, 44,2 Millionen OP
20:20 Bitcoin, 18.270,2 BTC in 11 Transaktionen bewegt und innerhalb desselben Blocks in 1.000-BTC-Chunks aufgeteilt
20:20 bis 20:22 Tron, 612,7 Millionen USDT + 46,4 Millionen TRX
20:30 bis 20:35 Arbitrum und Avalanche
Ethereum offenbarte die Angriffsmethode. Um 20:20:59 sandte der Angreifer eine Transaktion mit 50 EIP-7702-Autorisierungen, alle vom privaten Schlüssel von Binance 14 signiert, entsprechend den Nonces 18.914.775 bis 18.914.824.
Binance 14 selbst hatte gerade um 20:17:47 die 18.914.775 verwendet, was darauf hindeutet, dass diese Autorisierungen nur Minuten vor ihrer Verwendung signiert wurden.
Die Autorisierung mit Nonce 18.914.809 passte. Die eigene Transaktion von Binance 14 im selben Block verwendete 18.914.808, und von diesem Moment an lief Binance 14 den Code des Angreifers.
Um 20:24:23 bewegte ein einzelner sweep() 167.464 ETH und 1,615 Milliarden USDT aus ihr heraus. Vierundzwanzig Sekunden später signierte Binance 16 9 direkt an den Angreifer gesendete Überweisungen. Um 20:41 und 20:59 nutzte der Angreifer Binance 14, um 823 Millionen USDC aus einer Binance-Smart-Wallet abzuziehen, die ihm vertraute.
Als Nächstes folgte das Rennen gegen die Einfrierungen. Der Angreifer splittete die USDT schnell auf:
• Um 20:30 wurden 500 Millionen USDT an 0x9749…c762 überwiesen. Bis 20:59 waren 325 Millionen davon über RFQ-Market-Maker in ETH getauscht worden, und die verbleibenden 175 Millionen wurden weiterüberwiesen
• Um 20:33 wurden 200 Millionen USDT an 0x0ddf…697e überwiesen. Etwa 10 Millionen wurden auf DEXs verkauft, und 190 Millionen wurden an 0x8d53…639a überwiesen, die 60 Millionen in Aave einzahlte und dagegen ETH lieh
Tethers erste Blacklisting-Charge wurde um 21:01:35 wirksam: 0x5227, die noch 971 Millionen USDT hielt; und 0x9749, die bereits geleert war. Circle fror die 823 Millionen USDC um 21:04:59 ein.
Einige Gelder entkamen in den letzten Sekunden:• Um 21:01:59 überwies 0x8d53 130 Millionen USDT an 0x77ed…c3eb. Achtundvierzig Sekunden später, um 21:02:47, fror Tether 0x8d53 ein• Von 21:04 bis 21:06 verkaufte 0x77ed etwa 50 Millionen USDT auf einer DEX und überwies 80 Millionen an 0x7aa4…bfd1
• Von 21:08 bis 21:11 verkaufte 0x7aa4 weitere etwa 50 Millionen und verschob die letzten 30 Millionen nach draußen. Als Tether 0x7aa4 um 21:12:35 einfror, war es bereits geleert
• Um 21:16:11 überwies 0xccbe…a263 die 30 Millionen nach draußen. 36 Sekunden später fror Tether 0xccbe ein, und um 21:18:59 fing es die 30 Millionen bei 0xb171…c8c3 ab
• Die von 0x9749 überwiesenen 175 Millionen verblieben bei 0xaa24…54a0, bis Tether sie um 21:14:59 einfror
Insgesamt wurden von den 1,875 Milliarden USDT auf Ethereum etwa 435 Millionen verkauft, bevor die Blacklist aufholte. 1,38 Milliarden wurden eingefroren, und 60 Millionen sind als Aave-Sicherheit festgesetzt.
Maßnahmen anderer Emittenten in chronologischer Reihenfolge:
• 20:57:47 World Liberty setzte 48,5 Millionen WLFI in 0x5227 auf die Blacklist
• 21:07:55 Tether fror 8,41 Millionen USDt auf Avalanche ein. Der Angreifer versuchte um 21:40:47, sie zu verschieben, und die Transaktion wurde zurückgesetzt
• Von 21:09 bis 21:21 fror Tether 378,7 Millionen USDT in drei Wallets auf Tron ein. Zuvor waren bereits 234 Millionen über SunSwap in TRX getauscht worden
• 21:11:23 Tether fror 12.574 XAUt ein (etwa 50 Millionen USD)
• 22:00:59 Ripple fror RLUSD ein. Der Angreifer hatte es bereits um 21:33 nach 0xe702…958d verschoben und 48 Millionen in ETH verkauft, wobei die letzte Verkaufsorder und das Einfrieren im selben Block landeten. 40,5 Millionen wurden abgefangen
• 22:10:35 World Liberty fror 27,8 Millionen USD1 ein
• 22:30:47 Paxos fror 1.907 PAXG ein
• 22:48:35 Binance setzte 29.934 wBETH (etwa 75 Millionen USD) auf die Blacklist; der Angreifer hatte sie bereits um 21:52 nach 0x7f9d…15e3 verschoben
Die 3,45 Millionen FDUSD von First Digital sind weiterhin übertragbar.
Binance 14 blieb an den Vertrag des Angreifers delegiert, was zu einem Tauziehen wurde:
• Um 21:04 und 21:44 räumte der Angreifer erneut ab: zuerst 1.700 ETH, dann 370 ETH und 200,4 Millionen USDT. Diese USDT landeten in 0x5227, das bereits von Tether eingefroren worden war
• Um 22:06:23 setzte Tether Binance 14 selbst auf die Blacklist. Die USDT-Überweisungen von Binance von dieser Adresse schlugen um 22:15 und 23:01 fehl
• Um 22:39 räumte der Angreifer erneut ab, diesmal in ein neues Wallet: 128,5 ETH und 122 Small-Cap-Token
• Von 22:55 bis 23:07 leerte Binance selbst Binance 14: 46 Token-Überweisungen an Binance 8, etwa eine alle 12 Sekunden
• Von 23:36 bis 23:38 rief der Angreifer sweep() vier weitere Male auf, und alle vier gingen leer aus
Außerhalb von Ethereum:
• Arbitrum, 21:35 bis 21:38: alle 8.426 ETH und 74,6 Millionen ARB wurden in ein neues 7702-Wallet 0x3e2b…32d5 verschoben, das ARB um 21:41 für den Handel autorisierte. Stand 23:50 war es noch dort
• Avalanche, 21:45:34: 1.813.999 AVAX wurden nach 0x8035…c397 verschoben. Dann wurden 200.005 AVAX von 0xc39e…9824 nach draußen überwiesen, und um 23:27:35 erhielt dieselbe Adresse 1.563.812,78 USDC auf Ethereum über Circles CCTP-Cross-Chain-Bridge. Vier Minuten später, um 23:31:59, setzte Circle sie auf die Blacklist• Gelder in Bitcoin, XRP, Solana und Optimism wurden noch nicht bewegt. BTC ist auf 19 Wallets verteilt, von denen 17 jeweils genau 1.000 BTC halten
Stand um etwa 23:50 UTC:
Eingefroren, etwa 2,80 Milliarden USD
• 1,38 Milliarden USDT auf Ethereum, 378,7 Millionen auf Tron, 8,41 Millionen auf Avalanche (Tether)
• 824,6 Millionen USDC (Circle)
• 40,5 Millionen RLUSD (Ripple), 27,8 Millionen USD1 (World Liberty), 12.574 XAUt (Tether), 29.934 wBETH (Binance), 1.907 PAXG (Paxos), 48,5 Millionen WLFI
Nicht eingefroren, etwa 3,27 Milliarden USD
• 18.270 BTC, 1,42 Milliarden USD
• 458.770 ETH auf 9 Wallets verteilt, 1,03 Milliarden USD
• 233,5 Millionen XRP, 289 Millionen USD
• 684,6 Millionen TRX, 243 Millionen USD
• Etwa 136 Millionen USD in anderen Token auf Ethereum
• 970.500 SOL, 93 Millionen USD, plus ARB, AVAX und OP, etwa 48 Millionen USD
Weitere 60 Millionen USDT sind als Aave-Sicherheit gebunden.
Hinweis: Die Transfers bei BTC, XRP und Tron wurden durch Timing und Transaktions-Fingerabdrücke verknüpft: dasselbe Zeitfenster, brandneue Empfangsadressen sowie Gebühren und Transaktionsformate, die von Binances eigenen Auszahlungen abweichen. Der gestohlene Betrag wird zu Preisen von 20:24 UTC berechnet; die aktuellen Bestände werden zu Preisen um 23:50 UTC berechnet.
Die On-Chain-Belege für jede Transaktion und jede Sperrung sind im Beitrag unten angehängt. Wenn dir etwas auffällt, das ich übersehen habe, lass es mich bitte wissen!