-
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
mySCADA MyPRO Manager Command Injection (CVE-2024-47407) Module #19846
Conversation
'method' => 'GET', | ||
'uri' => normalize_uri(target_uri.path, 'assets/index-Aup6jYxO.js') | ||
}) | ||
rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Rex::ConnectionError |
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.
Do we require the request to be wrapped in a rescue here?
rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Rex::ConnectionError | |
rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Rex::ConnectionError |
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.
I think I saw this pattern being used in some other modules. Which other way would you prefer?
Adding some notes regarding the testing, so far I was not able to get the software running properly. I have tested that on
So far the issue I have is the same across all the systems, once the software is installed, after rebooting, the MySCADA MyPRO Manager download the runtime, but the runtime never get executed, there is no way to get it running for some reason. |
if res.to_s =~ /const v="([^"]+)"/ | ||
version = ::Regexp.last_match(1) | ||
vprint_status('Version retrieved: ' + version) | ||
if Rex::Version.new(version) <= Rex::Version.new('1.2') |
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 there a lower bound of vulnerable software version?
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.
As far as I am aware, no.
Release NotesA module for mySCADA myPRO Manager exploiting command injection (CVE-2024-47407) in |
This is a new module which exploits an unauthenticated command injection vulnerability in mySCADA MyPRO Manager <= v1.2 (CVE-2024-47407).
Successful exploitation allows to inject arbitrary OS commands which will get executed in the context of
myscada9
, an administrative user that is automatically added by the product during installation.Verification Steps
msfconsole
and enter the following commandsuse exploit/windows/scada/mypro_mgr_cmd
set RHOSTS <IP>
(e.g.,set RHOSTS 192.168.1.239
)exploit
This should result in a meterpreter session:
Successfully tested on
Tested in the following deployment, with both the
curl
andcertutil
fetch commands: