[thread] A lot of people since this finding are looking for a bit knowledge around that bug. Below is list of links that will help better understand this (attackers-side)
When capturing an auth, what’s captured is the NTLM ChallengeResponse. It’s derived from the LM or NT hash and with a certain complexity depending on the version of the proto that’s used (LM, LMv2, NTLM, NTLMv2, etc.).
Relaying an auth is another way to escalate privileges.
You could trigger a first DC’s authentication to relay it to another one for instance. With the PrinterBug or PetitPotam, the NTLM auth comes over SMB, hence limitating relay possibilites (because of signing and MIC)
But if you have DC2 not patched against CVE-2019-1040, LDAPS supported with Channel Binding not enabled, and are in control of a machine account you can: trigger DomainController1, relay to DomainController2 with
- MIC and signing flags removal
- RBCD delegation attack
You’ll allow your controlled machine account to impersonate (almost) anyone on DC1
Another technique: if you find a machine admin to another, you could trigger machine1´s NTLM auth and relay it to machine2 to obtain an admin SMB session. That session could be used to dump SAM and LSA secrets for instance. You’re admin to machine2 now
There is a catch though
For this to work, you need to have machine2 to not have SMB signing set to required (which is the case by default on DCs)
Try to find a « machine2 » that actually gives you more possibilities than you already have
$ ntlmrelayx -t smb://Machine2
Another technique: NTLM relay to AD CS HTTP endpoints
I haven’t RTFMed enough on this technique so here you go, @SpecterOps’s article on this
NTLM is not available? You’ll have fun with Kerberos
The Kerberos auth has delegation features
If you have control over a machine set with Constrained or, even better, Unconstrained delegations, you’ll be able to work something out
Control over a machine with Unconstrained delegations will usually lead you to full domain compromise, PetitPotam will be of a great help now that the Spooler service is disabled in many orgz, preventing the PrinterBug from being exploited
(infosec thread) one of my latest tweets was followed by some questions in my DMs. So let's answer those here and remind some concepts😈
I'll talk about pass-the-hash, pass-the-ticket, pass-the-key, overpass-the-hash, pass-the-cache, silver and golden tickets 👇
Pass-the-Hash (1/4) : NTLM (LM, LMv2, NTLM or NTLMv2 depending on the version) is an authentication protocol used by Windows and AD-DS. Users have passwords, which are stored in a hashed format (LM or NT hash depending on the security settings and version).
Pass-the-Hash (2/4) : when authenticating to a remote service, the password hash is used to compute a ChallengeResponse. The LM hash is used for the LM version of the protocol while the NT hash is used for LMv2, NTLM and NTLMv2.
@podalirius_ and I made GPP Passwords great again. We wrote a Python script, using Impacket, to find and decrypt passwords in Group Policy Preferences, without having to mount the remote share 👇[a thread]