ntlmrelayx: support upn format + oem encoding #1833
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a followup PR for #1316 (since @rtpt-lucasvater leaves the company) and I'm taking over for him. Original text:
As described in #1315,
ntlmrelayx.py
in SOCKS-mode currently does not work together with usernames in UPN format.This pull request converts usernames in UPN formats (
user1@domain
) to a format compatible with Impacket (domain/user1
), before they are added to the active SOCKS connections.While implementing this, I noticed that if NTLM is negotiated using OEM encoding instead of Unicode (
NTLMSSP_NEGOTIATE_OEM
), the username is currently encoded wrongfully using ASCII-encoding. This fails when certain characters are used in usernames (umlauts like ä,ü,ö for example). I changed the encoding to use the most used Windows codepage in this case.Fixes #1315