-
Notifications
You must be signed in to change notification settings - Fork 14.1k
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 bypass UAC via Event Viewer module #7532
Conversation
This module was inspired by the work done by Matt Nelson and Matt Graeber who came up with the method in the first place. This works nicely on a fully patched Windows 10 at the time of writing.
This looks to be https://www.exploit-db.com/exploits/40268/ correct? Just tracking down any edb code that never got PRed |
@h00die no, I wrote my own from scratch. You'll notice that the module is out of date (uses |
With pleasure! |
|
||
# Validate that we can actually do things before we bother | ||
# doing any more work | ||
validate_environment! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @OJ, I believe you're missing the method for validate_environment!
. Could you please add it? Thanks.
Strange. I'd removed the function, but not the call. Fail. I'll fix it up.
Thanks!
|
Ah ok, thanks! |
Should be good now! |
Thanks, I'm on it now :-) |
Thanks for chasing me up @wchen-r7 :) |
Module works for me:
And code looks nice. I'll merge it now. Thanks! |
Release NotesThis is a local exploit module that allows you to bypass UAC via the Event Viewer. It works against a variety of Windows versions, from Windows 7 to Windows 10. |
Awesome, thanks all! |
Woohoo! Thanks Wei. And thanks Matt for the original effort :)
|
This PR provides a new module that implements more bypass UAC functionality, this time via the Event Viewer. The original research was done by @enigma0x3 and @mattifestation, and this module does everything that they did but in Ruby/MSF-land (full kudos for the work goes to them).
Details of the research can be found here: https://enigma0x3.net/2016/08/15/fileless-uac-bypass-using-eventvwr-exe-and-registry-hijacking/
The module should work with any combination of shell arch vs target arch. That is, you can run 32-bit payloads from a 64-bit session and vice-versa. The module has been tested on a fully patched Windows 10 installation.
Notes
This module has been written to make use of the changes made in #7507. This is because a bunch of arch/platform refactors were done, and I didn't want to add more work that needed to be merged after. Hence, it's important that #7507 gets landed before this is looked at.
As a result, the Travis build for this module will fail. When the PR is landed, this should go nicely green. I'll mark this as delayed for now, but is still up for review.
Sample runs
Verification
getsystem
doesn't work on either session.getsystem
executes successfully on both.getsystem
executes successfully on both.eventvwr
is run after the payload is fired that the actual Event Viewer application opens and runs correctly.