GCP - Firebase Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Firebase रियलटाइम डेटाबेस एक क्लाउड-होस्टेड NoSQL डेटाबेस है जो आपको अपने उपयोगकर्ताओं के बीच डेटा को रियलटाइम में स्टोर और सिंक करने की अनुमति देता है। और जानें।
कुछ Firebase endpoints मोबाइल एप्लिकेशनों में पाए जा सकते हैं। यह संभव है कि उपयोग किया गया Firebase endpoint खराब तरीके से कॉन्फ़िगर किया गया हो जिससे सभी को पढ़ने (और लिखने) की अनुमति मिलती है।
यह खराब कॉन्फ़िगर किए गए Firebase डेटाबेस को खोजने और शोषण करने की सामान्य पद्धति है:
APK प्राप्त करें उस ऐप का, आप इस POC के लिए डिवाइस से APK प्राप्त करने के लिए किसी भी टूल का उपयोग कर सकते हैं। आप “APK Extractor” का उपयोग कर सकते हैं https://play.google.com/store/apps/details?id=com.ext.ui&hl=e
APK को डिकंपाइल करें apktool का उपयोग करके, APK से स्रोत कोड निकालने के लिए नीचे दिए गए कमांड का पालन करें।
res/values/strings.xml पर जाएं और “firebase” कीवर्ड के लिए खोजें।
आपको इस URL जैसा कुछ मिल सकता है “https://xyz.firebaseio.com/”।
अगला, ब्राउज़र पर जाएं और पाई गई URL पर नेविगेट करें: https://xyz.firebaseio.com/.json।
2 प्रकार की प्रतिक्रियाएँ प्रकट हो सकती हैं:
“Permission Denied”: इसका मतलब है कि आप इसे एक्सेस नहीं कर सकते, इसलिए यह अच्छी तरह से कॉन्फ़िगर किया गया है।
“null” प्रतिक्रिया या JSON डेटा का एक गुच्छा: इसका मतलब है कि डेटाबेस सार्वजनिक है और आपके पास कम से कम पढ़ने की अनुमति है।
इस मामले में, आप लिखने की अनुमतियों की जांच कर सकते हैं, लिखने की अनुमतियों का परीक्षण करने के लिए एक शोषण यहाँ पाया जा सकता है: https://github.com/MuhammadKhizerJaved/Insecure-Firebase-Exploit
दिलचस्प नोट: जब MobSF के साथ एक मोबाइल एप्लिकेशन का विश्लेषण करते समय, यदि यह एक firebase डेटाबेस पाता है तो यह जांच करेगा कि क्या यह सार्वजनिक रूप से उपलब्ध है और इसे सूचित करेगा।
वैकल्पिक रूप से, आप Firebase Scanner का उपयोग कर सकते हैं, एक पायथन स्क्रिप्ट जो ऊपर दिए गए कार्य को स्वचालित करती है जैसा कि नीचे दिखाया गया है:
यदि आपके पास Firebase डेटाबेस तक पहुँचने के लिए क्रेडेंशियल्स हैं, तो आप संग्रहीत जानकारी तक अधिक आसानी से पहुँचने के लिए Baserunner जैसे टूल का उपयोग कर सकते हैं। या निम्नलिखित की तरह एक स्क्रिप्ट:
To test other actions on the database, such as writing to the database, refer to the Pyrebase4 documentation which can be found यहाँ.
If you decompile the iOS application and open the file GoogleService-Info.plist
and you find the API Key and APP ID:
API KEY AIzaSyAs1[...]
APP ID 1:612345678909:ios:c212345678909876
You may be able to access some interesting information
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"}'
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)