-
Notifications
You must be signed in to change notification settings - Fork 14.2k
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
Auxmodule eramba update #19957
base: master
Are you sure you want to change the base?
Auxmodule eramba update #19957
Conversation
## Options | ||
|
||
- **USERNAME**: valid username for Eramba application (default: admin) | ||
- **PASSWORD**: valid password for Eramba application (default: admin) |
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.
Options typically use H3.
## Options | |
- **USERNAME**: valid username for Eramba application (default: admin) | |
- **PASSWORD**: valid password for Eramba application (default: admin) | |
## Options | |
### USERNAME | |
A valid username for Eramba application | |
### PASSWORD | |
A valid password for Eramba application |
OptString.new('USERNAME', [ true, 'The username to authenticate with']), | ||
OptString.new('PASSWORD', [ true, 'The password to authenticate with']), |
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.
The docs noted that there was a default username and password, but it's not used here.
return Exploit::CheckCode::Appears if version <= Rex::Version.new('3.19.1') | ||
|
||
return Exploit::CheckCode::Safe |
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.
Can we add the version to the check code here? That'll be useful for debugging.
return Exploit::CheckCode::Appears if version <= Rex::Version.new('3.19.1') | |
return Exploit::CheckCode::Safe | |
return Exploit::CheckCode::Appears("Eramba Version #{version} is affected.") if version <= Rex::Version.new('3.19.1') | |
return Exploit::CheckCode::Safe("Eramba Version #{version} is not affected.") |
'Targets' => [ | ||
[ | ||
'Unix Command', | ||
{ | ||
'Platform' => 'unix', | ||
'Arch' => ARCH_CMD, | ||
'Type' => :unix_cmd, |
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 is filtering out fetch payloads. The docker container has curl and wget installed and I was able to test cmd/linux/http/x64/meterpreter/reverse_tcp
using curl but had to make these changes:
'Targets' => [ | |
[ | |
'Unix Command', | |
{ | |
'Platform' => 'unix', | |
'Arch' => ARCH_CMD, | |
'Type' => :unix_cmd, | |
'Targets' => [ | |
[ | |
'Command', | |
{ | |
'Platform' => ['unix', 'linux'], | |
'Arch' => ARCH_CMD, |
This PR adds a module for CVE-2023-36255 - Eramba Remote Command Execution. It is built on #19494, this is basically just doing last steps.
Vulnerable Application
Eramba is open and free GRC software, used by many companies. It offer mainly risk management solution. Version up to 3.19.1 is vulnerable to authenticated remote command execution. It is neccessary to provide valid credentials. The application allows to execute arbitrary OS commands, which can lead to remote access. Application is available in Docker format. However, after installation, debug mode needs to be enabled. Here's modified Docker compose file for simpler testing (
docker-compose.simple-install.yml
):Installation
Docker and docker-compose is required.
.env
docker-compose.simple-install.yml
docker compose -f docker-compose.simple-install.yml up -d
Shut down:
docker compose -f docker-compose.simple-install.yml down
Verification Steps
Options
USERNAME
A valid username for Eramba application
PASSWORD
A valid password for Eramba application
Scenarios