MySQL File priv to SSRF/RCE

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Αυτό είναι ένα σύνοψη των τεχνικών MySQL/MariaDB/Percona από το https://ibreak.software/2020/06/using-sql-injection-to-perform-ssrf-xspa-attacks/.

Server-Side Request Forgery (SSRF) μέσω SQL Functions

Κατά την εξερεύνηση της εξαγωγής δεδομένων SQL Out of Band, η συνάρτηση LOAD_FILE() χρησιμοποιείται συχνά για την έναρξη δικτυακών αιτημάτων. Ωστόσο, αυτή η συνάρτηση περιορίζεται από το λειτουργικό σύστημα στο οποίο λειτουργεί και τις ρυθμίσεις εκκίνησης της βάσης δεδομένων.

Η παγκόσμια μεταβλητή secure_file_priv, εάν δεν έχει οριστεί, προεπιλέγεται σε /var/lib/mysql-files/, περιορίζοντας την πρόσβαση σε αρχεία σε αυτόν τον κατάλογο εκτός εάν οριστεί σε ένα κενό string (""). Αυτή η προσαρμογή απαιτεί τροποποιήσεις στο αρχείο ρυθμίσεων της βάσης δεδομένων ή στις παραμέτρους εκκίνησης.

Δεδομένου ότι η secure_file_priv είναι απενεργοποιημένη ("") και υποθέτοντας ότι έχουν χορηγηθεί τα απαραίτητα δικαιώματα αρχείου και file_priv, μπορούν να διαβαστούν αρχεία εκτός του καθορισμένου καταλόγου. Ωστόσο, η δυνατότητα αυτών των συναρτήσεων να πραγματοποιούν κλήσεις δικτύου εξαρτάται σε μεγάλο βαθμό από το λειτουργικό σύστημα. Συγκεκριμένα, σε συστήματα Windows, είναι δυνατές οι κλήσεις δικτύου σε διαδρομές UNC λόγω της κατανόησης του λειτουργικού συστήματος για τις συμβάσεις ονομασίας UNC, με δυνητική διαρροή των κατακερματισμένων NTLMv2.

Αυτή η μέθοδος SSRF περιορίζεται στη θύρα TCP 445 και δεν επιτρέπει την τροποποίηση του αριθμού θύρας, αλλά μπορεί να χρησιμοποιηθεί για την πρόσβαση σε κοινόχρηστους φακέλους με πλήρη δικαιώματα ανάγνωσης και, όπως έχει αποδειχθεί σε προηγούμενη έρευνα, για την κλοπή κατακερματισμένων για περαιτέρω εκμετάλλευση.

Εκτέλεση Κώδικα απομακρυσμένα (RCE) μέσω Ορισμένων Συναρτήσεων Χρήστη (UDF)

Οι βάσεις δεδομένων MySQL προσφέρουν τη χρήση Συναρτήσεων Χρήστη (UDF) από εξωτερικά αρχεία βιβλιοθήκης. Εάν αυτές οι βιβλιοθήκες είναι προσβάσιμες εντός συγκεκριμένων καταλόγων ή του $PATH του συστήματος, μπορούν να κληθούν από το εσωτερικό του MySQL.

Αυτή η τεχνική επιτρέπει την εκτέλεση δικτυακών/HTTP αιτημάτων μέσω μιας UDF, εφόσον πληρούνται αρκετές προϋποθέσεις, συμπεριλαμβανομένης της εγγραφής πρόσβασης στο @@plugin_dir, της ρύθμισης file_priv σε Y και της απενεργοποίησης της secure_file_priv.

Για παράδειγμα, η βιβλιοθήκη lib_mysqludf_sys ή άλλες βιβλιοθήκες UDF που επιτρέπουν αιτήματα HTTP μπορούν να φορτωθούν για να πραγματοποιηθεί SSRF. Οι βιβλιοθήκες πρέπει να μεταφερθούν στον διακομιστή, κάτι που μπορεί να επιτευχθεί μέσω κωδικοποίησης hex ή base64 του περιεχομένου της βιβλιοθήκης και σ

Last updated