diff options
author | Bryan McNulty <bryan@falconops.com> | 2025-04-28 02:08:24 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-28 02:08:24 -0500 |
commit | 10eee0ed28ecf5f22967a935e3596000e75cd63e (patch) | |
tree | 6a20b4b2f103b2728bbd30b690c6227da664184d /pkg | |
parent | 5d0e12eaeacc8532cea2e4c595501388f1eb6739 (diff) | |
download | goexec-10eee0ed28ecf5f22967a935e3596000e75cd63e.tar.gz goexec-10eee0ed28ecf5f22967a935e3596000e75cd63e.zip |
Fix SMB dialect negotiation (#13)
* Negotiate (not force) highest SMB dialect
* Fixed some issues with SMB client
Diffstat (limited to 'pkg')
-rw-r--r-- | pkg/goexec/smb/client.go | 2 | ||||
-rw-r--r-- | pkg/goexec/smb/options.go | 20 |
2 files changed, 9 insertions, 13 deletions
diff --git a/pkg/goexec/smb/client.go b/pkg/goexec/smb/client.go index d95481c..a9e0e11 100644 --- a/pkg/goexec/smb/client.go +++ b/pkg/goexec/smb/client.go @@ -58,7 +58,7 @@ func (c *Client) Connect(ctx context.Context) (err error) { } // Establish TCP connection - c.conn, err = c.netDialer.Dial("tcp", net.JoinHostPort(c.Host, fmt.Sprintf("%d", c.Port))) + c.conn, err = c.netDialer.Dial("tcp", net.JoinHostPort(c.Host, "445")) if err != nil { return err diff --git a/pkg/goexec/smb/options.go b/pkg/goexec/smb/options.go index 4112abf..413129f 100644 --- a/pkg/goexec/smb/options.go +++ b/pkg/goexec/smb/options.go @@ -47,23 +47,19 @@ func (c *Client) Parse(ctx context.Context) (err error) { var do []msrpcSMB2.DialerOption - if c.Port == 0 { - c.Port = DefaultPort - } - if c.Dialect == 0 { - c.Dialect = DefaultDialect - } + if c.Dialect != 0 { // Use specific dialect - // Validate SMB dialect/version - if d, ok := supportedDialects[c.Dialect]; ok { - do = append(do, msrpcSMB2.WithDialect(d)) + // Validate SMB dialect/version + if d, ok := supportedDialects[c.Dialect]; ok { + do = append(do, msrpcSMB2.WithDialect(d)) - } else { - return errors.New("unsupported SMB version") + } else { + return errors.New("unsupported SMB version") + } } if c.Proxy == "" { - c.netDialer = &net.Dialer{} // FUTURE: additional dial c + c.netDialer = &net.Dialer{} } else { // Parse proxy URL |