0

This question already has an answer here:

Why does Microsoft still use LM/NTLM for hashing of password? Why are they not using more secure algorithms for hashing like BCRYPT or SHA512?

marked as duplicate by Polynomial, Steffen Ullrich, Rory Alsop Feb 21 '18 at 21:49

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 1
    "Why use a closed source product where you can not change it when you could use open source software. " is just as valid a question. I would suggest you contact your local Microsoft representative if you really want to know. Or simply use different software. – LvB Feb 19 '18 at 17:06
  • IIS is also using RC4 with MD5 – Aria Feb 19 '18 at 17:49
  • @Aria For what? – Polynomial Feb 19 '18 at 17:56
  • Windows 10 Anniversary Edition updated the password scheme to use a new hash scheme using AES128 and MD4, so the old NTLMv2 is technically deprecated (not to mention NTLMv1 and LanMan hashes). – Polynomial Feb 19 '18 at 18:01
  • @Polynomial for TLS – Aria Feb 19 '18 at 19:23
2

Two reasons: backwards compatibility and threat model assessment. Microsoft uses Kerberos over the open Internet, but NTLM within a network. The reasoning is that if your network has already been pwned, using a more secure algorithm offers no benefit. Internal applications also within an organization also tend to run older versions of the OS (XP, mostly), so allowing NTLM lets corporations to continue to use their older hardware and software.

  • 3
    NTLMv2 is no longer the default for credential storage as of Windows 10 Anniversary Update and Windows Server 2016. – Polynomial Feb 19 '18 at 18:10
  • @Polynomial Yeah, for those organizations that actually upgrade. My point is simply that most organizations choose to run older versions for cost reasons (our call centers are still using Win 7, for example), so backwards compatibility trumps security. Microsoft has always been hesitant to cut off their clients at the knees, even for such an altruistic purpose as improved security for their clients. – phyrfox Feb 19 '18 at 18:21
  • 1
    "if your network .... using a more secure algorithm offers no benefit": This makes very little sense. If I steal the password database and run it through hashcat to get cleartext passwords, this is obviously a bad thing for all the people who have their passwords compromised, and might open additional doors for the attacker. Using a better hash function would cleary offer a benefit (e.g. much less compromised passwords). – Pascal Feb 19 '18 at 23:58
  • @Pascal LM/NTLM is about protecting the credentials on the wire across a local network. If I can read your passwords from NTLM, that means I've pwned your router/switch and I can read all of your network data. I don't need to hack your database if I can get your NTLM traffic. Think about that. By the time I'm able to read your NTLM-protected passwords, I can likely shape the traffic any way I want, set up MITM attacks, and more. Note that NTLM is not used over public Internet for this reason (Kerberos is used instead). – phyrfox Feb 20 '18 at 0:41
  • I was thinking more along the line that people often reuse the same passwords, so knowing a plaintext password will give the attacker an opportunity to, say, take over E-mail accounts, Google accounts etc. – Pascal Feb 20 '18 at 18:49

Not the answer you're looking for? Browse other questions tagged or ask your own question.