GCP - Firebase Enum
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
Firebase
La base de données en temps réel Firebase est une base de données NoSQL hébergée dans le cloud qui vous permet de stocker et de synchroniser des données entre vos utilisateurs en temps réel. En savoir plus.
Enum non authentifié
Certains points de terminaison Firebase pourraient ĂȘtre trouvĂ©s dans des applications mobiles. Il est possible que le point de terminaison Firebase utilisĂ© soit mal configurĂ©, accordant Ă tout le monde des privilĂšges de lecture (et dâĂ©criture).
Voici la méthodologie courante pour rechercher et exploiter des bases de données Firebase mal configurées :
- Obtenez lâAPK de lâapplication, vous pouvez utiliser nâimporte quel outil pour obtenir lâAPK de lâappareil pour cette POC.
Vous pouvez utiliser âAPK Extractorâ https://play.google.com/store/apps/details?id=com.ext.ui&hl=e - DĂ©compilez lâAPK en utilisant apktool, suivez la commande ci-dessous pour extraire le code source de lâAPK.
- Allez dans le res/values/strings.xml et recherchez ce mot-clĂ© et cherchez le mot âfirebaseâ
- Vous pourriez trouver quelque chose comme cette URL âhttps://xyz.firebaseio.com/â
- Ensuite, allez dans le navigateur et naviguez vers lâURL trouvĂ©e : https://xyz.firebaseio.com/.json
- 2 types de réponses peuvent apparaßtre :
- âPermission Deniedâ : Cela signifie que vous ne pouvez pas y accĂ©der, donc câest bien configurĂ©
- RĂ©ponse ânullâ ou un tas de donnĂ©es JSON : Cela signifie que la base de donnĂ©es est publique et que vous avez au moins un accĂšs en lecture.
- Dans ce cas, vous pourriez vĂ©rifier les privilĂšges dâĂ©criture, un exploit pour tester les privilĂšges dâĂ©criture peut ĂȘtre trouvĂ© ici : https://github.com/MuhammadKhizerJaved/Insecure-Firebase-Exploit
Note intĂ©ressante : Lors de lâanalyse dâune application mobile avec MobSF, si elle trouve une base de donnĂ©es firebase, elle vĂ©rifiera si celle-ci est publiquement disponible et le notifiera.
Alternativement, vous pouvez utiliser Firebase Scanner, un script python qui automatise la tùche ci-dessus comme montré ci-dessous :
python FirebaseScanner.py -f <commaSeperatedFirebaseProjectNames>
Enum Authentifié
Si vous avez des identifiants pour accéder à la base de données Firebase, vous pouvez utiliser un outil tel que Baserunner pour accéder plus facilement aux informations stockées. Ou un script comme le suivant :
#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())
Pour tester dâautres actions sur la base de donnĂ©es, telles que lâĂ©criture dans la base de donnĂ©es, consultez la documentation de Pyrebase4 qui peut ĂȘtre trouvĂ©e ici.
Accéder aux informations avec APPID et clé API
Si vous dĂ©compilez lâapplication iOS et ouvrez le fichier GoogleService-Info.plist et que vous trouvez la clĂ© API et lâID dâapplication :
- CLĂ API AIzaSyAs1[âŠ]
- ID DâAPPLICATION 1:612345678909:ios:c212345678909876
Vous pourriez ĂȘtre en mesure dâaccĂ©der Ă des informations intĂ©ressantes
Demande
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"}'
Références
- âhttps://blog.securitybreached.org/2020/02/04/exploiting-insecure-firebase-database-bugbounty/â
- âhttps://medium.com/@danangtriatmaja/firebase-database-takover-b7929bbb62e1â
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
HackTricks Cloud

