Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
openmeetings-stale-install-admin — Apache OpenMeetings 9.1.0 - Élevé - À distance - Reliquat de privilèges - l'assistant /install obsolète insère un second ADMIN | Kitploit
Outils/GitHubGitHub/abraxas/openmeetings-stale-install-admin
Authentification et AutorisationEscalade de PrivilègesAnalyse des VulnérabilitésExploitationExploitation d'Applications WebLabs et Pratique
GitHubabraxas/openmeetings-stale-install-admin

openmeetings-stale-install-admin

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

Apache OpenMeetings 9.1.0 - Élevé - À distance - Reliquat de privilèges - l'assistant /install obsolète insère un second ADMIN

Voir le dépôt
il y a 2 joursPas encore vérifié
Partager

Abraxas Labs - openmeetings-stale-install-admin

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  openmeetings-stale-install-admin

openmeetings-stale-install-admin

Classe : Privilège résiduel Portée : Distante

Apache OpenMeetings 9.1.0 (9773c59e) - Apache Software Foundation

InstallWizardPage redirige les nouvelles requêtes après isInstalled(). Une page Wicket ouverte avant la première installation reste active. Terminer sur cette session obsolète exécute loadAll(cfg, true). ImportInitvalues.checkInstalled journalise « no need to install » et ne retourne pas. La seconde finalisation insère un autre utilisateur ADMIN+SOAP.

IDpas encore de CVE
ClassePrivilège résiduel
PortéeDistante (/install non authentifié pendant la première configuration)
CWECWE-367, CWE-269
CVSSÉlevé : 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
ProduitApache OpenMeetings
Affecté9.1.0 (9773c59e1af327bf988018e661f456ae9997c29f) fenêtre de première installation
Authaucune sur la session obsolète de l'assistant
LicenceGNU Affero GPL v3.0
Lab127.0.0.1:18159 uniquement. Archive officielle 9.1.0, non installée, HTTP 5080.

J'ai épinglé le tag 9.1.0, peel 9773c59e1af327bf988018e661f456ae9997c29f. Le résidu nécessite qu'une page de l'assistant soit ouverte avant que la première installation ne soit terminée.

Ce qu'un attaquant peut faire

Atteindre /openmeetings/install tant que l'instance n'est pas encore installée. Conserver ce JSESSIONID. Attendre qu'un opérateur termine la première installation. Envoyer un POST Finish sur la page obsolète.

MéthodePoint d'impactPrivilège
POST obsolète Finish de l'assistant (wizard-form-buttons-finish)ImportInitvalues.checkInstalled journalise et continue (ImportInitvalues.java:607-612) ; loadInitUserAndGroupIntégrité (prouvé en lab) : second utilisateur staleadm avec les droits ADMIN, SOAP, LOGIN, DASHBOARD, ROOM. Connexion SOAP réussie. Nombre d'utilisateurs = 2.
Même loadAll(cfg, true)persistance / SMTP / chemins depuis le formulaire obsolèteIntégrité (déduit) : réécriture de persistence.xml et des paramètres mail depuis les champs de l'assistant contrôlés par l'attaquant. Non requis pour le SUCCÈS.

Prouvé en lab vs déduit : la seconde connexion ADMIN+SOAP est prouvée en lab. La réécriture de persistence.xml est déduite de loadAll.

Nécessite : que l'attaquant ait récupéré /install avant isInstalled(). L'opérateur a ensuite terminé l'installation. Le même identifiant de page Wicket est toujours posté. L'image docker officielle est déjà installée, il s'agit donc de la fenêtre de premier démarrage de l'archive (et de toute réinstallation).

Surface adjacente qui reste fermée

SurfaceRaison
GET /install frais après installationle constructeur redirige vers /signin (InstallWizardPage.java:31-34). Lab : la nouvelle session a abouti sur signin.
Connexion SOAP non authentifiée avant installationhealth installed=false ; la connexion échoue jusqu'à la finalisation de l'assistant.
Tomcat manager / console H2manager exclu, console H2 désactivée sur cette version épinglée.

Comment je l'ai trouvé

Le verrou du constructeur semble être un correctif complet pour « installation après installation ». checkInstalled ne fait toujours que journaliser. Wicket stocke la page dans la session. Une session qui a franchi isInstalled() conserve un bouton Finish qui appelle toujours loadAll.

admin.sh -i est une seconde JVM et ne charge pas le CryptProvider de Tomcat, donc ce lab utilise un second assistant web comme premier installateur et la page obsolète comme attaquant.

Lab

cd lab
./run.sh

Boucle de retour http://127.0.0.1:18159/openmeetings. Dernière ligne témoin :

SUCCESS OPENMEETINGS-STALE-INSTALL-WITNESS

Correctif suggéré

checkInstalled doit renvoyer (ou lever une exception) lorsque l'installation est déjà effectuée. Liez Finish à un jeton d'installation à usage unique. Retirez la page Wicket de la session lorsque isInstalled() bascule. N'insérez pas un second ADMIN depuis loadInitUserAndGroup si un administrateur existe déjà.

Contact

Abraxas Labs - https://abraxaslabs.tech - https://github.com/abraxas - https://x.com/abraxas_null - [email protected]

Fournisseur : [email protected]

Télécharger l’outil