GCP - Firebase Enum
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
Firebase
Firebase Realtime Database, kullanıcılarınız arasında verileri gerçek zamanlı olarak depolamanıza ve senkronize etmenize olanak tanıyan bulut tabanlı bir NoSQL veritabanıdır. Daha fazla bilgi edinin.
Kimlik Doğrulaması Olmayan Enum
Bazı Firebase uç noktaları mobil uygulamalarda bulunabilir. Kullanılan Firebase uç noktasının herkese okuma (ve yazma) ayrıcalıkları veren kötü yapılandırılmış olması mümkündür.
Kötü yapılandırılmış Firebase veritabanlarını aramak ve istismar etmek için yaygın metodoloji şudur:
- APK’yi alın; bu POC için cihazdan APK almak için herhangi bir aracı kullanabilirsiniz.
“APK Extractor” kullanabilirsiniz https://play.google.com/store/apps/details?id=com.ext.ui&hl=e - APK’yı decompile edin; APK’dan kaynak kodunu çıkarmak için aşağıdaki komutu izleyin.
- res/values/strings.xml dosyasına gidin ve “firebase” anahtar kelimesini arama yapın.
- “https://xyz.firebaseio.com/” gibi bir şey bulabilirsiniz.
- Sonra, tarayıcıya gidin ve bulunan URL’ye gidin: https://xyz.firebaseio.com/.json
- 2 tür yanıt görünebilir:
- “İzin Reddedildi”: Bu, erişim sağlayamayacağınız anlamına gelir, bu nedenle iyi yapılandırılmıştır.
- “null” yanıtı veya bir dizi JSON verisi: Bu, veritabanının herkese açık olduğu ve en azından okuma erişiminiz olduğu anlamına gelir.
- Bu durumda, yazma ayrıcalıklarını kontrol edebilirsiniz; yazma ayrıcalıklarını test etmek için bir istismar burada bulunabilir: https://github.com/MuhammadKhizerJaved/Insecure-Firebase-Exploit
İlginç not: MobSF ile bir mobil uygulamayı analiz ederken, bir firebase veritabanı bulursa bunun herkese açık olup olmadığını kontrol eder ve bunu bildirir.
Alternatif olarak, yukarıdaki görevi otomatikleştiren bir python scripti olan Firebase Scanner kullanabilirsiniz.
python FirebaseScanner.py -f <commaSeperatedFirebaseProjectNames>
Kimlik Doğrulama ile Enum
Firebase veritabanına erişim için kimlik bilgilerine sahipseniz, saklanan bilgilere daha kolay erişmek için Baserunner gibi bir araç kullanabilirsiniz. Ya da aşağıdaki gibi bir script:
#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())
Veritabanında yazma gibi diğer işlemleri test etmek için, burada bulabileceğiniz Pyrebase4 belgelerine başvurun.
APPID ve API Anahtarı ile Erişim Bilgisi
iOS uygulamasını decompile ederseniz ve GoogleService-Info.plist dosyasını açarsanız API Anahtarı ve APP ID’yi bulabilirsiniz:
- API ANAHTARI AIzaSyAs1[…]
- APP ID 1:612345678909:ios:c212345678909876
Bazı ilginç bilgilere erişim sağlayabilirsiniz.
İstek
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"}'
Referanslar
- https://blog.securitybreached.org/2020/02/04/exploiting-insecure-firebase-database-bugbounty/
- https://medium.com/@danangtriatmaja/firebase-database-takover-b7929bbb62e1
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
HackTricks Cloud

