Skip to content
forked from stacktitan/smb

A forked SMB library in Go. Modifed to meet the needs of infosec professionals.

License

Notifications You must be signed in to change notification settings

ILightThings/smb

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Note for fork

I know it seems like I just replaced the OG author with my own. Promise that its not. Making a security tool with this fork.

Using the challenge issues by the server duing the NTLMSSP process, we are able to grab the NETBIOS and FQDN of the target machine with out having to authenticate.

Link to microsoft whitepaper about NTLMSSP

OG README

SMB

A Go package for communicating over SMB. Currently only minimal funcationality exists for client-side functions.

Here is a sample client that establishes a session with a server:

package main

import (
	"log"

	"github.com/ilightthings/smb/smb"
)

func main() {

	host := "172.16.248.192"
	options := smb.Options{
		Host:        host,
		Port:        445,
		User:        "alice",
		Domain:      "corp",
		Workstation: "",
		Password:    "Password123!",
	}
	debug := false
	session, err := smb.NewSession(options, debug)
	if err != nil {
		log.Fatalln("[!]", err)
	}
	defer session.Close()

	if session.IsSigningRequired {
		log.Println("[-] Signing is required")
	} else {
		log.Println("[+] Signing is NOT required")
	}

	if session.IsAuthenticated {
		log.Println("[+] Login successful")
	} else {
		log.Println("[-] Login failed")
	}

	if err != nil {
		log.Fatalln("[!]", err)
	}
}

About

A forked SMB library in Go. Modifed to meet the needs of infosec professionals.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%