OpenNMS
OpenNMS
OpenNMS Horizon / Meridian is a Java-based network monitoring platform. Admin access can lead to command execution through notification configuration and filesystem editor functionality.
Discovery
curl -I http://TARGET/
curl -I http://TARGET/opennms/Look for redirects to:
/opennms/login.jspAfter login, the dashboard footer often discloses the version:
Version: 30.x.xDefault Credentials
OpenNMS commonly documents default web credentials. Try documented defaults only where allowed, then immediately check the current user's roles.
User roles are visible from the UI:
Admin / Configure OpenNMS / Configure UsersImportant roles for exploitation:
ROLE_ADMIN
ROLE_REST
ROLE_FILESYSTEM_EDITORMetasploit Authenticated RCE
If the target is slow or proxied:
If the fetch handler reports a resource collision, set a unique path:
Role Troubleshooting
Errors like this usually mean the authenticated user lacks filesystem or REST permissions:
If you can manage users, add the missing roles to the current user:
Then rerun the module.
Module Troubleshooting
Some versions of the Metasploit module may need the target arch adjusted. If the module authenticates and edits config but never gets a session, check current upstream issues and try changing the module metadata from command-arch to generic arch:
Then restart Metasploit and rerun the module.
Post-Exploitation
OpenNMS often runs in a container as the opennms user.
Check datasource configuration for database credentials:
Example datasource fields to look for:
If the database is in another container, use pivoting or port forwarding to reach it:
Connect once reachable.
PGPASSWORD='DB_PASSWORD' psql -h DB_HOST -U DB_USER -d DB_NAME
Last updated