9 comments

  • bmenrigh 6 days ago
    There are so many problems with this article and the previous one it references (How weak passwords and other failings led to catastrophic breach of Ascension).

    Specifically, RC4 is a stream cipher. Yet, much of the discussion is around the weakness of NTLM, and NTLM password hashes which use MD4, a hash algorithm. The discussion around offline cracking of NTLM hashes being very fast is correct.

    More importantly though, the weakness of NTLM comes from a design of the protocol, not a weakness with MD4. Yes MD4 is weak, but the flaws in NTLM don't stem specifically from MD4.

    Dan Goodin's reporting is usually of high quality but he didn't understand the cryptography or the protocols here, and clearly the people he spoke to didn't help him to understand.

    EDIT: let me be more clear here. MS is removing RC4 from Kerberos, which is a good thing. But the article seems to confuse various NTLM authentication weaknesses and past hacks with RC4 in Kerberos.

    • matthewdgreen 3 hours ago
      Obviously RC4 itself isn't the problem. The problem is that Microsoft ships a "ciphersuite" that includes a bad password-based key derivation algorithm that also happens to be tied to a whole pile of bad cryptography. And the real, real problem is that Microsoft still ships a design in which low-entropy passwords can be misconfigured for use in encrypting credentials, which is a nightmare out of the 1990s and should have been completely disallowed in 2010.

      But I'm not going to get particularly picky if people identify the bad ciphersuite by the shorthand "RC4", because even Microsoft does this: https://www.microsoft.com/en-us/windows-server/blog/2025/12/...

      • Someone1234 3 hours ago
        > But I'm not going to get particularly picky if people identify the bad ciphersuite by the shorthand "RC4", because even Microsoft does this

        Microsoft is actually talking about RC4 there, the article is conflating NTLM and RC4 things together.

      • jmsgwd 2 hours ago
        Are you referring to Windows Kerberos here or NTLM?
      • hnmullany 3 hours ago
        What are the bets that the NSA has been encouraging Microsoft to keep shipping this?
        • Someone1234 2 hours ago
          Low.

          While the NSA would, absolutely, use it to elevate existing internal access - it is such low-hanging fruit that they have enough alternative tools in their arsenal that it isn't a particularly big loss. Most of their competent adversaries disabled it years ago (as has been best-practice since 2010~).

          More likely, it is Microsoft's obsession with backwards compatibility. Which while a great philosophy in general has given them a black eye several times before vis-a-vis security posture.

          • pixl97 2 hours ago
            There are tons of old printers/copy machines that allow SMB access or AD auth that will never see a software update that will break.

            Honestly I blame the copy machine manufactures for requiring service contracts for security updates on a lot of this.

            • thewebguyd 2 hours ago
              Those stupid MFD machines have been the bane of my existence as a sysadmin ever since I started in this career many, many years ago.

              It's these machines, plus a few really old windows-only apps deep in basement of enterprises that keep this old tech around. There's usually no budget to remedy, and no appetite to either from leadership

              Its also what happens when the people buying the tech are disconnected from the ones implementing. Microsoft caters to this.

            • immibis 1 hour ago
              Just photocopy some currency. Depending on the machine, it has a good chance of bricking the machine with an obscure error code until a service tech comes out, at which point you can point out this machine is really old and why don't we get a new one.

              If you'd rather not commit attempted forgery, just print out some Wikipedia pages about the EURion constellation, which is what they detect in money.

              Joking, obviously.

          • GuB-42 1 hour ago
            Most importantly, the NSA is not just about spying, it is also about protection.

            A weakness anyone can exploit in software Americans use is not a good thing for the NSA. If they were to introduce weaknesses, they want to make sure only they can exploit them. For instance in the famous dual_ec_drbg case where the NSA is suspected to have introduced a backdoor, the exploit depends on a secret key. This is not the case here.

            On the other hand if Snowden has shown us anything, it is that the NSA is more stupid than it looks.

          • expedition32 1 hour ago
            Microsoft supporting something doesn't mean that you have to use it. There's something as personal responsibility.
  • tracker1 2 hours ago
    Given the time it's been since deprecated, I'm assuming most older versions of Windows since 2000 and Samba have long since supported more secure options... though from some comments even the more secure options are relatively weak by today's standards as well.

    Aside: still hate working in orgs where you have a password reset multiple times a year... I tend to use some relatively long passphrases, if not the strongest possible... (ex: "ThisHasMyNewPassphrase%#23") I just need to be able to remember it through the first weekend each time I change without forgetting the phrase I used.

    • WorldMaker 2 hours ago
      Depending on your organization, it can sometimes help to point the right compliance person to the latest NIST guidelines, specifically:

      https://pages.nist.gov/800-63-4/sp800-63b.html#passwordver

      > Verifiers and CSPs SHALL NOT require subscribers to change passwords periodically. However, verifiers SHALL force a change if there is evidence that the authenticator has been compromised.

      One of the nice cases where it can be helpful that standards themselves, which you can point to, have said to stop doing that.

      • tracker1 1 hour ago
        Yeah, I've gotten headway in this in other places I've worked... heavy advocate for the only requirement being a minimum length with the recommendation to use a "phrase" as well as not requiring rotation in terms of less than a year at a time if at all... though not strictly matching NIST, some ops find a never require change hard to swallow.

        I wrote an authentication platform used by a few govt agencies. The irony is all my defaults match NIST guidelines (including haveibeenpwned lookup on password set/change), but needed to support the typical overrides for other hard requirements that tend to come from such agencies in practice.

        • thaumasiotes 1 hour ago
          >> Verifiers and CSPs SHALL NOT require subscribers to change passwords periodically. However, verifiers SHALL force a change if there is evidence that the authenticator has been compromised.

          > though not strictly matching NIST, some ops find a never require change hard to swallow.

          I think they're right about that. A scheduled change just represents the accumulating probability that there's been a compromise somewhere that didn't come to your attention.

          It seems like it would make more sense for a scheduled change to affect all passwords at once, though.

          • GTP 1 hour ago
            There has to be some balance though, as requiring change too frequently encourages the use of insecure but easy to remember passwords, or password that are very similar to the previous one thus failing the purpose of the change (e.g. a password containing the year, and the employee only changes the year every time). Best would be pushing for the use of a password manager or auth tokens like Yubikeys.
          • tracker1 56 minutes ago
            On changes, as I've mentioned in other threads, I don't think once a year is too bad... also, I'm an advocate of SSO as much as possible with a strong MFA (ideally push selection) option for work orgs. It reduces friction and can actually improve overall security if appropriately managed... that said, building internal apps that have appropriate application access is often harder still in these environments.
      • thewebguyd 2 hours ago
        Unfortunately, not all guidelines have caught up. PCI-DSS still requires password changes every 90 days for anything in scope (the cardholder data environment, anything that might even remotely touch payment card data).
        • fragmede 1 hour ago
          Not with MFA. Not for a while now. And regardless, the word(s) you are looking for is "compensating control".
    • jandrese 5 minutes ago
      IMHO there are two requirements for a good password:

      1. It must be hard for a computer to guess.

      2. It must be easy for a human to remember. If you can not set a secure password and then remember it a week later it is a bad password.

      This is why I really hate overly strict password requirements that make it hard to remember. These cause people to write it down or do things that appease the password checker but don't make it harder to guess.

    • SoftTalker 1 hour ago
      Fine until you run into the filter that prevents the new password from having any of the same substrings longer than some limit compared to the old one.
      • jandrese 11 minutes ago
        Which means that they're storing your password in plaintext somewhere.
        • mr_mitm 5 minutes ago
          No, because you have to submit the old one along with the new one.
    • christkv 2 hours ago
      I mean this is what I use 1password for.
      • SahAssar 2 hours ago
        If it's the IT managed computer login then you couldn't use a password manager for it, right?

        I think this is more the realm of using windows hello or apple touchid (AFAIK no good, simple, standard built-in way exists for linux distros) to get the first OS login and then you can use your password manager when you are logged into the OS.

        • infogulch 56 minutes ago
          ok fine, two passwords then
      • tracker1 1 hour ago
        I tend to never use my password manager for my primary OS logins for desktops/laptops I physically access. Fortunately, I rarely have to keep more than 5 or so memorized at a time (including my password manager, Bitwarden/Vaultwarden).
  • ChrisArchitect 6 days ago
    • Someone1234 2 hours ago
      Which, in this case, is higher quality as the article has a bunch of mistakes and misinformation in it.
  • ok123456 3 hours ago
    How did RC4 become so widespread when it came from a leak? Additionally, why was it the de facto standard stream cipher in the 90s, even though it was known to be flawed? Just the speed?
    • ufmace 38 minutes ago
      In addition to the other sibling comments, I think there's also a factor of greatly increased computing power. Back in the 90s and earlier, we just didn't have the computing power generally to encrypt everything with super-strong algorithms in realtime. This probably also affects who can practically do development work on state-of-the-art algorithms.

      I recall, when it was originally created, SSL was a rarity, a thing only for the your bank account and the payment page for online stores, because nobody could afford the CPU load to encrypt everything all the time. Now, it's no big deal to put streaming video behind TLS just to ensure your ISP can't mess with it.

    • WorldMaker 2 hours ago
      RSA was still selling RC4 into the mid-2000s as a product. While open source variants of RC4, often trying to avoid the RSA trademark by calling it things like ARCFOUR, started trading in the 1990s, there was still a sense that RC4 was backed by a security company.

      Also, even though flaws were discovered as early as the open source variants had reverse engineered the RC4 algorithm, it was one of those "flaws exist but need things to exploit them that are out of our current threat models" problems, with it being a multi-stage, multi-year effort from the earliest flaw discoveries in the 90s to the most devastating exploits being developed around 2013-2015 taking advantage of those flaws in reproducible ways.

      I also remember in the 90s it felt like the reverse engineered, open source efforts were once shining beacons of hope like PGP of releasing "enterprise grade" security algorithms from trade secret-protected corporate and governmental interests to "the common people". RC4 was simple to implement and easy to reason about, but gave "good enough" security for a lot of uses, certainly far better than "no security unless you pay a company like RSA and only if you don't plan to export your software outside of the US". That's why RC4 was the basis of a 90s idea called CipherSaber [1] about the idea of being able to implement your own security suite that you controlled and companies couldn't take from you.

      Of course, things have shifted so much since the 90s when security suites were trade-protected and export-controlled. The security through obscurity of the algorithms involved behind trade secrets laws is no longer seen as an advantage and the algorithm being public knowledge has started to be a part of security suite threat models. Today's advice is never write your own security suite because there are several well regarded open source suites that have many eyes on them (and subsequently vulnerability plans/mitigations). Governments in the internet age have had to greatly relax their import/export controls on cryptography. We live in a very different world from the world RC4 was originally intended to secure.

      [1] https://en.wikipedia.org/wiki/CipherSaber

    • dchest 3 hours ago
      It's fast, easy to implement, has very concise code, takes any key length up to 256 bytes, comes from a famous cryptographer, and there weren't a lot of alternatives.
    • ivanr 2 hours ago
      Because "everybody uses RC4" (the sibling comment from dchest is correct). There was a lot of bad cryptography in that period and not a lot of desire to improve. The cleanup only really started in 2010 or thereabouts. For RC4 specifically, its was this research paper: https://www.usenix.org/system/files/conference/usenixsecurit... released in 2013.
    • tptacek 2 hours ago
      I think this is a really good question, for what it's worth. Best I can come up with is that, at the time, our block cipher blocks were mostly 8 bytes wide, which doesn't leave a lot of headroom for CTR.
    • cryptonector 44 minutes ago
      It was just the speed, yes.
  • ZeroConcerns 6 days ago
    Reasonable! Anyone who cares about AD security has been AES-only for at least a year now, and most likely much longer, and it's not like these mitigations are especially hard, unless you're still running some seriously obsolete software.
    • carlos256 52 minutes ago
      Nope. AES is not trivial to implement securely, so most implementations simply rely on hardware support. ChaCha20 and XChaCha20 are more secure ciphers.
    • JackSlateur 5 days ago
      Anyone who cares about AD security has left AD for a long time, no ?
      • stefanfisk 3 hours ago
        What’s the alternative?
        • JackSlateur 17 minutes ago
          What is your need ? DNS ? Auth ? File sharing ? Print sharing ? GPO ? Remote control ? SSO ? Authentication or authorization ?
        • polski-g 1 hour ago
          FreeIPA
        • qubex 3 hours ago
          NetInfo.

          I’ll show myself out.

          • cryptonector 38 minutes ago
            Wow, NetInfo. What a blast from the past.

            To be clear NetInfo is not an alternative. It's just not generic enough and not really a good fit for Windows. NetInfo is too much a Unix solution, so there's no cross-realm/domain "forest" functionality, no support for SIDs, etc.

          • chuckadams 33 minutes ago
            No takers for NIS?
      • brendoelfrendo 2 hours ago
        AD is perfectly fine. It's actually really good at what it is: a highly-available Kerberos implementation with an integrated directory server. It's not as dominant as it used to be because there are better ways to handle identity for web applications and zero-trust environments, but I don't think that diminishes what AD was good at.
        • JackSlateur 17 minutes ago
          AD has built-in mecanisms where a random person can execute code on the AD themselves

          You just have to not make a mistake (easy, just be perfect!)

          Most people are not perfect; Hence, most people have security issue with AD (see the never ending tail of cryptolocked companies)

  • notepad0x90 3 hours ago
    The common asrep roast kerberos etype I see now is aes/18 (https://www.iana.org/assignments/kerberos-parameters/kerbero...).

    I was looking at this guy's benchmark here: https://gist.github.com/Chick3nman/32e662a5bb63bc4f51b847bb4...

    Etype 23 (rc4-hmac) gets ~3500 kH/s, 18 (aes256-cts-hmac-sha1-96) gets roughly 2500 kH/s. Big difference, but somehow I thought it would be much bigger? 2.5M guesses/second is still not so bad.

    I've done kerberoasting and aseproasting a handful of times only, but from what I recall, RC4 can be cracked within reasonable time regardless of your password complexity. But with AES if you have a long and complex service account password, it will take decades/centuries to crack. But (!!) it is still quite common to use relatively weak passwords for service accounts, a lot of times the purpose of the service is included in the password so it makes guessing a bit easier.

    My criticism is that Kerberos (as far as I'm aware) does not provide modern PBKDFs (keyed argon2?) that have memory-hardness in place. That might be asking too much, so why doesn't Microsoft alert directory administrators (and security teams) when someone is dumping tickets for kerberoasting by default? It's not common for any user or service to request for tickets for literally all your service accounts. Lastly, Microsoft has azure-keyvault in the cloud, but they're so focused on cloud, they don't have an on-prem keyvault solution. If a service account is compromised, you still have to find everything that uses it and change the password one by one. Where if there was a keyvault-like setup, you could more easily change passwords without causing outages.

    Rotating the KDC/krbtgt credential is also still a nightmare.

    From what bits I've heard, Microsoft expects its users to be using EntraId instead of on-prem domains (computers joined directly to entra-id instead of domain controllers). That's a nice dream, but in reality 20 years from know there will still be domain controllers on enterprise networks.

    • cryptonector 30 minutes ago
      Kerberos has FAST for truly addressing the offline dictionary attack issues with PA-ENC-TIMESTAMP. FAST is basically tunneling, encrypting using some other ticket. With PKINIT w/ anonymous client's it's pretty easy to get this to be good enough, but Windows / AD doesn't support that, so instead you have to use a computer account to get the outer FAST tunnel's ticket, which works if you're joined to the domain, and doesn't work otherwise.

      There's also work on a PAKE (zero-knowledge password proof protocol) which also solves the problem. Unfortunately the folks who worked on that did not also add an asymmetric PAKE, so the KDC still stores password equivalents :(

      > Rotating the KDC/krbtgt credential is also still a nightmare.

      I've done a bunch of work in Heimdal to make key rotation not a nightmare. But yeah, AD needs to copy that. I think the RedHat FreeIPA people are working on similar ideas.

      > That's a nice dream, but in reality 20 years from know there will still be domain controllers on enterprise networks.

      SSPI and Kerberos are super entrenched in the Windows architecture. IMO MSFT should build an SSP that uses JWTs over TLS, using PKI for server auth and JWT for client auth, using Kerberos principal names as claims in the JWTs and using the PKINIT SAN in server certs to keep all the naming backwards compatible. To get at the "PAC" they should just have servers turn around and ask a nearby DC via NETLOGON.

    • mr_mitm 2 hours ago
      > I've done kerberoasting and aseproasting a handful of times only, but from what I recall, RC4 can be cracked within reasonable time regardless of your password complexity

      That's not quite right. If the password is sufficiently strong, you won't crack it even when RC4 is used. The password space is infinite.

      You might be thinking of the LM hash, where you are guaranteed to find the password within minutes, because the password space is limited to 7 character passwords.

      > Rotating the KDC/krbtgt credential is also still a nightmare.

      I also disagree there. Just change it exactly once every two weeks or so. Just don't do it more than once within 10 hours. See: https://adsecurity.org/?p=4597

      What I wonder is why Windows isn't changing it itself every 30 days or so, just like every computer account password.

      > why doesn't Microsoft alert directory administrators (and security teams) when someone is dumping tickets for kerberoasting by default?

      Good question. Probably because they want you to license some Defender product which does this.

  • duvetworld 4 days ago
    Microsoft does not have the power to stop me from using this cipher.
    • Filligree 3 hours ago
      You do. You have the power. Please stop using it.
  • JoachimS 6 days ago
    "RC4, short for Rivist Cipher 4". No, "Ron's Code 4".

    And the default will now be AES-SHA1, where SHA-1 is to be deprecate by NIST in 2030. (https://www.nist.gov/news-events/news/2022/12/nist-retires-s...)

    • ComputerGuru 2 hours ago
      SHA1 as a MAC for AES encryption is different from SHA-1 as a hash algorithm and remains secure, though there are of course better alternatives.
    • suprfsat 3 hours ago
      Ronald's Kryptosystem 4
  • ln809 1 hour ago
    Author D.Goodin... ok,we know it's wrong. Just how badly wrong takes effort to discover.
    • marcellus23 1 hour ago
      Do you have context on this? Is Goodin generally known to be make mistakes?