- EA के development environment "integration" में testing के दौरान, एक खास गेम के executable में hardcoded credentials के जरिए privileged access token हासिल किया गया.
प्रमाणन दस्तावेज़
- API documentation exposed है या नहीं, यह जांचने के लिए कई endpoints scan किए गए.
/connect/api-docs/index.json में Swagger JSON file मिली, जिससे Nexus Connect API की पूरी Swagger implementation देखी गई.
- Swagger file को OpenAPI 3.0 spec में update करके local Swagger UI server पर चलाया गया.
और अधिक खोजने के लिए
- EA Desktop कई backend services को integrate करने वाले GraphQL API, "Service Aggregation Layer" का उपयोग करता है.
gateway.int.ea.com पर 80 से अधिक service endpoints मिले.
सोने की खान की खोज
- सभी endpoints को request करके और उन्हें OpenAPI spec में convert करके अलग-अलग data की जांच की गई.
- खास game teams से जुड़ा data जैसी दिलचस्प जानकारी मिली.
प्रोडक्शन समय
- production OAuth client से access किए जा सकने वाले endpoints की जांच की गई.
/identity/pids/me और /identity/pids/me/personas endpoints के जरिए account information और "persona" list देखी गई.
बड़ी खोज
/identity/pids/{pidId}/personas/{personaId} endpoint के जरिए persona update किया जा सकता है, यह पता चला.
- username बदलना, persona status बदलना, और persona को दूसरे account में move करना जैसे काम संभव थे.
एक और समझ
/identity/namespaces/{namespace}/personas endpoint के जरिए hidden accounts भी search किए जा सकते थे.
- दूसरे accounts के persona को अपने account में move करके account data को control किया जा सकता था.
तीसरा प्रयास
- Xbox/PSN tokens का उपयोग करके 2FA bypass कर account में login किया जा सकता है, यह पता चला.
- Xbox पर game में login करके victim account तक पहुंचा जा सकता था.
प्रभाव
- attacker persona data को move करके usernames और game data चुरा सकता था.
- Xbox के जरिए account में login करके victim accounts तक पहुंचा जा सकता था.
- persona को ban किया जा सकता था या username बदला जा सकता था.
कुछ विचार
- EA को समस्या ठीक करने में समय लगा, और bug bounty program न होना निराशाजनक रहा.
- EA के साथ cooperation सकारात्मक रहा.
टाइमलाइन
- 16 जून 2024 - EA को vulnerability report की गई
- 8 जुलाई 2024 - Patch 1 deploy किया गया (persona ownership verification)
- 10 सितंबर 2024 - Patch 4 deploy किया गया (documentation हटाई गई)
1 टिप्पणियां
Hacker News टिप्पणियाँ
EA को सभी गेम्स में common system इस्तेमाल करना पसंद है। Madden में
blazeनाम का एक common backend मिला, जिसमें web और TCP endpoints थे। endpoints कॉल करने के लिए एक टूल बनाया, लेकिन सर्वर एक-एक करके डाउन हो गए। बाद में उन्होंने exploration रोकने के लिए API बनाने की कोशिश कीXbox के ज़रिए Battlefield 2042 इंस्टॉल किया और सफलतापूर्वक connect किया। हैकर्स अच्छे लगते हैं
अटैक को अंजाम देने में कितना समय और मेहनत लगी, यह दिखाने वाले notes दिलचस्प होंगे
जिन्हें यह लेख पसंद आया, वे HackerOne के "Hacktivity" जैसे bug bounty platforms पर और भी पढ़ सकते हैं
इस लेख की वजह से development और operations API servers की जाँच की, ताकि यह पक्का किया जा सके कि OpenAPI UI/JSON descriptor paths exposed न हों
EA games के काम करने या न करने को लेकर कभी निश्चित नहीं हुआ जा सकता। बड़े cloud में भी ऐसी ही स्थिति हो सकती है। infrastructure की दुनिया में यह असंभव scenario है, लेकिन EA की consumer दुनिया में यह रोज़मर्रा की बात है
EA ने दावा किया कि Xbox account को नए account में बदलना "तकनीकी रूप से असंभव" है, लेकिन वास्तव में यह संभव है। पुराने Xbox account को लिंक नहीं कर पाने की वजह से Xbox पर EA games नहीं खेले जा सकते
सभी accounts को block कर देना और उम्मीद करना कि database backup न हो, मज़ेदार होगा
सोचता हूँ कि किसी बड़ी कंपनी में engineer के रूप में काम करना कैसा होता होगा। कई teams अलग-अलग हिस्सों की मालिक होती हैं, इसलिए vulnerabilities होने की संभावना ज़्यादा रहती है
यह निराशाजनक है कि EA ने अब तक bug bounty program शुरू नहीं किया। report करने का incentive न होने से कुछ लोग vulnerabilities छिपाकर रखते हैं। उम्मीद है EA भी industry के रुझान का पालन करेगा। यह भी जानना दिलचस्प होगा कि report के लिए कोई reward नहीं था क्या