! Q |$ z6 |! W/ s7 n 4 v. W0 |- W( H" h+ g#1 事件相关信息5 f, z* |2 r+ { q7 N
+ L O L% Q. S) V2 ~ 4 K$ ?* D7 f' r) v5 [' C: Z& U- _! d' ]/ j+ p. Y8 N1 s
本次攻击事件包含多笔交易,部分交易信息如下所示:4 E9 ^9 Y) T3 L4 b' g
' @* h$ v, ~! W) d2 t
! A- `5 F' s% x0 M) h
6 G8 I, @# Y; [* g/ J" G$ w
攻击交易 (部分) 6 M+ [4 z' O1 r& I* Y) K) m4 {7 Q/ k/ | & B0 ?. y& J4 R/ w# v4 D5 k0x77cf448ceaf8f66e06d1537ef83218725670d3a509583ea0d161533fda56c063 (BNB Chain) , y! X+ B' H! |( u, y1 e: T3 l5 ?# Y 0 V6 N/ | T& o! n& F! ]( u0x1e769a59a5a9dabec0cb7f21a3e346f55ae1972bb18ae5eeacdaa0bc3424abd2 (Ethereum) 9 z# g2 h. n! a3 z / E1 b0 z J+ q) I" q- u " m8 J6 u- X: I& s5 W! C' v. D6 q8 S( _8 O/ ]4 i I m( Z
攻击者地址 $ o/ q5 t) U3 o$ F# n ' [! d0 x1 P6 a" u6 J0x73b359d5da488eb2e97990619976f2f004e9ff7c' {% z+ p8 Y/ Y8 ~/ i# B- a1 c
: M2 d" A. r/ H9 K* {" i 5 U7 ?& D1 F' a6 ^- P 9 }' J( e v9 H3 n6 e7 f攻击合约 6 `5 j0 f) N' T3 Q4 \& P) {2 N1 ^7 V' V/ a
0x9a843bb125a3c03f496cb44653741f2cef82f445' i8 w3 a) c) \2 P8 B& n. m9 @0 g
! x/ y9 S3 _+ G
& S3 D: z; L( X& W+ {6 w% U( x: ?- x5 V* m
被攻击合约(部分)* O8 Q. t! u* a. g
$ v/ }7 |( A- S0 _
0x818e2013dd7d9bf4547aaabf6b617c1262578bc7 (BNB Chain) 5 b; {' ^2 _& s2 w4 H; X; E k# R* m# d* U: L! l- J
0xf2bda964ec2d2fcb1610c886ed4831bf58f64948 (Ethereum) 3 t G) [* c2 t' f8 j5 f# b7 a' Z" X$ I0 p. V, V4 O
6 m! _- ~' Y( e6 e5 K2 m/ A w8 ]4 c2 q) }) y- L( a. c
#2 攻击流程# ~ q3 P3 |) P/ y
* W) m1 ?$ V- w8 b! T3 s( c# E7 b. h) z- w
Ethereum和BNB Chain上使用攻击手法相同,以下分析基于BNB Chain上攻击:6 o% S1 Z1 } ]0 g/ u/ j
' |1 h! y9 X+ K* b- C% W& y
: v" w; F9 s$ H9 o4 u* w S# a
- H# V- q" o# `3 X( b! n
1. 攻击者调用攻击合约(0x9a84...f445)利用闪电贷从DVM合约(0xd534...0dd7)中借贷915.84 WBNB,然后将116.81 WBNB兑换成115.65 fBNB为后续攻击做准备。 . j) e/ J5 Z: `* l; @* k; {6 e. B! m& v" p2 W
" ]4 t1 E# W5 X6 e, ^& p- h0 y8 s6 r: u- t7 @
2. 攻击者利用攻击合约创建了10个合约,为后续攻击做准备。 + u5 g' i1 _1 N$ M 1 y& h' {! Y: r8 s/ C 2 j6 I' ^' s! b0 i : |' \7 c( ` Y: W# u/ K% C! y) H" k0 ]$ x
+ Z# c5 P8 D1 E- a
3. 攻击者接下来将兑换得到的fBNB代币抵押到FEGexPRO合约(0x818e...8bc7)中。" F3 W# A" N. u
2 C! p/ b% F0 \& `2 X
2 M5 l: L/ u, ^& h" o& N
+ j! x& H; `9 @4 I* M
4. 然后攻击者重复调用depositInternal和swapToSwap函数,让FEGexPRO合约授权fBNB给之前创建好的其他攻击合约。 ; K0 }$ v8 P( m" m* v- l8 Z O- [- @7 ]6 ]
: l' `& L$ v- S0 y* F$ f
; V S! x$ w, {" |1 s
L1 k, ^% R' E% L- K/ v* R1 g
0 O( `7 F( G, z* |; G+ c5. 然后利用其他攻击合约调用transferFrom函数将FEGexPRO合约中fBNB全部转移到攻击合约(0x9a84...f445)中。9 M6 V* I7 j9 B
; M- y0 @6 {0 C' g- q: ^& F
: j- f! a4 h7 y3 @0 r" z) |% O- S, b/ F8 `, O; ^: f I# u, p
' y5 m# n" N! q" d* _2 p1 X" L 7 S- t \. u! U; {% o+ C6. 接下来又在LP交易对合约(0x2aa7...6c14)中借贷31,217,683,882,286.007211154 FEG代币和423 WBNB。 " |$ T- A$ h4 T0 u, X- a+ \: k, _" x) {- K. \
9 Y: a6 w: I6 F 3 H [* I. m, G' b7. 然后重复3、4、5步骤的攻击手法,将FEGexPRO合约中大量FEG代币盗取到攻击合约中。 * U) r2 r ~; x7 q% \ ) u9 _0 ^. u B $ n ^& W+ w: d3 W M5 }2 v8 ^) ]2 o