Wie wir gestohlene Gelder für TransitSwap (und BabySwap) zurückholen

BabySwap und TransitSwap auf BSC am 1. Okt. angegriffen. Schwachstelle: Bot wurde gefrontrunnt, privater Schlüssel wiederhergestellt, Gelder auf sicheres Konto überwiesen.

Wie wir gestohlene Gelder für TransitSwap (und BabySwap) zurückholen

Die BabySwap und TransitSwap auf BSC wurden am 1. Oktober angegriffen. Einige Angriffstransaktionen wurden von einem Bot vorab ausgeführt. Interessanterweise war dieser Bot anfällig für die Profanity-Tool-Schwachstelle, und wir konnten seinen privaten Schlüssel erfolgreich wiederherstellen. Wir konnten auch den Bot-Vertrag rückentwickeln und die Gelder aus dem Bot-Vertrag auf unser sicheres Konto abheben. Wir haben die Gelder an TransitSwap überwiesen und verbinden derzeit BabySwap.

Die Erkennung des Angriffs auf BabySwap

Am 01.10.2022 um 14:47 (UTC) meldete unser internes System eine Angriffstransaktion. Unsere weitere Analyse zeigte, dass dies auf die kontrollierten Fabriken im Smart-Router-Vertrag zurückzuführen ist. Wir haben die Details zu diesem Zeitpunkt jedoch nicht offengelegt, da das Projekt noch anfällig war. Wir kontaktierten BabySwap über Twitter DM und TG, erhielten aber keine Antwort.

Während der Untersuchung stellten wir fest, dass diese Transaktion von einem Bot-Konto ausgestellt wurde, das die ursprüngliche Angriffstransaktion vorab ausführte. Außerdem hat dieses Konto ein Muster mit acht führenden Nullen, was darauf hindeutet, dass es mit dem Profanity-Tool generiert wurde, das anfällig für die Profanity-Tool-Schwachstelle ist.

Die Wiederherstellung des privaten Schlüssels des Bots

Am 01.10.2022 um 16:10 (UTC) stellte unser Tool erfolgreich den privaten Schlüssel dieses Bots in etwa 20 Minuten wieder her. Für den wiederhergestellten privaten Schlüssel überwiesen wir die Gelder auf ein sicheres Konto (was der typische Prozess unserer Rettungsaktion ist). Andernfalls können andere, die ebenfalls den privaten Schlüssel wiederherstellen, das Konto übernehmen, und die Gelder auf dem Konto wären gefährdet.

Übertragung der Gelder aus dem Bot

Die Herausforderung besteht darin, dass sich die Gelder im Vertrag befinden, der vom Bot bereitgestellt wurde, anstatt im EOA-Konto des Bots selbst. Die Überweisung der Gelder ist eine Herausforderung.

Wir dekompilierten den Vertrag und stellten fest, dass es eine Auszahlungsfunktion im Vertrag gibt (wie in der folgenden Abbildung gezeigt).

Diese Funktion kann genutzt werden, um die Gelder im Vertrag abzuheben. Das erste Argument ist die Token-Adresse, und das zweite Argument sollte null sein.

Wir sendeten eine Transaktion und hoben die Gelder erfolgreich vom Vertrag auf den Bot ab und überwiesen dann die Gelder auf unser sicheres Konto.

Hier kommt ein weiterer Angriff!

Ein paar Stunden später meldete unser System einen weiteren Angriff auf TransSwap. Es gibt mehrere Angriffstransaktionen von verschiedenen Adressen, und eine Transaktion wurde erneut von diesem Bot vorab ausgeführt! Da der vom Bot bereitgestellte Vertrag jedoch ein anderer ist, ist die Funktion zur Überweisung der Gelder unterschiedlich.

Rückgabe der Gelder

Nach interner Beratung haben wir beschlossen, die Gelder an die angegriffenen Projekte (anstatt an den Bot) zurückzugeben, und zwar aus folgenden Gründen.

  • Erstens wurden die Gelder vom Bot durch den Angriff auf anfällige Verträge erlangt. Obwohl der Bot die Angriffstransaktion vorab ausgeführt hat (anstatt den Angriff überhaupt zuerst zu starten), sind wir dennoch der Meinung, dass die vorab ausgeführte Transaktion einer Angriffstransaktion ebenfalls ein Angriff ist.
  • Zweitens gehören die Gelder den Opfern des Angriffs, d. h. den Nutzern der betroffenen DeFi-Protokolle. Die Nutzer haben aufgrund der Schwachstelle im DeFi-Protokoll viel gelitten. Sie sollten die Gelder von den Angreifern erhalten.

Wir haben die Gelder an die offizielle TransitFinance Funds Receiver-Adresse überwiesen und kontaktieren BabySwap.

Aktualisierung der Rettungsaktion

Wir sind weiterhin dabei, anfällige Adressen zu retten. Die Herausforderung besteht darin, dass man nicht feststellen kann, ob eine Adresse anfällig ist, bevor man ihren privaten Schlüssel wiederherstellt. Auch wenn wir einen optimierten Algorithmus haben, benötigen wir aufgrund der Begrenzung der Rechenleistung noch mehr Zeit, um die gesamte Rettungsaktion abzuschließen. Wir werden später einen detaillierten Bericht veröffentlichen, um den gesamten Prozess zu erläutern und die folgenden Fragen zu beantworten.

  • Wie viele Adressen sind anfällig?
  • Was sind die Auswirkungen der Schwachstelle, d. h. wie viele Vermögenswerte sind aufgrund der Schwachstelle gefährdet?
  • Wie ist die Gesamtsituation des Angriffs dieser Schwachstelle?

Bleiben Sie dran und seien Sie sicher.

Über BlockSec

BlockSec ist ein bahnbrechendes Blockchain-Sicherheitsunternehmen, das 2021 von einer Gruppe weltweit renommierter Sicherheitsexperten gegründet wurde. Das Unternehmen setzt sich für die Verbesserung der Sicherheit und Benutzerfreundlichkeit für die aufstrebende Web3-Welt ein, um deren Massenadaption zu fördern. Zu diesem Zweck bietet BlockSec Dienstleistungen für die Sicherheitsprüfung von Smart Contracts und EVM-Chains, die Phalcon-Plattform für die sichere Entwicklung und proaktive Bedrohungsabwehr, die MetaSleuth-Plattform für die Nachverfolgung und Untersuchung von Geldern sowie die MetaSuites-Erweiterung für Web3-Entwickler, um effizient in der Krypto-Welt zu surfen.

Bis heute hat das Unternehmen über 300 angesehene Kunden wie MetaMask, Uniswap Foundation, Compound, Forta und PancakeSwap betreut und in zwei Finanzierungsrunden von namhaften Investoren wie Matrix Partners, Vitalbridge Capital und Fenbushi Capital zweistellige Millionen US-Dollar erhalten.

Offizielle Website: https://blocksec.com/

Offizieller Twitter-Account: https://twitter.com/BlockSecTeam

Sign up for the latest updates