ghrc.io पर दुर्भावनापूर्ण साइट होने का संदेह
(bmitch.net)- ghcr.io और ghrc.io के बीच साधारण टाइपो से हुआ भ्रम गंभीर सुरक्षा खतरा पैदा कर रहा है
- ghrc.io पहली नज़र में सामान्य nginx सर्वर जैसा दिखता है, लेकिन अंदरूनी तौर पर OCI API की नकल करने वाली गतिविधि पकड़ी गई है
- यह साइट www-authenticate हेडर के जरिए container clients को संवेदनशील authentication जानकारी भेजने के लिए उकसाती है
- docker login आदि के दौरान गलती से credentials दर्ज कर देने या गलत registry का उपयोग करने पर credentials leak हो सकता है
- अगर आपने गलत registry पर login किया है, तो पासवर्ड बदलना, PAT रद्द करना, और GitHub account में असामान्य गतिविधि की जांच करना ज़रूरी है
अवलोकन
सिर्फ एक साधारण टाइपो की वजह से अक्सर होने वाला ghcr.io और ghrc.io का भ्रम एक बेहद खतरनाक सुरक्षा समस्या पैदा कर सकता है। कई developers और teams द्वारा उपयोग किए जाने वाले GitHub Container Registry(ghcr.io) के typo version ghrc.io पर credentials चोरी करने की कोशिश पकड़ी गई है।
ghcr.io क्या है
- ghcr.io container images और OCI artifacts के लिए एक OCI-compatible registry है
- यह GitHub का हिस्सा है और अनगिनत open source projects में लोकप्रिय registry के रूप में इस्तेमाल होता है
ghrc.io: ऊपर से कैसा दिखता है
- ghrc.io पर जाने पर एक साधारण nginx default page दिखाई देता है
- सामान्य 404 error सहित बुनियादी व्यवहार एक सामान्य nginx server जैसा ही है
दुर्भावनापूर्ण गतिविधि की असली प्रकृति
- मुख्य समस्या
/v2/prefix के तहत होने वाली OCI API calls में दिखाई देती है - इस path पर access करने पर,
www-authenticateheader और 401 response के साथ यह आधिकारिक container registry से बेहद मिलता-जुलता व्यवहार दिखाता है www-authenticate: Bearer realm="https://ghrc.io/token"header मौजूद है- इस header की वजह से Docker, containerd, podman, Kubernetes आदि के clients उपयोगकर्ता की authentication जानकारी को
https://ghrc.io/tokenपर अपने-आप भेजने की कोशिश करते हैं - nginx की default configuration में यह header नहीं होता, इसलिए यह स्पष्ट रूप से जानबूझकर किया गया configuration है
जोखिम: credentials चोरी का परिदृश्य
- यह पैटर्न typo-squatting आधारित credentials चोरी के हमले जैसा प्रतीत होता है
- जोखिम केवल तब होता है जब user client ने ghrc.io के लिए credentials दर्ज किए हों या सहेजे हों
- ऐसी परिस्थितियों के उदाहरण जिनमें वास्तविक credentials उजागर हो सकते हैं
docker login ghrc.ioचलाने पर- GitHub Action में
docker/login-actionका उपयोग करते समय registry को ghrc.io सेट करने पर - Kubernetes secret में ghrc.io के लिए registry credentials सहेजकर image pull करने की कोशिश करने पर
- सिर्फ ghrc.io पर image push/pull करने की कोशिश करने से authentication जानकारी उजागर नहीं होती (anonymous token की कोशिश के बाद error लौटता है)
प्रतिक्रिया के उपाय
- अगर आपने गलती से ghrc.io पर login किया है, तो तुरंत पासवर्ड बदलें और इस्तेमाल किया गया PAT(Personal Access Token) रद्द करें
- GitHub account में असामान्य login या दुर्भावनापूर्ण गतिविधि की जरूर जांच करें
- हमलावर इसका उपयोग ghcr.io की repositories में दुर्भावनापूर्ण images जोड़ने या account access हासिल करने के लिए कर सकते हैं
निष्कर्ष
- ghcr.io जैसे दिखने वाले पते का उपयोग करने वाली phishing sites से सावधान रहने की ज़रूरत है
- credentials, tokens, passwords जैसी सुरक्षा जानकारी के प्रबंधन के लिए और अधिक सख्त नीति अपनानी चाहिए
अभी कोई टिप्पणी नहीं है.