GCP - Firebase Enum
Tip
Leer & oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subscription plans!
- Sluit aan by die π¬ Discord group of die telegram group of volg ons op Twitter π¦ @hacktricks_live.
- Deel hacking tricks deur PRs in te dien by die HackTricks en HackTricks Cloud github repos.
Firebase
Die Firebase Realtime Database is βn wolk-gehoste NoSQL-databasis wat jou toelaat om data tussen jou gebruikers in realtime te stoor en te sinkroniseer. Leer meer.
Ongeauthentiseerde Enum
Sommige Firebase eindpunte kan in mobiele toepassings gevind word. Dit is moontlik dat die Firebase eindpunt wat gebruik word sleg geconfigureer is en almal toegangsregte gee om dit te lees (en te skryf).
Dit is die algemene metodologie om swak geconfigureerde Firebase-databasisse te soek en te benut:
- Kry die APK van die app, jy kan enige van die gereedskap gebruik om die APK van die toestel vir hierdie POC te kry.
Jy kan βAPK Extractorβ gebruik https://play.google.com/store/apps/details?id=com.ext.ui&hl=e - Decompile die APK met apktool, volg die onderstaande opdrag om die bronkode uit die APK te onttrek.
- Gaan na die res/values/strings.xml en soek vir hierdie en soek vir die βfirebaseβ sleutelwoord
- Jy mag iets soos hierdie URL βhttps://xyz.firebaseio.com/β vind
- Gaan dan na die blaaier en navigeer na die gevonde URL: https://xyz.firebaseio.com/.json
- 2 tipes antwoorde kan verskyn:
- βToegang geweierβ: Dit beteken dat jy nie toegang kan kry nie, so dit is goed geconfigureer
- βnullβ antwoord of βn klomp JSON data: Dit beteken dat die databasis publiek is en jy ten minste lees toegang het.
- In hierdie geval kan jy skryfregte nagaan, βn eksploit om skryfregte te toets kan hier gevind word: https://github.com/MuhammadKhizerJaved/Insecure-Firebase-Exploit
Interessante nota: Wanneer βn mobiele toepassing met MobSF geanaliseer word, as dit βn firebase databasis vind, sal dit nagaan of dit publiek beskikbaar is en dit sal kennisgee.
Alternatiewelik kan jy Firebase Scanner gebruik, βn python skrip wat die taak hierbo outomatiseer soos hieronder getoon:
python FirebaseScanner.py -f <commaSeperatedFirebaseProjectNames>
Geverifieerde Enum
As jy akrediteer is om toegang tot die Firebase-databasis te verkry, kan jy βn hulpmiddel soos Baserunner gebruik om die gestoor inligting makliker te bekom. Of βn skrif soos die volgende:
#Taken from https://blog.assetnote.io/bug-bounty/2020/02/01/expanding-attack-surface-react-native/
#Install pyrebase: pip install pyrebase4
import pyrebase
config = {
"apiKey": "FIREBASE_API_KEY",
"authDomain": "FIREBASE_AUTH_DOMAIN_ID.firebaseapp.com",
"databaseURL": "https://FIREBASE_AUTH_DOMAIN_ID.firebaseio.com",
"storageBucket": "FIREBASE_AUTH_DOMAIN_ID.appspot.com",
}
firebase = pyrebase.initialize_app(config)
db = firebase.database()
print(db.get())
Om ander aksies op die databasis te toets, soos om na die databasis te skryf, verwys na die Pyrebase4 dokumentasie wat hier gevind kan word.
Toegang inligting met APPID en API Sleutel
As jy die iOS toepassing dekompileer en die lΓͺer GoogleService-Info.plist oopmaak en jy vind die API Sleutel en APP ID:
- API SLEUTEL AIzaSyAs1[β¦]
- APP ID 1:612345678909:ios:c212345678909876
Jy mag in staat wees om βn paar interessante inligting te bekom
Versoek
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"}'
Verwysings
- βhttps://blog.securitybreached.org/2020/02/04/exploiting-insecure-firebase-database-bugbounty/β
- βhttps://medium.com/@danangtriatmaja/firebase-database-takover-b7929bbb62e1β
Tip
Leer & oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subscription plans!
- Sluit aan by die π¬ Discord group of die telegram group of volg ons op Twitter π¦ @hacktricks_live.
- Deel hacking tricks deur PRs in te dien by die HackTricks en HackTricks Cloud github repos.
HackTricks Cloud

