GCP - Firebase Enum

Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Firebase Realtime Database ni database ya NoSQL iliyohifadhiwa kwenye wingu ambayo inakuruhusu kuhifadhi na kusawazisha data kati ya watumiaji wako kwa wakati halisi. Jifunze zaidi.

Uchambuzi usiothibitishwa

Baadhi ya vielekezi vya Firebase vinaweza kupatikana kwenye programu za simu. Inawezekana kwamba kielekezi cha Firebase kilichotumiwa kina mipangilio mbovu inayowapa kila mtu ruhusa ya kusoma (na kuandika).

Hii ni mbinu ya kawaida ya kutafuta na kutumia vibaya mabadiliko ya Firebase yaliyo na mazingira mabaya:

  1. Pata APK ya programu unaweza kutumia zana yoyote kupata APK kutoka kifaa kwa POC hii. Unaweza kutumia "APK Extractor" https://play.google.com/store/apps/details?id=com.ext.ui&hl=e

  2. Gawanya APK kutumia apktool, fuata amri hapa chini kutoa msimbo wa chanzo kutoka kwenye APK.

  3. Nenda kwenye res/values/strings.xml na tafuta hii na tafuta kwa neno la "firebase"

  4. Unaweza kupata kitu kama URL hii "https://xyz.firebaseio.com/"

  5. Kisha, nenda kwenye kivinjari na nenda kwenye URL iliyopatikana: https://xyz.firebaseio.com/.json

  6. Aina 2 za majibu yanaweza kuonekana:

  7. "Ruhusa Imekataliwa": Hii inamaanisha huwezi kupata, kwa hivyo imepangwa vizuri

  8. Majibu ya "null" au seti ya data za JSON: Hii inamaanisha kuwa database ni ya umma na angalau una ufikiaji wa kusoma.

  9. Katika kesi hii, unaweza kuangalia ruhusa za kuandika, shambulio la kujaribu ruhusa za kuandika linaweza kupatikana hapa: https://github.com/MuhammadKhizerJaved/Insecure-Firebase-Exploit

Maelezo ya kuvutia: Wakati wa kuchambua programu ya simu na MobSF, ikiwa inapata database ya firebase itaangalia ikiwa hii inapatikana kwa umma na itatoa taarifa.

Kwa hiari, unaweza kutumia Firebase Scanner, skripti ya python inayorahisisha kazi hapo juu kama inavyoonyeshwa hapa chini:

python FirebaseScanner.py -f <commaSeperatedFirebaseProjectNames>

Kuchunguza Kithibitisho

Ikiwa una sifa za kupata upatikanaji wa hifadhidata ya Firebase unaweza kutumia chombo kama Baserunner kufikia kwa urahisi habari zilizohifadhiwa. Au script kama ifuatavyo:

#Taken from https://blog.assetnote.io/bug-bounty/2020/02/01/expanding-attack-surface-react-native/
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())

Kupata habari kwa kutumia APPID na API Key

Ikiwa unadecompile programu ya iOS na kufungua faili GoogleService-Info.plist na kupata API Key na APP ID:

  • API KEY AIzaSyAs1[...]

  • APP ID 1:612345678909:ios:c212345678909876

Unaweza kupata habari za kuvutia

Ombi

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"}'

Marejeo

Last updated