GCP - Firebase Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Η Firebase Realtime Database είναι μια βάση δεδομένων NoSQL που φιλοξενείται στο cloud και σας επιτρέπει να αποθηκεύετε και να συγχρονίζετε δεδομένα μεταξύ των χρηστών σας σε πραγματικό χρόνο. Μάθετε περισσότερα.
Ορισμένα Firebase endpoints μπορεί να βρεθούν σε κινητές εφαρμογές. Είναι πιθανό ότι το Firebase endpoint που χρησιμοποιείται είναι κακώς διαμορφωμένο δίνοντας σε όλους δικαιώματα ανάγνωσης (και εγγραφής) σε αυτό.
Αυτή είναι η κοινή μεθοδολογία για την αναζήτηση και εκμετάλλευση κακώς διαμορφωμένων βάσεων δεδομένων Firebase:
Πάρτε το APK της εφαρμογής, μπορείτε να χρησιμοποιήσετε οποιοδήποτε εργαλείο για να αποκτήσετε το APK από τη συσκευή για αυτήν την POC. Μπορείτε να χρησιμοποιήσετε το “APK Extractor” https://play.google.com/store/apps/details?id=com.ext.ui&hl=e
Αποσυμπιέστε το APK χρησιμοποιώντας το apktool, ακολουθήστε την παρακάτω εντολή για να εξαγάγετε τον πηγαίο κώδικα από το APK.
Μεταβείτε στο res/values/strings.xml και αναζητήστε αυτό και ψάξτε για τη λέξη-κλειδί “firebase”
Μπορεί να βρείτε κάτι σαν αυτό το URL “https://xyz.firebaseio.com/”
Στη συνέχεια, μεταβείτε στον περιηγητή και να πλοηγηθείτε στο βρεθέν URL: https://xyz.firebaseio.com/.json
2 τύποι απαντήσεων μπορεί να εμφανιστούν:
“Permission Denied”: Αυτό σημαίνει ότι δεν μπορείτε να έχετε πρόσβαση, οπότε είναι καλά διαμορφωμένο
“null” απάντηση ή μια σειρά από JSON δεδομένα: Αυτό σημαίνει ότι η βάση δεδομένων είναι δημόσια και έχετε τουλάχιστον δικαιώματα ανάγνωσης.
Σε αυτή την περίπτωση, μπορείτε να ελέγξετε για δικαιώματα εγγραφής, μια εκμετάλλευση για να δοκιμάσετε τα δικαιώματα εγγραφής μπορείτε να βρείτε εδώ: https://github.com/MuhammadKhizerJaved/Insecure-Firebase-Exploit
Ενδιαφέρουσα σημείωση: Όταν αναλύετε μια κινητή εφαρμογή με το MobSF, αν βρει μια βάση δεδομένων firebase θα ελέγξει αν αυτή είναι δημόσια διαθέσιμη και θα το ειδοποιήσει.
Εναλλακτικά, μπορείτε να χρησιμοποιήσετε το Firebase Scanner, ένα script python που αυτοματοποιεί την παραπάνω εργασία όπως φαίνεται παρακάτω:
Αν έχετε διαπιστευτήρια για να αποκτήσετε πρόσβαση στη βάση δεδομένων Firebase, μπορείτε να χρησιμοποιήσετε ένα εργαλείο όπως το Baserunner για να αποκτήσετε πιο εύκολα τις αποθηκευμένες πληροφορίες. Ή ένα σενάριο όπως το παρακάτω:
Για να δοκιμάσετε άλλες ενέργειες στη βάση δεδομένων, όπως η εγγραφή στη βάση δεδομένων, ανατρέξτε στην τεκμηρίωση Pyrebase4 που μπορείτε να βρείτε εδώ.
Εάν αποσυμπιέσετε την εφαρμογή iOS και ανοίξετε το αρχείο GoogleService-Info.plist
και βρείτε το API Key και το APP ID:
API KEY AIzaSyAs1[...]
APP ID 1:612345678909:ios:c212345678909876
Μπορείτε να έχετε πρόσβαση σε κάποιες ενδιαφέρουσες πληροφορίες
Αίτημα
curl -v -X POST "https://firebaseremoteconfig.googleapis.com/v1/projects/612345678909/namespaces/firebase:fetch?key=AIzaSyAs1[...]" -H "Content-Type: application/json" --data '{"appId": "1:612345678909:ios:c212345678909876", "appInstanceId": "PROD"}'
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)