Test de Penetración Spring Boot: Spring4Shell, Log4Shell, Actuator y Seguridad Java Enterprise
Spring Boot es el framework Java enterprise dominante, pero su historia reciente está marcada por las vulnerabilidades más mediáticas de la década: Log4Shell (CVE-2021-44228) y Spring4Shell (CVE-2022-22965). Más allá de estos incidentes mayores, las aplicaciones Spring Boot exponen regularmente endpoints Actuator en producción sin autenticación. Matproof Sentinel realiza pentests Spring Boot dirigidos con informe audit-ready desde 149 €.
Por qué Spring Boot requiere atención pentest excepcional
Spring Boot domina el desarrollo backend Java enterprise desde 2015 — particularmente fuerte en bancos españoles (Banco Santander, BBVA, CaixaBank) y aseguradoras (Mapfre, MUTUA). Log4Shell trabajó 31% de servidores Java escaneados en 2024 todavía vulnerables (Cisco Talos). Spring4Shell explota un defecto en Spring Framework permitiendo RCE remoto. Más allá de las CVE mayores, los deployments Spring Boot exponen frecuentemente endpoints Actuator sin autenticación.
- CVE-2021-44228 (Log4Shell, CVSS 10.0): RCE via JNDI injection en Log4j 2.x — 31% servidores Java escaneados en 2024 permanecen vulnerables.
- CVE-2022-22965 (Spring4Shell, CVSS 9.8): RCE via manipulación atributos clase en Spring Framework < 5.3.18 / < 5.2.20.
- CVE-2023-20861 (SpEL DoS, CVSS 5.3): DoS via expresiones SpEL malformadas.
- CVE-2024-22243 (UriComponentsBuilder, CVSS 8.1): SSRF.
- Endpoints Actuator expuestos: /actuator/heapdump, /actuator/env, /actuator/jolokia — 18% aplicaciones Spring Boot escaneadas en 2024 exponen Actuator sin autenticación.
- Deserialización Java nativa: chain explotación clásica via gadgets ysoserial.
- Bancos españoles bajo DORA Art. 26 TLPT con backends Spring Boot — pentest documentado es prerequisite Banco de España compliance.
Qué testeamos específicamente en una aplicación Spring Boot
- Log4Shell detection activa: tests JNDI injection en todos los campos usuario.
- Spring4Shell exploitability: POST con class.module.classLoader.* payload.
- Endpoints Actuator: enumeración endpoints expuestos, verificación autenticación, explotación /heapdump.
- Spring Expression Language (SpEL) injection: tests en todos los campos donde SpEL podría evaluarse.
- Deserialización Java: identificación endpoints que aceptan objetos serializados.
- Spring Security configuration: audit SecurityFilterChain, CSRF status, JWT configuration.
- Mass assignment via Spring MVC binding: exposición campos internos.
- Spring Data SQL injection: @Query con concatenación parameters usuario.
- Exposición archivos sensibles: application.properties expuestos via /actuator/configprops.
- JVM-level vulnerabilities: tests versiones Java EOL con CVE JDK explotables.
Ejemplo de hallazgo
Endpoint Actuator /heapdump expuesto sin autenticación — extracción secrets JVM
La aplicación Spring Boot expone /actuator/heapdump sin autenticación ni restricción IP. Atacante puede descargar dump completo heap JVM. El test permitió extracción de: passwords plaintext, API keys Stripe y AWS en variables Environment, tokens JWT activos, connections DB pool con credentials. Ventana exposición: 8 meses.
Corrección: Acción inmediata: deshabilitar /actuator/heapdump en producción via management.endpoint.heapdump.enabled=false. Restringir todos endpoints Actuator via Spring Security. Limitar exposición a puerto management separado. Rotación inmediata de secrets potencialmente comprometidos.
Referencia: CVE-2023-20873 · CWE-200 · OWASP A05:2021 · Spring Boot Security Guide 3.x
Pentest Spring Boot: opciones comparadas
| — | Escaneo gratuito | Matproof Sentinel | Consultoría tradicional |
|---|---|---|---|
| Motor de escaneo automatizado | ✓ (vista previa 3 min) | ✓ Escaneo completo | ✗ Solo manual |
| Cobertura OWASP Top 10 | Parcial | ✓ Completa | ✓ Completa |
| Evidencia proof-of-exploit | ✗ | ✓ Por hallazgo | ✓ Por hallazgo |
| Mapeo normativo (DORA/NIS2/ISO 27001) | ✗ | ✓ Automatizado | ✓ Manual |
| Informe PDF listo para auditoría | ✗ | ✓ Inmediato | ✓ Entrega 2–4 semanas |
| Escaneos continuos / recurrentes | ✗ | ✓ Por despliegue | ✗ Encargo anual |
| Tiempo hasta el primer resultado | ~3 min | ~30 min escaneo completo | 2–4 semanas |
| Precio | €0 | Desde €149 | €8.000–€25.000 |
| Revisión de código fuente (SAST) | ✗ | ✓ Plan Growth | ✓ En alcance |
| Pruebas de API (REST/GraphQL) | ✗ | ✓ Automatizado | ✓ Manual |
Paquetes Pentest Spring Boot
- 1 escaneo pentest completo
- Hallazgos priorizados por IA con CVSS 3.1
- Proof-of-exploit por hallazgo
- Informe PDF listo para auditoría
- Mapeo normativo (DORA, NIS2, ISO 27001)
- Escaneos ilimitados (hasta 3 dominios)
- Monitorización continua
- Integración CI/CD (GitHub, GitLab)
- Todos los mapeos normativos
- Soporte prioritario
- Escaneos + dominios ilimitados
- Pruebas autenticadas / White-Box
- Pruebas de API e infraestructura cloud
- Account manager de seguridad dedicado
- SLA de respuesta en 24h
Preguntas frecuentes sobre el pentest Spring Boot
¿Cómo saben si todavía somos vulnerables a Log4Shell tres años después de divulgación?
Testeamos activamente con payloads JNDI en todos los campos susceptibles de ser logged. Identificamos también via JAR fingerprinting las versiones Log4j. Según Cisco Talos, 31% servidores Java en 2024 permanecen vulnerables.
¿Diferencia entre scan automático Spring y pentest manual?
Scan automático detecta CVE conocidas. Pentest manual añade caza gadgets deserialización custom, análisis profundo SecurityFilterChain complejas.
¿Testean endpoints Actuator con autenticación (basic auth, OAuth2)?
Sí, en Starter y Growth plans testeamos endpoints Actuator con credentials de test. Verificamos rotación credentials, exposure endpoints sensibles incluso detrás de autenticación.
Nuestra aplicación usa WebFlux en lugar de Spring MVC. ¿Los tests aplican?
Sí. Spring WebFlux tiene sus propias vulnerabilidades específicas a testear.
¿Qué otros frameworks Java testean?
Spring Boot, Quarkus, Micronaut, Jakarta EE, Helidon, Vert.x, Play Framework, Dropwizard.
¿El informe es aceptado para DORA / Banco de España audits?
Sí. Mapeo explícito DORA Art. 24/25, Banco de España Guía de Supervisión Tecnológica.
¿Cuánto tiempo requiere un pentest Spring Boot completo?
90 minutos para aplicación típica. Para microservices: 3-4 horas parallel.
Temas relacionados
Profundiza — artículos relacionados del blog
Proteja su aplicación Spring Boot ahora
Primer escaneo en 3 minutos, pentest Spring Boot completo en 90 minutos incluido Log4Shell, Spring4Shell, audit Actuator. Informe audit-ready DORA / NIS2 / ISO 27001 desde 149 €.
Iniciar escaneo gratuito