aboutsummaryrefslogtreecommitdiff
path: root/internal/exec/scmr/service.go
diff options
context:
space:
mode:
authorBryan McNulty <bryanmcnulty@protonmail.com>2025-03-09 12:26:05 -0500
committerBryan McNulty <bryanmcnulty@protonmail.com>2025-03-09 12:26:05 -0500
commitc6460b19bd834875b00f199390e6121d5bdfba7e (patch)
tree11cf6c9c3ddbdf694547cea50c2375d2b6d0df7c /internal/exec/scmr/service.go
parent8099a1d45007ba86f353647bf2a3f09d0cfc73a7 (diff)
downloadgoexec-c6460b19bd834875b00f199390e6121d5bdfba7e.tar.gz
goexec-c6460b19bd834875b00f199390e6121d5bdfba7e.zip
massively improved SCMR module + new DCE client
Diffstat (limited to 'internal/exec/scmr/service.go')
-rw-r--r--internal/exec/scmr/service.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/internal/exec/scmr/service.go b/internal/exec/scmr/service.go
new file mode 100644
index 0000000..9a580cb
--- /dev/null
+++ b/internal/exec/scmr/service.go
@@ -0,0 +1,25 @@
+package scmrexec
+
+import (
+ "context"
+ "github.com/FalconOpsLLC/goexec/internal/windows"
+ "github.com/oiweiwei/go-msrpc/msrpc/scmr/svcctl/v2"
+)
+
+const (
+ ServiceDeleteAccess uint32 = windows.SERVICE_DELETE
+ ServiceModifyAccess uint32 = windows.SERVICE_QUERY_CONFIG | windows.SERVICE_CHANGE_CONFIG | windows.SERVICE_STOP | windows.SERVICE_START | windows.SERVICE_DELETE
+ ServiceCreateAccess uint32 = windows.SC_MANAGER_CREATE_SERVICE | windows.SERVICE_START | windows.SERVICE_STOP | windows.SERVICE_DELETE
+ ServiceAllAccess uint32 = ServiceCreateAccess | ServiceModifyAccess
+)
+
+type remoteService struct {
+ name string
+ handle *svcctl.Handle
+ originalConfig *svcctl.QueryServiceConfigW
+ originalState *svcctl.ServiceStatus
+}
+
+func (mod *Module) parseServiceDependencies(ctx context.Context, ) (err error) {
+ return nil
+}