Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Path: blob/master/documentation/modules/auxiliary/scanner/smb/smb_ms17_010.md
Views: 11784
MS17-010 fixes RCE in SMBv1, but seems to also have inadvertently added a remote, uncredentialed patch check information disclosure.
This module can determine if MS17-010 has been patched or not. Specifically, it connects to the IPC$ tree and attempts a PeekNamedPipe transaction on FID 0.
If the status returned is "STATUS_INSUFF_SERVER_RESOURCES", the machine does not have the MS17-010 patch. After the patch, Win10 returns "STATUS_ACCESS_DENIED" and other Windows versions "STATUS_INVALID_HANDLE". In case none of these are detected, the module says it was not able to detect the patch level.
This module does not require valid SMB credentials in default server configurations. It can log on as the user "" and connect to IPC$.
Vulnerable Application
To use smb_ms17_010, make sure you are able to connect to a SMB service that supports SMBv1.
Verification Steps
The following demonstrates a basic scenario of an unpatched system.
If you run the same scan on the system after patching, you should see the following:
Options
By default, the smb_ms17_010 module only requires the RHOSTS option to run. In a default configuration, you will not need valid credentials to connect to the IPC$ share. But, if you have them, it can't hurt.
The SMBUser option
If you are testing a specific user, use this option.
The SMBPass option
If you are testing a specific password, use this option.