Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ESS downgrade parameter #163

Merged
merged 3 commits into from
May 18, 2021
Merged

Add ESS downgrade parameter #163

merged 3 commits into from
May 18, 2021

Conversation

Hackndo
Copy link

@Hackndo Hackndo commented May 14, 2021

Description

This is a PoC PR that adds a --disable-ess parameter to unset an NTLM negotiation flag..

As per MS documentation (thank you @cnotin for pointing me to the right direction), this information is provided:

Unlike plain NTLMv1 or NTLMv2, NTLMv1 w/ ESS is actually negotiated between a client and a server (NTLMv1 and NTLMv2 are configured using security key LmCompatibilityLevel). It is negotiated by setting a bit in NegotiateFlags, called P bit (MS-NLMP, section 2.2.2.5). Another name for this field is NTLMSSP_NEGOTIATE_EXTENDED_SESSIONSECURITY. Yet another name for this flag that I found is “Negotiate NTLM2 Key”.

Adding --disable-ess to Responder CLI will unset the Negotiate Extended Security flag.

image

When this flag is not set, and lmcompatibilitylevel is set to 0, 1 or 2, then ESS won't be used, and NTLMv1 hash will be crackable using https://crack.sh

image

Example

Without using this flag

image

WITH this flag

image

This hash can be uploaded to crack.sh to find corresponding NT hash.

image

image

I know I leaked some hashes, it doesn't matter, it's on my lab

@mpgn
Copy link

mpgn commented May 14, 2021

@cnotin is on the red team side for sure

@cnotin
Copy link

cnotin commented May 14, 2021

"not guilty" 😉

@Hackndo
Copy link
Author

Hackndo commented May 16, 2021

@lgandx as per discussed, I added two commits

@lgandx lgandx merged commit 3fe5746 into lgandx:master May 18, 2021
@lgandx
Copy link
Owner

lgandx commented May 18, 2021

Ready to go.
--lm was already doing it, but as discussed not everyone uses --lm and it's definitely worth having it on most recent default SMBv1 dialect.
Thanks for your submission!

@Hackndo
Copy link
Author

Hackndo commented May 18, 2021

It's actually working for SMBv1 and SMBv2

image

image

@mpgn
Copy link

mpgn commented May 19, 2021

https://thumbs.gfycat.com/AgonizingGoodCornsnake-size_restricted.gif

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants