cntlm
TLDR
Start with config file
$ cntlm -c [/etc/cntlm.conf]
Run in foreground debug mode$ cntlm -v -f
Detect NTLM settings$ cntlm -M http://test.com
Generate password hash$ cntlm -H -d [DOMAIN] -u [username]
Start SOCKS5 proxy$ cntlm -O [1080]
Specify proxy and credentials$ cntlm -u [user] -d [DOMAIN] -p [pass] [proxy:port]
SYNOPSIS
cntlm [options] [proxyhost:]proxyport...
DESCRIPTION
cntlm is an NTLM/NTLMv2 authenticating HTTP proxy. Caches authenticated connections for speed. Supports TCP/IP tunneling and SOCKS5. Much faster than similar proxies.
PARAMETERS
-u user
Proxy username-d domain
Proxy domain-p password
Proxy password-a auth
Auth type: NTLMv2, NTLM2SR, NT, NTLM, LM-M url
Magic NTLM detection mode-H
Generate password hashes-c file
Configuration file-l [addr:]port
Listen on port-O [addr:]port
Enable SOCKS5 proxy-N pattern
No-proxy pattern list-f
Run in foreground-v
Verbose/debug mode-g
Allow gateway mode (non-local connections)-P pidfile
Create PID file
CONFIGURATION FILE
/etc/cntlm.conf:
$ Username user
Domain CORP
Password pass
Proxy proxy.corp.com:8080
Listen 3128
Domain CORP
Password pass
Proxy proxy.corp.com:8080
Listen 3128
AUTH TYPES
NTLMv2: Strongest, recommended
NTLM2SR: Strong
NTLM: Legacy compatibility
LM: Weakest, old servers only
CAVEATS
Use -M to auto-detect strongest working auth. Store password hashes instead of plaintext. Config file same syntax as OpenSSH.


