diff options
author | Bryan McNulty <bryanmcnulty@protonmail.com> | 2025-03-08 08:35:09 -0600 |
---|---|---|
committer | Bryan McNulty <bryanmcnulty@protonmail.com> | 2025-03-08 08:35:09 -0600 |
commit | 8360747c22987c8f7de7b4d19cf2d6ee68994183 (patch) | |
tree | 937bcd554ee9b7442e66bfa771b6a25016202211 /internal | |
parent | 7574b7370be083ff563fa8ad6d01d5ac776d7e4d (diff) | |
download | goexec-8360747c22987c8f7de7b4d19cf2d6ee68994183.tar.gz goexec-8360747c22987c8f7de7b4d19cf2d6ee68994183.zip |
Some quick fixes and validations
Diffstat (limited to 'internal')
-rw-r--r-- | internal/exec/tsch/exec.go | 22 | ||||
-rw-r--r-- | internal/exec/tsch/tsch.go | 18 |
2 files changed, 9 insertions, 31 deletions
diff --git a/internal/exec/tsch/exec.go b/internal/exec/tsch/exec.go index d205776..c238f41 100644 --- a/internal/exec/tsch/exec.go +++ b/internal/exec/tsch/exec.go @@ -25,23 +25,13 @@ const ( var ( TschRpcUuid = uuid.MustParse("86D35949-83C9-4044-B424-DB363231FD0C") SupportedEndpointProtocols = []string{"ncacn_np", "ncacn_ip_tcp"} - - defaultStringBinding *dcerpc.StringBinding - initErr error ) -func init() { - if defaultStringBinding, initErr = dcerpc.ParseStringBinding(DefaultEndpoint); initErr != nil { - panic(initErr) - } -} - // Connect to the target & initialize DCE & TSCH clients func (mod *Module) Connect(ctx context.Context, creds *adauth.Credential, target *adauth.Target, ccfg *exec.ConnectionConfig) (err error) { //var port uint16 var endpoint string = DefaultEndpoint - //var stringBinding = defaultStringBinding var epmOpts []dcerpc.Option var dceOpts []dcerpc.Option @@ -82,17 +72,7 @@ func (mod *Module) Connect(ctx context.Context, creds *adauth.Credential, target } log = log.With().Str("endpoint", endpoint).Logger() log.Info().Msg("Connecting to target") - /* - if !cfg.NoEpm { - mapperOpts := append(dceOpts, ao...) - dceOpts = append(dceOpts, - epm.EndpointMapper(ctx, target.AddressWithoutPort(), mapperOpts...), - dcerpc.WithEndpoint(fmt.Sprintf("%s:", stringBinding.ProtocolSequence.String()))) - - } else { - dceOpts = append(dceOpts, dcerpc.WithEndpoint(stringBinding.String())) - } - */ + // Create DCERPC dialer mod.dce, err = dcerpc.Dial(ctx, target.AddressWithoutPort(), append(dceOpts, ao...)...) if err != nil { diff --git a/internal/exec/tsch/tsch.go b/internal/exec/tsch/tsch.go index f2476f1..d47e513 100644 --- a/internal/exec/tsch/tsch.go +++ b/internal/exec/tsch/tsch.go @@ -55,7 +55,7 @@ type settings struct { type actionExec struct { XMLName xml.Name `xml:"Exec"` Command string `xml:"Command"` - Arguments string `xml:"Arguments"` + Arguments string `xml:"Arguments,omitempty"` } type actions struct { @@ -77,14 +77,13 @@ type principal struct { } type task struct { - XMLName xml.Name `xml:"Task"` - TaskVersion string `xml:"version,attr"` - TaskNamespace string `xml:"xmlns,attr"` - //TimeTriggers []taskTimeTrigger `xml:"Triggers>TimeTrigger,omitempty"` // TODO: triggers type - Triggers triggers `xml:"Triggers"` - Actions actions `xml:"Actions"` - Principals principals `xml:"Principals"` - Settings settings `xml:"Settings"` + XMLName xml.Name `xml:"Task"` + TaskVersion string `xml:"version,attr"` + TaskNamespace string `xml:"xmlns,attr"` + Triggers triggers `xml:"Triggers"` + Actions actions `xml:"Actions"` + Principals principals `xml:"Principals"` + Settings settings `xml:"Settings"` } // registerTask serializes and submits the provided task structure @@ -106,7 +105,6 @@ func (mod *Module) registerTask(ctx context.Context, taskDef task, taskPath stri taskXml = TaskXMLHeader + string(doc) log.Debug().Str("content", taskXml).Msg("Generated task XML") } - // Submit task { response, err := mod.tsch.RegisterTask(ctx, &itaskschedulerservice.RegisterTaskRequest{ |