-
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 IIS 6.0 ScStoragePathFromUrl exploit (CVE-2017-7269) (follwoup) #8355
Conversation
Exploit for cve-2017-7269.rb
…storagepathfromurl.rb
converted to Msf::Exploit::Remote::HttpClient
Update code style and add a check method
Update IIS exploit
'Dominic Chell <dominic@mdsec.co.uk>', # metasploit module | ||
'firefart', # metasploit module | ||
'zcgonvh <zcgonvh@qq.com>' # metasploit module | ||
], |
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.
Don't suppose I could get my name back in here?
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.
oops
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.
@rwhitcroft sure, what do you want in there? Nickname or real name?
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.
@rwhitcroft found it on the other PR and added it. If you want smth. else, just ping me
[ | ||
OptString.new('TARGETURI', [ true, 'Path of IIS 6 web application', '/']), | ||
OptInt.new('MinPathLength', [ true, 'Start of physical path brute force', 3 ]), | ||
OptInt.new('MaxPathLength', [ true, 'End of physical path brute force', 60 ]), |
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.
All datastore options should be in capital.
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.
is this really the case? seeing all kinds of variants in the modules folder. If it's a convention should we add an msftidy check for this? @wvu-r7
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.
This style convention is documented at https://github.com/rapid7/metasploit-framework/wiki/How-to-use-datastore-options#ideal-datastore-naming
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.
That's debatable, but yeah, that's typically the case. Normal options are uppercase (I like screaming snake), while advanced options are camel case.
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.
msftidy
can die in a fire.
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.
@wvu-r7 screaming snake made my day haha changed the casing
As for the first payload, @bcook-r7 and @rwhitcroft were on the right path in the previous PR. As I said regarding the shellcode (the second payload), it's run through an alpha encoder. I'll link to it at the end. @zcgonvh did a good job explaining considering the language barrier, hopefully I can clarify somewhat. You can find a more complete analysis--along with commented ROP gadgets and shellcode--than the one I was working on here. If you are fluent in Chinese, well, lucky you. If Google Translate is more your speed, replace the word "cover" with "overwrite" and things make a lot more sense. Again, everything needed to document this can be found in the previous PR's conversation and the linked blog post. If someone still needs help in doing so, let me know. EDIT: My mistake. The shellcode portion is actually documented better here. The page doesn't translate well but it's not necessary. |
Verified with Meterpreter (staged) and shell (single) payloads. Thanks for all your great work on this, folks! |
@wchen-r7 Can you please add release notes to this pr? |
Sure, I'll do it :-) |
Release NotesThe exploits/windows/iis/iis_webdav_scstoragepathfromurl module exploits a vulnerability against the IIS 6.0 web server. The ScStoragePathFromUrl in the WebDAV service is vulnerable to an overflow, which can be exploited and gain arbitrary remote code execution. The ability to automatically extract all needed values and bruteforce the path length has been added. |
Tsk tsk @egypt |
Oh, phooey. Shame on me
…On Tue, May 16, 2017, 16:07 Brent Cook ***@***.***> wrote:
Tsk tsk @egypt <https://github.com/egypt>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#8355 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AARk38id_f8E_3OIo-WmiajSvWXR31jTks5r6g_-gaJpZM4NUe26>
.
|
This is a follow up PR to #8162
The new changes auto extracts all needed values and tries to bruteforce the path length.
This PR also contains the original commits so they are not lost.
Current Drawbacks:
windows/shell/reverse_tcp
is not working (See Strange Stage Encoder behaviour #8357)Sample run: