Hakerzy Binance wybili własny token do prania skradzionych środków, twierdzi TRM Labs
Najważniejsze informacje
- •29 października z portfeli Binance wypłynęło około $6.36 billion na dziesięć blockchainów, a 31 października FBI przypisało kradzież północnokoreańskiej aktywności TraderTraitor, określeniu użytemu również wobec kradzieży $1.5 billion z Bybit w lutym 2025 roku.
- •Tether, Circle, Ripple, World Liberty Financial oraz Arbitrum Security Council zamroziły w ciągu kilku godzin niemal $2.7 billion, podczas gdy napastnik nadal posiada około $2.4 billion w ETH i BTC, które na 3 listopada nie wykazywały nowej aktywności.
- •W schemacie z samodzielnie wybitym tokenem portfele kupujących zasilone środkami z ataku kupiły token, którego twórca wybił bezpłatną podaż do oddzielnego portfela sprzedającego, umożliwiając wycofanie około $2.7 million z jednej puli bez bezpośredniego transferu między obiema stronami.
- •Druga metoda oparta na TRON przekazuje między portfelami token będący potwierdzeniem depozytu, przenosząc pełną własność depozytu, przez co śledzenie obejmujące wyłącznie USDT urywa się na dużej, współdzielonej puli.
- •TRM dopasował na podstawie kwoty i czasu tylko 11 z 38 zleceń mostu, o wartości około $290,000, do wypłat na Ethereum i zalecił zespołom compliance śledzenie tokenów będących potwierdzeniami depozytów oraz tokenów puli przez kilka kolejnych przeskoków, w tym wypłaty międzyłańcuchowe.

Firma analityczna blockchain TRM Labs szczegółowo opisała, w jaki sposób napastnicy stojący za exploitem Binance piorą skradzione środki za pomocą samodzielnie wybitych tokenów, transferów tokenów będących potwierdzeniami depozytów oraz łańcuchowych swapów między łańcuchami — technik zaprojektowanych tak, aby przerwać bezpośrednie powiązania płatnicze, od których zależą blokady aktywów. W aktualizacji z 3 listopada, obejmującej okres od 31 października do 2 listopada, gdy w śladzie analizowanym przez firmę po raz pierwszy pojawiły się mosty i nowe metody oparte na TRON, TRM zmapował serię tras opartych na jednej zasadzie: portfel przechowujący środki powiązane z atakiem nie powinien nigdy płacić portfelowi, który ostatecznie wypłaca środki.
Według TRM 29 października z portfeli Binance wypłynęło około $6.36 billion na dziesięć blockchainów. 31 października FBI przypisało kradzież Korei Północnej, określając tę działalność jako TraderTraitor — taką samą nazwą, jakiej użyło w odniesieniu do kradzieży $1.5 billion z Bybit w lutym 2025 roku.
Emitenci i sieci zareagowali szybko. Tether, Circle, Ripple, World Liberty Financial oraz Arbitrum Security Council zamroziły w ciągu kilku godzin niemal $2.7 billion. TRM szacuje, że napastnik nadal posiada około $2.4 billion w ETH i BTC, a te główne salda nie wykazywały nowej aktywności na 3 listopada. Pranie środków śledzone obecnie przez firmę koncentruje się na TRON, a środki zaczęły również przepływać przez serię portfeli Solany.
Na TRON każda nowa metoda rozwiązuje ten sam problem napastnika: zamrożenie lub alert musi wskazywać konkretny adres.
Token, który mógł wybijać tylko jego twórca
31 października adres już znajdujący się w śladzie Binance utworzył token, który może wybijać wyłącznie jego twórca. Jedynym rynkiem tokena była pojedyncza pula na zdecentralizowanej giełdzie TRON, łącząca token z tokenem będącym potwierdzeniem depozytu w protokole pożyczkowym. TRM nie podał nazwy giełdy ani protokołu pożyczkowego.
TRM dzieli tę trasę na trzy etapy:
- Finansowanie — Nowe portfele kupujących otrzymują TRX z portfela rozdzielającego środki znajdującego się w śladzie ataku, wymieniają go na USDT, zamieniają USDT na token będący potwierdzeniem depozytu i kupują nowy token.
- Wybicie — Twórca wybija nowe tokeny bez kosztów i wysyła je do oddzielnego portfela sprzedającego.
- Wypłata — Sprzedający sprzedaje tokeny do puli, wycofuje tokeny będące potwierdzeniami depozytów i wymienia je na USDT.
Ponieważ wybicie tokenów sprzedającego nic nie kosztowało, cała wartość pobrana przez niego z puli została wcześniej wniesiona przez portfele kupujących — a te zostały zasilone środkami pochodzącymi z ataku. TRM nie znalazł transferu między kupującymi a sprzedającym; ich jedynym połączeniem była pula. Śledzenie płatności między portfelami pokazuje więc zbiór pozornie niezależnych adresów handlujących nowym tokenem.
W jednym przypadku 1 listopada portfel rozdzielający środki wysłał około 2.94 million TRX do trzech portfeli kupujących. Następnie twórca wybił 300 million tokenów do portfela sprzedającego, który sprzedał je w ciągu minuty, wycofał niemal 100 million tokenów będących potwierdzeniami depozytów, wymienił je na USDT i zamienił uzyskane środki z powrotem na TRX.
Wartość 100 million najlepiej interpretować jako liczbę tokenów będących potwierdzeniami depozytów, a nie jako kwotę w dolarach, ponieważ potwierdzenie jest wymieniane na USDT po kursie ustalanym przez rynek pożyczkowy. Według szacunku TRM wartość środków wycofanych z jednej takiej puli wynosiła około $2.7 million na 1 listopada.
Trasa wyjścia do Ethereum jest prześledzona tylko częściowo
Portfel sprzedającego podzielił swoje TRX między pięć nowych portfeli. Między 03:22 a 04:26 UTC portfele te złożyły 38 zleceń o łącznej wartości 966,558 USDT za pośrednictwem routera swapów wbudowanego w aplikację portfela, przy czym każda płatność trafiła do portfeli mostu tego samego serwisu międzyłańcuchowego.
Serwis nie publikuje informacji o miejscach wypłat zleceń, dlatego TRM dopasował je na podstawie kwoty i czasu. Jedenaście z 38 zleceń — o wartości około $290,000 — odpowiada wypłatom na Ethereum, gdzie środki zamieniono na ETH. Stanowi to około 30% wartości całej partii. W momencie publikacji raportu firma nadal śledziła pozostałe 27 zleceń oraz portfele Ethereum, które ostatecznie otrzymały środki.
Dopasowanie na podstawie kwoty i czasu jest wnioskowaniem, a nie zapisem pochodzącym bezpośrednio z serwisu. Daje ono śledczym konkretne adresy Ethereum do zbadania, pozostawiając jednak większość tej partii bez ustalonego miejsca docelowego. Pozostałe zlecenia i portfele otrzymujące wskazane wypłaty w Ethereum są zatem najważniejszymi nierozstrzygniętymi elementami tej części śladu TRM.
W innym prześledzonym przypadku na tej samej trasie z TRON do Ethereum środki z kilku adresów TRON trafiły na pośrednie adresy Ethereum. Następnie zostały skonsolidowane, przesłane na drugi adres i podzielone na transze po 50–80 ETH. Te ETH pozostały w miejscach, do których trafiły. TRM opisuje tę sekwencję wymiany, konsolidacji i redystrybucji jako typową dla północnokoreańskiego prania środków.
Roszczenie z tytułu depozytu przekazane między portfelami
TRM wskazał drugą metodę opartą na TRON 2 listopada. Portfel A wpłaca USDT do puli pożyczkowej i otrzymuje token będący potwierdzeniem jego roszczenia do tego depozytu. Następnie przesyła potwierdzenie do portfela B w zwykłym transferze tokenów. Portfel B realizuje potwierdzenie, pula wypłaca USDT, a B wysyła USDT do mostu poza TRON.
Śledzenie, które uwzględnia wyłącznie USDT, urywa się na puli: A wpłaca USDT, a B otrzymuje USDT. Ponieważ pula jest duża i współdzielona przez wielu innych deponentów, przepływy USDT nie zawierają niczego, co łączyłoby oba portfele. Jedynymi kontrahentami B są rynek pożyczkowy i most, więc historia portfela wygląda na czystą. Powiązanie istnieje wyłącznie w transferze tokena będącego potwierdzeniem depozytu z A do B.
Potwierdzenie przenosi sam depozyt, a nie jego kopię. Jeśli A wpłaci $100,000 i przekaże potwierdzenie, B może zrealizować ten depozyt zgodnie z zasadami rynku, a A pozostaje bez własnego roszczenia.
Różni się to od wcześniejszego pożyczania ETH pod zastaw skradzionych stablecoinów. Pożyczka pozostawia dług zabezpieczony wniesionym zabezpieczeniem. Przekazanie potwierdzenia przenosi natomiast pełne prawo własności do depozytu.
Na jaki adres musi trafić blokada
Obie trasy TRON sprawiają, że portfel przechowujący środki powiązane z atakiem nigdy nie płaci portfelowi, który wypłaca środki. Mosty dodają trzecią wersję tej samej koncepcji. TRM zaobserwował, że napastnik łączy dwa swapy międzyłańcuchowe, wysyłając środki bezpośrednio z adresu piorącego do adresu depozytowego w drugim moście. Pomija to pośredni portfel, na którym — według słów TRM — normalnie pojawiłby się alert lub blokada.
$2.7 billion zatrzymane w pierwszych godzinach zostało zablokowane na adresach, o których emitenci wiedzieli, że są skażone. Zalecenia TRM dla zespołów compliance wynikają z tego, co te trasy omijają: należy śledzić wartość przez tokeny będące potwierdzeniami depozytów i tokeny puli, sprawdzać kilka kolejnych przeskoków — w tym wypłaty międzyłańcuchowe — oraz uwzględniać, że niektóre wypłaty można dopasować wyłącznie na podstawie kwoty i czasu. Kontrola sprawdzająca tylko to, kto wysłał depozyt USDT, przepuściłaby portfel B.
Największe salda nadal pozostają nieaktywne. Około $2.4 billion w ETH i BTC nie zostało przemieszczonych na 3 listopada, podczas gdy skala prania środków udokumentowanego przez TRM na TRON wynosiła od setek tysięcy do kilku milionów dolarów jednorazowo. Apel FBI o zablokowanie portfeli powiązanych z TraderTraitor zależy od wcześniejszego zidentyfikowania tych portfeli. Każda opisana w aktualizacji trasa została zaprojektowana tak, aby kolejny portfel w łańcuchu nie miał widocznej historii płatności z poprzednim.
Ten artykuł jest adaptacją oryginalnego raportu Coindoo, Binance Hackers Created a Token to Trade With Themselves.