Identifiez lequel des deux s'exécute et sa version. LibreNMS et Observium partagent une lignée mais ont divergé, de sorte que leurs fonctionnalités, leur API et leurs vulnérabilités diffèrent, et l'image de marque de l'interface web, la structure de la page et la chaîne de version les distinguent. LibreNMS expose une version dans l'UI et son API ; Observium de même. La version est le fait qui décide quelles failles d'injection de commandes authentifiées et autres s'appliquent à la cible, lisez-la donc avant d'attaquer.
# distinguish the product and read the version
curl -sk https://<target>/ | grep -ioE 'LibreNMS|Observium'
curl -sk https://<target>/api/v0/system -H 'X-Auth-Token: <token>' # LibreNMS API (version/system)
curl -sk https://<target>/ | grep -ioE 'version[^<]*[0-9][0-9.]+'
Notes d'exploitation#
- Distinguez d'abord LibreNMS d'Observium : leurs historiques de vulnérabilités et leurs fonctionnalités diffèrent malgré l'origine commune, de sorte que le produit sélectionne les voies d'injection de commandes applicables.
- La version correspond aux failles de RCE authentifiées connues ; identifiez-la précisément.
- LibreNMS possède une API basée sur des jetons qui expose les données système et d'équipements une fois authentifié ; notez-le pour l'énumération après l'accès.
- Orientez vers l'authentification, puis vers l'injection de commandes et la récolte d'identifiants.