X1r0z / go-ntlmssp

NTLM/Negotiate authentication over HTTP that supports Pass The Hash Mode (Pth)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

go-ntlmssp

Modified from Azure/go-ntlmssp, and added Pth Mode (Pass The Hash).

Golang package that provides NTLM/Negotiate authentication over HTTP

GoDoc

Protocol details from https://msdn.microsoft.com/en-us/library/cc236621.aspx Implementation hints from http://davenport.sourceforge.net/ntlm.html

This package only implements authentication, no key exchange or encryption. It only supports Unicode (UTF16LE) encoding of protocol strings, no OEM encoding. This package implements NTLMv2.

Usage

url, user, password := "http://www.example.com/secrets", "robpike", "pw123"
// url, user, password := "http://www.example.com/secrets", "robpike", "8ed4a48ecd2a1276eed963da80e2256e"

client := &http.Client{
  Transport: ntlmssp.Negotiator{
    RoundTripper: &http.Transport{},
    UsePth: false, // or true when using Pth Mode (Pass The Hash)
  },
}

req, _ := http.NewRequest("GET", url, nil)
req.SetBasicAuth(user, password) // password should be NTLM Hash when using Pth Mode
res, _ := client.Do(req)

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

About

NTLM/Negotiate authentication over HTTP that supports Pass The Hash Mode (Pth)

License:MIT License


Languages

Language:Go 100.0%