优惠论坛

标题: 卷土重来?黑客获利约130万美元,FEGexPRO合约被攻击事件分析 [打印本页]

作者: lzqandly    时间: 2022-5-23 23:52
标题: 卷土重来?黑客获利约130万美元,FEGexPRO合约被攻击事件分析
2022年5月16日,成都链安链必应-区块链安全态势感知平台舆情监测显示,Ethereum和BNB Chain上FEGtoken项目的FEGexPRO合约遭受黑客攻击,黑客获利约3280 BNB 以及144 ETH,价值约130万美元。成都链安技术团队对事件进行了分析,结果如下。# [+ B/ y: C1 e4 ]6 k2 f& a
1 Y1 F5 `, ?1 F3 s6 o1 X
, f& n3 K( ~( T# G: z% ?+ U

/ z* b2 |$ |& P$ P1 }4 O2 ~
0 e2 i% o7 V9 u/ J* S# T5 I9 l0 F( L% X. m6 v
#1 事件相关信息
2 X2 q. f2 h+ s1 |- u  w( g
$ u1 k) B' I3 h" {: j3 M7 p/ Q- a' m2 S/ y
2 _2 `$ ]+ K- {/ m4 q% k: Q; d' M
本次攻击事件包含多笔交易,部分交易信息如下所示:
- T! g2 ^# _6 V' `, W  ?8 C/ j3 @+ [( o1 L
# G. B9 _5 j) w

3 Y# C8 b, _& b, m4 V* C, Y攻击交易 (部分)9 i# l0 q6 ?  Y8 \
) g) g8 b0 z+ v1 C+ s8 R
0x77cf448ceaf8f66e06d1537ef83218725670d3a509583ea0d161533fda56c063 (BNB Chain)
; U- ?! j9 W( |2 `* Q! A# y# f, |! I% Z% Y, P/ R" G
0x1e769a59a5a9dabec0cb7f21a3e346f55ae1972bb18ae5eeacdaa0bc3424abd2 (Ethereum)
- z$ t" j! {: C1 Z9 W1 A
# ?7 P* E/ s! i) _/ d( \& g8 k9 V' {  f0 a

7 Z& X* ?/ Z' e% U8 ]! O攻击者地址
  i0 I1 O$ `; f/ A/ b' {
' ?6 A+ m; F# c0x73b359d5da488eb2e97990619976f2f004e9ff7c
- E) I+ W  S! X2 m" k2 d* T
. H. b$ G6 b9 O6 b. \4 H6 o3 d7 n( W2 i! v. v+ s! d0 {6 F: I
4 w& u% \( p' I& b! ?6 r& @: y
攻击合约2 j) L* ]  c; s1 L. d& ^* ~
4 w9 v7 j# c7 h0 y% H1 Z+ Y
0x9a843bb125a3c03f496cb44653741f2cef82f445
# j$ s! p# X4 f9 u" C
. `( v/ g  r3 m2 e$ O( k& X: u+ U$ u8 V

/ n: c/ P1 W7 @; ]0 @; U! V+ m被攻击合约(部分)
! [+ A. y' j. l+ h% n" @4 f* H( b' p" D# H  Z7 J
0x818e2013dd7d9bf4547aaabf6b617c1262578bc7 (BNB Chain)3 M0 Q5 x, q. z8 N+ ^% M$ K
' C, U6 r7 h) Z3 z
0xf2bda964ec2d2fcb1610c886ed4831bf58f64948 (Ethereum)4 w* F: ?* R" f% B, J( F5 a3 I/ T

: m! ^$ J( I5 p0 @; B
  M5 r, {- [4 i1 \* R1 w- d; `+ n- P8 {6 N! g( S9 g: V1 [
#2 攻击流程( b3 ?" ?' J& p" ?7 @: Y& u2 W  L

% r3 t( }; L6 [7 |5 `( X* G. q1 Z2 ~1 v5 ?
Ethereum和BNB Chain上使用攻击手法相同,以下分析基于BNB Chain上攻击:
1 o# x7 d$ f6 A! M( p* \; W$ g, i
% G5 V$ G/ S" @3 N8 ]
2 v$ F/ g- K1 K/ j* s. }7 V; `
6 h# n6 C. b7 C+ j) b% }1. 攻击者调用攻击合约(0x9a84...f445)利用闪电贷从DVM合约(0xd534...0dd7)中借贷915.84 WBNB,然后将116.81 WBNB兑换成115.65 fBNB为后续攻击做准备。0 i# W/ y1 X7 u" _

- ^+ X* h; L" ^& {9 i9 n/ F
/ U3 t/ F- B- d4 X& F6 R0 I1 j; R* C; h. e
, x; T& Z7 {; i6 W/ o2 ~; N2. 攻击者利用攻击合约创建了10个合约,为后续攻击做准备。3 z4 E) `6 f; Z

. I( b2 {9 ^6 [: R) Z4 y. [/ U1 C* D, e: ^$ S9 Y# V! R# ?9 F( l
% f* i" i6 f, I6 v+ G* s* M% ^

4 ~9 U/ t) P. I' I: r" b) l) C! u& X/ j6 B" @
3. 攻击者接下来将兑换得到的fBNB代币抵押到FEGexPRO合约(0x818e...8bc7)中。
: l0 u! s4 C+ j& I& I5 O; r/ a: D) J$ W' s" e7 D* _5 A3 G
) `  B; o# r  l: H+ E6 A
0 C1 {4 ^; R7 [% q7 G' \7 ?
4. 然后攻击者重复调用depositInternal和swapToSwap函数,让FEGexPRO合约授权fBNB给之前创建好的其他攻击合约。' q2 l6 E- f2 E& E

: q2 r. c" ]2 g% }4 G4 f/ \5 t9 x+ s, m( W3 n" e

1 b' _: c5 o9 r& E1 j1 ~4 O% g; H$ o0 q, p6 Z7 W

' h2 B% G( d# Z& O' ?# a5. 然后利用其他攻击合约调用transferFrom函数将FEGexPRO合约中fBNB全部转移到攻击合约(0x9a84...f445)中。- y8 W6 u9 z, p, Q. F- R

  Y0 Z* i9 p) L* M6 i# q8 I* y! q* L& r+ N
; a* Q8 R, J- `% u! [0 j
, P& {' ]" n  ~& P! i

+ e, x% y7 \8 k$ z  J) x! `6 i6. 接下来又在LP交易对合约(0x2aa7...6c14)中借贷31,217,683,882,286.007211154 FEG代币和423 WBNB。7 C/ j# y3 a* I% b

3 }& q( V" i( u$ x" q
* Y1 s7 W) |4 _% i' c9 [6 w# Y# g# v3 ^" ]9 p# ~) j
7. 然后重复3、4、5步骤的攻击手法,将FEGexPRO合约中大量FEG代币盗取到攻击合约中。
# i) {" t% s9 ?3 q8 _7 M" |9 o/ H9 y9 |. D# S
. A+ y0 d6 o8 K1 {( C/ r
- a8 l3 }0 w3 v! \

4 r4 G* q6 u1 ^7 a' b
' M4 p* f8 y9 x  d7 t, g/ p0 O$ Z7 x. n$ h. o$ Y

3 R6 V$ B, W; p7 `# b. H8. 然后归还闪电贷,将获得的WBNB转入攻击合约中完成此笔攻击。
; M) x0 `3 H! p$ H# ~2 x3 n& [2 r3 ?7 }6 e

# _0 p4 U9 d3 ^& `3 y( H9 _
& K) H3 s* ~- ^' R) Q0 ^9 S7 H  G- j: o
, E: N7 }  {+ ]/ j
9. 此后,又利用相同的原理,执行了50余笔相同的攻击,最获利约144 ETH和3280 BNB。
7 ^! U: P" w% J( ]! D; B/ p
6 n, b4 }9 x, v  l. e: j
& Q$ C. w1 `6 O5 }6 K- q5 b/ p
, O* S( Z; L+ Z$ V: l0 N* `' q9 D
# |0 q- Q" {9 ?5 ^8 |$ C2 d( B! d
! h  z1 o: y7 Q) q# d/ M
# M( S- L3 g& D, B  h/ S- h& o
" W8 T* h/ T! U2 o( f  c/ K$ a& J1 C9 m4 i4 s6 R

( x+ ?) f* e& c: }- E' f. P#3 漏洞分析
5 y, _; P: E) \! I" M
+ |" w# h0 ?$ V6 T8 s
$ r- k; e* E. J, O5 o' n本次攻击主要利用了FEGexPRO合约中swapToSwap函数中path地址可控且合约中未对path地址进行有效性校验的漏洞。由于合约中depositInternal函数中更新用户余额时依赖于合约中当前代币余额,攻击者通过传入一个恶意的path地址,调用swapToSwap函数时合约中代币余额并未发生变化,导致攻击者可以反复重置攻击合约在FEGexPRO合约中记录的代币数量,从而让FEGexPRO合约将自身代币反复授权给攻击者所控制的多个恶意合约。( M/ b( R) g6 V& f: `

) l! e, ^  g/ a+ v) w' E& d) s& M* ]; W$ n: H# |- ?
: Y2 F, `0 R$ }8 N' d; @
. p1 ]9 g6 V7 F: m

% O5 K+ B* P  I( A
$ Z' k' e' a5 m4 a8 X  w' i
4 X( h6 e$ ]% q7 H! i#4 资金追踪
% s0 U; V  `* F! T9 k5 n: N0 v6 I7 G. k, k1 [6 O6 g: T

# J3 m; S# z" T$ [- ]截止发文时,被盗资金仍在攻击者地址(0x73b3...ff7c)中并未转移。
1 Q. s& H( X% M4 T$ v: x1 C3 ~
6 a9 R, }; E& X% C# \# T0 p2 m8 D8 u4 X6 S$ H
, z. l( c- J) e5 u4 t1 D# o

8 D- l! _- D! a2 ^: L- I+ P1 ^8 a" Z; M' T2 [3 A

. ?* D- n/ |2 ]' v7 P6 t; C
+ s0 t3 w! i8 T
. q7 p- Z, k) n  h
& r7 ^) r! ~# v. h. F! o8 Z
4 q( ~& S# a# {& `7 o8 o! S" J3 u0 L7 U0 W& ]
#5 总结
- K6 C$ n( L, p& ~
5 M" X4 {1 }( b2 ]) Q& F) R  D7 G
针对本次事件,成都链安技术团队建议:, C# U! w0 z0 `
, h/ w7 i/ G, d, m3 j

5 t3 R* m) Z9 @/ W6 V4 X6 T; m& S  A: F# F* z
项目开发时,应该注意与其他合约交互时可能存在的安全风险,尽量避免将关键参数设置为用户可控。如果业务需求如此,则需要严格判断用户输入的参数是否存在风险。此外建议项目上线前选择专业的安全审计公司进行全面的安全审计,规避安全风险。+ `5 d# H# |+ m$ @* j

9 @. Z! z' [8 u4 a; W4 C8 m9 J
作者: 22301    时间: 2022-5-24 09:06
黑客也是厉害啊,又是赚到很多。
作者: 碧海潮生    时间: 2022-5-24 13:41
开始发新闻了,也是一堆吧
作者: 万千梦想    时间: 2022-5-24 16:27
如果是行业内的人可以分析一下
作者: benlau0214    时间: 2022-5-24 16:38
那你还赶紧的去出手赢个几百万的
作者: yurulee    时间: 2022-5-24 18:28
这类新闻适当看一看就可以了
作者: zgfjxm    时间: 2022-5-24 19:54
以后还是立志去干黑客比较赚钱
作者: dupree168    时间: 2022-5-25 16:03
黑客很厉害啊,又是赚到了不少的钱的咯
作者: 屡败屡战    时间: 2022-5-26 06:56
有门技术肯定是比较好赚钱的事
作者: 爱美的女人    时间: 2022-5-26 10:19
这也是要有技术的才能做到了
作者: 爱上菠菜    时间: 2022-5-26 16:25
还是需要有技术才能够赚钱呢。
作者: 韩少    时间: 2022-5-27 11:11
这些黑客果然也是很厉害了
作者: 德罗星    时间: 2022-5-27 21:21
黑客真的是牛逼哄哄了的哦。
作者: 远韵    时间: 2022-5-28 07:08
黑客的火力的那么多啊
作者: 带笑颜    时间: 2022-5-28 20:50
黑客,真厉害,无所不在啊,这是
作者: rainwang    时间: 2022-5-29 22:08
看来它还是挺引人注目的公司




欢迎光临 优惠论坛 (https://www.tcelue.tv/) Powered by Discuz! X3.1