GCP - Firebase Enum
Reading time: 4 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na π¬ kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter π¦ @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Firebase
Firebase Realtime Database ni hifadhidata ya NoSQL inayohifadhiwa kwenye wingu ambayo inakuwezesha kuhifadhi na kusawazisha data kati ya watumiaji wako kwa wakati halisi. Learn more.
Unauthenticated Enum
Baadhi ya Firebase endpoints zinaweza kupatikana katika maombi ya simu. Inawezekana kwamba endpoint ya Firebase inayotumika imewekwa vibaya ikitoa haki kwa kila mtu kusoma (na kuandika) juu yake.
Hii ni mbinu ya kawaida kutafuta na kutumia hifadhidata za Firebase zilizo na mipangilio mibaya:
- Pata APK ya programu unaweza kutumia chombo chochote kupata APK kutoka kwa kifaa kwa ajili ya POC hii.
Unaweza kutumia βAPK Extractorβ https://play.google.com/store/apps/details?id=com.ext.ui&hl=e - Decompile APK kwa kutumia apktool, fuata amri iliyo hapa chini kutoa msimbo wa chanzo kutoka kwa APK.
- Nenda kwenye res/values/strings.xml na angalia hii na tafuta neno βfirebaseβ
- Unaweza kupata kitu kama hii URL βhttps://xyz.firebaseio.com/β
- Kisha, nenda kwenye kivinjari na tembea kwenye URL iliyopatikana: https://xyz.firebaseio.com/.json
- Aina 2 za majibu zinaweza kuonekana:
- βPermission Deniedβ: Hii inamaanisha huwezi kuipata, hivyo imewekwa vizuri
- βnullβ jibu au kundi la data za JSON: Hii inamaanisha kwamba hifadhidata ni ya umma na angalau una haki za kusoma.
- Katika kesi hii, unaweza kuangalia haki za kuandika, exploit ya kujaribu haki za kuandika inaweza kupatikana hapa: https://github.com/MuhammadKhizerJaved/Insecure-Firebase-Exploit
Kumbuka ya kuvutia: Wakati wa kuchambua programu ya simu na MobSF, ikiwa inapata hifadhidata ya firebase itakagua ikiwa hii ni inapatikana kwa umma na itaarifu.
Vinginevyo, unaweza kutumia Firebase Scanner, script ya python inayotautomate kazi hapo juu kama ilivyoonyeshwa hapa chini:
python FirebaseScanner.py -f <commaSeperatedFirebaseProjectNames>
Authenticated Enum
Ikiwa una akreditif za kufikia hifadhidata ya Firebase unaweza kutumia chombo kama Baserunner ili kufikia kwa urahisi taarifa zilizohifadhiwa. Au script kama ifuatavyo:
#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())
Ili kujaribu vitendo vingine kwenye hifadhidata, kama kuandika kwenye hifadhidata, rejelea nyaraka za Pyrebase4 ambazo zinaweza kupatikana hapa.
Access info with APPID and API Key
Ikiwa uta-decompile programu ya iOS na kufungua faili GoogleService-Info.plist
na ukapata API Key na APP ID:
- API KEY AIzaSyAs1[...]
- APP ID 1:612345678909:ios:c212345678909876
Unaweza kuwa na uwezo wa kupata taarifa za kuvutia
Request
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"}'
References
- βhttps://blog.securitybreached.org/2020/02/04/exploiting-insecure-firebase-database-bugbounty/β
- βhttps://medium.com/@danangtriatmaja/firebase-database-takover-b7929bbb62e1β
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na π¬ kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter π¦ @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.