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 je NoSQL baza podataka koja se hostuje u oblaku i omogućava vam da skladištite i sinhronizujete podatke između vaših korisnika u realnom vremenu. Saznajte više.
Neki Firebase endpointi mogu se naći u mobilnim aplikacijama. Moguće je da je Firebase endpoint koji se koristi loše konfigurisan, dajući svima privilegije za čitanje (i pisanje) na njemu.
Ovo je uobičajena metodologija za pretragu i eksploataciju loše konfigurisanih Firebase baza podataka:
Preuzmite APK aplikacije, možete koristiti bilo koji alat za preuzimanje APK-a sa uređaja za ovu POC. Možete koristiti “APK Extractor” https://play.google.com/store/apps/details?id=com.ext.ui&hl=e
Dekompajlirajte APK koristeći apktool, pratite sledeću komandu da biste izvukli izvorni kod iz APK-a.
Idite na res/values/strings.xml i potražite ovo i pretražujte ključnu reč “firebase”
Možda ćete pronaći nešto poput ove URL adrese “https://xyz.firebaseio.com/”
Zatim, idite na pregledač i navigirajte do pronađene URL adrese: https://xyz.firebaseio.com/.json
Mogu se pojaviti 2 tipa odgovora:
“Permission Denied”: To znači da ne možete pristupiti, tako da je dobro konfigurisan
“null” odgovor ili gomila JSON podataka: To znači da je baza podataka javna i da imate barem pristup za čitanje.
U ovom slučaju, mogli biste proveriti privilegije za pisanje, eksploatacija za testiranje privilegija za pisanje može se naći ovde: https://github.com/MuhammadKhizerJaved/Insecure-Firebase-Exploit
Zanimljiva napomena: Kada analizirate mobilnu aplikaciju sa MobSF, ako pronađe firebase bazu podataka, proveriće da li je javna i obavestiće vas o tome.
Alternativno, možete koristiti Firebase Scanner, python skriptu koja automatizuje gornji zadatak kao što je prikazano u nastavku:
Ako imate akreditive za pristup Firebase bazi podataka, možete koristiti alat kao što je Baserunner da lakše pristupite pohranjenim informacijama. Ili skriptu poput sledeće:
Da biste testirali druge akcije na bazi podataka, kao što je pisanje u bazu podataka, pogledajte Pyrebase4 dokumentaciju koja se može naći ovde.
Ako dekompajlirate iOS aplikaciju i otvorite datoteku GoogleService-Info.plist
i pronađete API ključ i APP ID:
API KLJUČ AIzaSyAs1[...]
APP ID 1:612345678909:ios:c212345678909876
Možda ćete moći da pristupite nekim zanimljivim informacijama
Zahtev
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"}'
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)