LinuxCommandLibrary

cntlm

TLDR

Start with config file

$ cntlm -c [/etc/cntlm.conf]
copy
Run in foreground debug mode
$ cntlm -v -f
copy
Detect NTLM settings
$ cntlm -M http://test.com
copy
Generate password hash
$ cntlm -H -d [DOMAIN] -u [username]
copy
Start SOCKS5 proxy
$ cntlm -O [1080]
copy
Specify proxy and credentials
$ cntlm -u [user] -d [DOMAIN] -p [pass] [proxy:port]
copy

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
copy

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.

SEE ALSO

squid(8), privoxy(1), tinyproxy(8)

Copied to clipboard