[ES] Public Exposure of Internal API Models (.smd)
Vulnerability Summary
Este writeup detalla una vulnerabilidad de **Exposición de Información (Information Disclosure - CWE-200)** que permitía visualizar el código fuente y el mapeado completo de los modelos de dominio de un backend corporativo.
Nota de Censura: Todos los datos (dominios, rutas, URIs, nombres de servicios y clases Java) han sido estrictamente anonimizados utilizando nomenclatura totalmente ficticia (ej.
internal-dashboard.corp.net). Este reporte documenta mecánicas de recolección de información sobre un marco de trabajo JSON-RPC en un entorno simulado para garantizar al 100% la privacidad de la infraestructura afectada.
Este writeup detalla una vulnerabilidad de Exposición de Información (Information Disclosure - CWE-200) que permitía visualizar el código fuente y el mapeado completo de los modelos de dominio de un backend corporativo.
A través de la exposición pública de archivos .smd (Service Mapping Description), un atacante remoto sin autenticación podía mapear con éxito más de 17.000 métodos internos, consultas a bases de datos y jerarquías de clases Java, lo que proporcionaba un mapa del tesoro perfecto para escalar ataques.
Análisis de la Vulnerabilidad
El objetivo utilizaba un framework heredado de JSON-RPC (similar a WaveMaker) que automáticamente documenta los servicios backend para que el frontend sepa cómo comunicarse con ellos. Esta documentación se genera mediante archivos .smd.
Por desgracia, las configuraciones de seguridad del servidor no limitaban el acceso directo a estos descriptores estáticos. Un simple dorking en motores de búsqueda o escaneo de directorios con rutas como /api/services/ revelaba la existencia de estos archivos en el servidor en producción.
El Payload (PoC) y Volcado de Datos
No se requería ninguna explotación interactiva compleja, simplemente el conocimiento de las rutas y enviar peticiones GET puras:
GET /api/services/authService.smd.json?rand=1.111 HTTP/1.1
Host: internal-dashboard.corp.net
Al descargar los archivos expuestos (como authService.smd, databaseDB.smd, FileHandlingNode.smd, etc.), se obtenían estructuras JSON gigantescas con toda la inteligencia operativa de la compañía.
A continuación, un pequeño fragmento representativo de lo que se extraía de un archivo .smd de base de datos:
Related Writeups
[EN] Public Exposure of Internal API Models (.smd)
This writeup details an Information Disclosure (CWE-200) vulnerability that allowed viewing the source code and complete domain model mapping of a corporate backend.
[EN] Sensitive Data Exposure via JSON-RPC (Whistleblowing Channel)
An unprotected endpoint allowed the exfiltration, via a simple unauthenticated POST request, of gigabytes of configurations, structural metadata, and private personal/corporate information belonging to the organizations using the software.
[ES] Sensitive Data Exposure via JSON-RPC (Whistleblowing Channel)
Un endpoint desprotegido permitía exfiltrar, a través de una simple petición POST no autenticada, gigabytes de configuraciones, metadatos estructurales e información personal y corporativa privada de las organizaciones que utilizaban el software.