Cntlm
Cntlm is a fast NTLM authentication proxy that supports TCP/IP tunneling and authenticated connection caching. It provides up to ten times faster responses than similar proxies while using significantly less RAM and CPU.
Description
Cntlm serves as an efficient NTLM proxy designed for authenticating HTTP(S) connections through corporate proxies. It includes features like ACLs, proper daemon logging, and TCP/IP tunneling, making it suitable for environments requiring NTLM authentication acceleration. The tool is particularly useful for users behind restrictive proxies, offering a local proxy interface that handles NTLM handshakes transparently.
Use cases include bypassing NTLM-authenticated proxies for web access, creating secure tunnels for remote services, and enabling SOCKS5 proxying with authorization. It supports configuration files for persistent settings and can run in foreground or daemon mode, with options for debugging and logging to aid troubleshooting.
Cntlm's lightweight nature and performance optimizations make it ideal for resource-constrained systems, while its compatibility with various NTLM dialects ensures broad proxy support.
How It Works
Cntlm operates as a local NTLM proxy that authenticates against upstream NTLM-enabled proxies using configurable credentials and authentication types (NTLM, NT, LM). It caches authenticated connections to accelerate subsequent requests, supports TCP/IP tunneling via port forwarding rules, and applies ACLs for access control. Additional features include header substitution, User-Agent filtering, and SOCKS5 proxying, with optional SSPI support on Windows and PAC file parsing for proxy autodetection.
Installation
sudo apt install cntlmFlags
Examples
cntlm -hcntlm -H -u user -d domaincntlm -Icntlm -M <testurl>cntlm -L [<saddr>:]<lport>:<rhost>:<rport>cntlm -l [<saddr>:]<lport>cntlm -O [<saddr>:]<lport>