aboutsummaryrefslogtreecommitdiff
path: root/internal/exec/tsch/module.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/exec/tsch/module.go')
-rw-r--r--internal/exec/tsch/module.go48
1 files changed, 48 insertions, 0 deletions
diff --git a/internal/exec/tsch/module.go b/internal/exec/tsch/module.go
new file mode 100644
index 0000000..dbd9ade
--- /dev/null
+++ b/internal/exec/tsch/module.go
@@ -0,0 +1,48 @@
+package tschexec
+
+import (
+ "github.com/FalconOpsLLC/goexec/internal/client/dcerpc"
+ "github.com/RedTeamPentesting/adauth"
+ "github.com/oiweiwei/go-msrpc/msrpc/tsch/itaskschedulerservice/v1"
+ "github.com/rs/zerolog"
+ "time"
+)
+
+type Module struct {
+ creds *adauth.Credential
+ target *adauth.Target
+
+ log zerolog.Logger
+ dce *dcerpc.DCEClient
+ tsch itaskschedulerservice.TaskSchedulerServiceClient
+}
+
+type MethodRegisterConfig struct {
+ NoDelete bool
+ CallDelete bool
+ TaskName string
+ TaskPath string
+ StartDelay time.Duration
+ StopDelay time.Duration
+ DeleteDelay time.Duration
+}
+
+type MethodDemandConfig struct {
+ NoDelete bool
+ CallDelete bool
+ TaskName string
+ TaskPath string
+ StopDelay time.Duration
+ DeleteDelay time.Duration
+}
+
+type MethodDeleteConfig struct {
+ TaskPath string
+}
+
+const (
+ MethodRegister string = "register"
+ MethodDemand string = "demand"
+ MethodDelete string = "delete"
+ MethodChange string = "update"
+)