Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
openmeetings-stale-install-admin — Apache OpenMeetings 9.1.0 - Alta - Remoto - Resto de privilegios - el asistente /install obsoleto inserta un segundo ADMIN | Kitploit
Herramientas/GitHubGitHub/abraxas/openmeetings-stale-install-admin
Autenticación y AutorizaciónEscalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebLabs y Práctica
GitHubabraxas/openmeetings-stale-install-admin

openmeetings-stale-install-admin

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Apache OpenMeetings 9.1.0 - Alta - Remoto - Resto de privilegios - el asistente /install obsoleto inserta un segundo ADMIN

Ver Repositorio
hace 2 díasAún no revisado

Abraxas Labs - openmeetings-stale-install-admin

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

openmeetings-stale-install-admin

Clase: Privilegio residual Alcance: Remoto

Apache OpenMeetings 9.1.0 (9773c59e) - Apache Software Foundation

InstallWizardPage redirige las solicitudes nuevas después de isInstalled(). Una página Wicket abierta antes de la primera instalación permanece activa. Finalizar en esa sesión obsoleta ejecuta loadAll(cfg, true). ImportInitvalues.checkInstalled registra "no need to install" y no retorna. El segundo finalizar inserta otro usuario ADMIN+SOAP.

IDaún sin CVE
ClasePrivilegio residual
AlcanceRemoto (/install sin autenticación durante la configuración inicial)
CWECWE-367, CWE-269
CVSSAlto: 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
ProductoApache OpenMeetings
Afectado9.1.0 (9773c59e1af327bf988018e661f456ae9997c29f) ventana de primera instalación
Autenticaciónninguna en la sesión obsoleta del asistente
LicenciaGNU Affero GPL v3.0
Laboratoriosolo 127.0.0.1:18159. Tarball oficial 9.1.0, sin instalar, HTTP 5080.

Fijé la etiqueta 9.1.0, peel 9773c59e1af327bf988018e661f456ae9997c29f. El residuo requiere una página del asistente abierta antes de que se completara la primera instalación.

Qué puede hacer un atacante

Alcanzar /openmeetings/install mientras la instancia aún no está instalada. Conservar ese JSESSIONID. Esperar hasta que un operador complete la primera instalación. Enviar POST Finish en la página obsoleta.

MétodoSumideroPrivilegio
POST obsoleto Finish del asistente (wizard-form-buttons-finish)ImportInitvalues.checkInstalled registra y continúa (ImportInitvalues.java:607-612); loadInitUserAndGroupIntegridad (probado en laboratorio): segundo usuario staleadm con derechos ADMIN, SOAP, LOGIN, DASHBOARD, ROOM. El inicio de sesión SOAP tuvo éxito. Recuento de usuarios=2.
Mismo loadAll(cfg, true)persistencia / SMTP / rutas desde el formulario obsoletoIntegridad (inferido): reescribir persistence.xml y la configuración de correo desde campos del asistente controlados por el atacante. No es necesario para el SUCCESS.

Probado en laboratorio vs inferido: el segundo inicio de sesión ADMIN+SOAP está probado en laboratorio. La reescritura de persistence.xml es inferida a partir de loadAll.

Requiere: que el atacante haya obtenido /install antes de isInstalled(). Luego el operador completó la instalación. El mismo id de página Wicket sigue siendo enviado. La imagen docker oficial ya está instalada, así que esta es la ventana del primer arranque del tarball (y cualquier reinstalación).

Superficie adyacente que permanece cerrada

SuperficiePor qué
GET /install nuevo después de la instalaciónel constructor redirige a /signin (InstallWizardPage.java:31-34). Laboratorio: la nueva sesión terminó en signin.
Inicio de sesión SOAP sin autenticación antes de la instalaciónhealth installed=false; el inicio de sesión falla hasta que finaliza el asistente.
Tomcat manager / consola H2manager excluido, consola H2 desactivada en esta fijación.

Cómo lo encontré

El bloqueo del constructor parece una corrección completa para "instalar después de instalar". checkInstalled aún solo registra. Wicket almacena la página en la sesión. Una sesión que cruzó isInstalled() conserva un botón Finish que aún llama a loadAll.

admin.sh -i es una segunda JVM y no carga el CryptProvider de Tomcat, así que este laboratorio usa un segundo asistente web como primer instalador y la página obsoleta como el atacante.

Laboratorio

cd lab
./run.sh

Loopback http://127.0.0.1:18159/openmeetings. Última línea del testigo:

SUCCESS OPENMEETINGS-STALE-INSTALL-WITNESS

Corrección sugerida

checkInstalled debe devolver (o lanzar una excepción) cuando ya está instalado. Vincule Finish a un token de instalación de un solo uso. Elimine la página de Wicket de la sesión cuando isInstalled() cambie. No inserte un segundo ADMIN desde loadInitUserAndGroup si ya existe un administrador.

Contacto

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

Proveedor: [email protected]

Descargar herramienta