Re: NTLM HTTP Authentication is insecure by design - a new writeup by Amit Klein
From: Amit Klein (AKsecurity) (aksecurity_at_hotpop.com)
Date: Tue, 19 Jul 2005 20:22:59 +0200 To: 3APA3A <3APA3A@SECURITY.NNOV.RU>
On 19 Jul 2005 at 13:35, 3APA3A wrote:
> Dear Amit Klein (AKsecurity),
> --Monday, July 18, 2005, 9:40:32 PM, you wrote to email@example.com:
> AKA> NTLM HTTP Authentication
> AKA> (and possibly other connection-oriented
> AKA> HTTP authentication and authorization protocols)
> AKA> is insecure by design
> NTLM authentication is insecure by design for external authentication,
> because of "single signon" ideology. NTLM authentication can be used
> for NTLM proxy attack. For example, attacker who can hijack or spoof
> server connection with NTLM authentication can use this connection to
> access different Web server, mail server or file server with client's
> credentials. This is known for many years and was discussed for many
While not downplaying this remark, I'd say that:
1. By this argument, any non-cryptographically strong protocol should be considered
insecure by design. I don't think that's what people have in mind. I think that per each
protocol, there's a set of expectations. For example, no-one expects NTLM auth to protect
data in transit. But people do expect NTLM not to by bypassed by silly methods.
2. I see a big difference between spoofing and hijacking attacks, which require non trivial
skill set, and the attack I described, which, given the right preconditions, is so easy to
mount that it can be done so accidentally.
Few years ago Internet Explorer was patched to use NTLM
> authentication only for local network zone. Local network are hosts
> with NetBIOS name (for example WEBSRV, excluded by default from proxy)
> and list of proxy exclusions.
Uh, I don't think so. From my experiments with IE 6.0, it happily engages in NTLM
authentication on non local network sites. In fact, there are many sites on the Internet
which require NTLM authentication. For example, OWA 2000/2003...
> So, under default configuration, NTLM will not be used through proxy
> server, at least in Internet Explorer.
As a result of my former comment, I have to disagree. There ARE websites that require NTLM
authentication, IE DOES perform it, so there's no theoretic reason why there shouldn't be
proxy servers in between.