aboutsummaryrefslogtreecommitdiff
path: root/internal/exec/scmr/module.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/exec/scmr/module.go')
-rw-r--r--internal/exec/scmr/module.go43
1 files changed, 25 insertions, 18 deletions
diff --git a/internal/exec/scmr/module.go b/internal/exec/scmr/module.go
index 95977b8..2a2d378 100644
--- a/internal/exec/scmr/module.go
+++ b/internal/exec/scmr/module.go
@@ -1,31 +1,38 @@
package scmrexec
import (
- "github.com/FalconOpsLLC/goexec/internal/client/dcerpc"
- "github.com/RedTeamPentesting/adauth"
- "github.com/oiweiwei/go-msrpc/msrpc/scmr/svcctl/v2"
- "github.com/rs/zerolog"
+ "context"
+ "github.com/oiweiwei/go-msrpc/dcerpc"
+ "github.com/oiweiwei/go-msrpc/msrpc/scmr/svcctl/v2"
+)
+
+const (
+ MethodCreate = "create"
+ MethodChange = "change"
+
+ CleanupMethodDelete = "delete"
+ CleanupMethodRevert = "revert"
)
type Module struct {
- creds *adauth.Credential
- target *adauth.Target
- hostname string
+ hostname string // The target hostname
+ dce dcerpc.Conn
+ reconnect func(context.Context) error
- log zerolog.Logger
- dce *dcerpc.DCEClient
- ctl svcctl.SvcctlClient
+ ctl svcctl.SvcctlClient
+ scm *svcctl.Handle
+ services []remoteService
}
type MethodCreateConfig struct {
- NoDelete bool
- ServiceName string
- DisplayName string
- ServiceType uint32
- StartType uint32
+ NoDelete bool
+ ServiceName string
+ DisplayName string
+ ServiceType uint32
+ StartType uint32
}
-type MethodModifyConfig struct {
- NoStart bool
- ServiceName string
+type MethodChangeConfig struct {
+ NoStart bool
+ ServiceName string
}