GPS - Google Password Sync
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)
यह वह बाइनरी और सेवा है जो Google उपयोगकर्ताओं के पासवर्ड को AD और Workspace के बीच सिंक में रखने के लिए प्रदान करता है। हर बार जब एक उपयोगकर्ता AD में अपना पासवर्ड बदलता है, तो इसे Google पर सेट किया जाता है।
यह C:\Program Files\Google\Password Sync
में स्थापित होता है जहाँ आप इसे कॉन्फ़िगर करने के लिए बाइनरी PasswordSync.exe
और password_sync_service.exe
(सेवा जो चलती रहेगी) पा सकते हैं।
इस बाइनरी (और सेवा) को कॉन्फ़िगर करने के लिए, इसे Workspace में एक सुपर एडमिन प्रिंसिपल तक पहुंच देना आवश्यक है:
Google के साथ OAuth के माध्यम से लॉगिन करें और फिर यह पंजीकरण में एक टोकन (एन्क्रिप्टेड) स्टोर करेगा
GUI के साथ डोमेन कंट्रोलर्स में ही उपलब्ध
Workspace उपयोगकर्ताओं को प्रबंधित करने के लिए कुछ GCP सेवा खाता क्रेडेंशियल्स (json फ़ाइल) देना
बहुत बुरा विचार क्योंकि ये क्रेडेंशियल्स कभी समाप्त नहीं होते और इसका दुरुपयोग किया जा सकता है
Workspace पर SA को एक्सेस देना बहुत बुरा विचार है क्योंकि SA GCP में समझौता किया जा सकता है और Workspace पर पिवट करना संभव होगा
Google इसे GUI के बिना डोमेन नियंत्रित करने के लिए आवश्यक करता है
ये क्रेडेंशियल्स भी पंजीकरण में स्टोर होते हैं
AD के संबंध में, यह वर्तमान ऐप्लिकेशन संदर्भ, गुमनाम या कुछ विशिष्ट क्रेडेंशियल्स का उपयोग करने के लिए संकेतित किया जा सकता है। यदि क्रेडेंशियल्स विकल्प चुना जाता है, तो उपयोगकर्ता नाम एक फ़ाइल में डिस्क के अंदर स्टोर किया जाता है और पासवर्ड एन्क्रिप्टेड होता है और पंजीकरण में स्टोर किया जाता है।
Note that Winpeas is capable to detect GPS, get information about the configuration and even decrypt the password and token.
फ़ाइल C:\ProgramData\Google\Google Apps Password Sync\config.xml
में यह संभव है कि AD के कॉन्फ़िगर किए गए baseDN
और जिनके क्रेडेंशियल्स का उपयोग किया जा रहा है, उस username
का एक भाग पाया जा सके।
पंजीकरण HKLM\Software\Google\Google Apps Password Sync
में एन्क्रिप्टेड रिफ्रेश टोकन और एन्क्रिप्टेड पासवर्ड AD उपयोगकर्ता के लिए (यदि कोई हो) पाया जा सकता है। इसके अलावा, यदि टोकन के बजाय कुछ SA क्रेडेंशियल्स का उपयोग किया जाता है, तो यह भी संभव है कि उन्हें उस पंजीकरण पते में एन्क्रिप्टेड पाया जा सके। इस पंजीकरण के अंदर मान केवल प्रशासकों द्वारा पहुँच योग्य होते हैं।
एन्क्रिप्टेड पासवर्ड (यदि कोई हो) कुंजी ADPassword
के अंदर है और इसे CryptProtectData
API का उपयोग करके एन्क्रिप्ट किया गया है। इसे डिक्रिप्ट करने के लिए, आपको उसी उपयोगकर्ता होना चाहिए जिसने पासवर्ड सिंक कॉन्फ़िगर किया था और CryptUnprotectData
का उपयोग करते समय इस entropy का उपयोग करना चाहिए: byte[] entropyBytes = new byte[] { 0xda, 0xfc, 0xb2, 0x8d, 0xa0, 0xd5, 0xa8, 0x7c, 0x88, 0x8b, 0x29, 0x51, 0x34, 0xcb, 0xae, 0xe9 };
एन्क्रिप्टेड टोकन (यदि कोई हो) कुंजी AuthToken
के अंदर है और इसे CryptProtectData
API का उपयोग करके एन्क्रिप्ट किया गया है। इसे डिक्रिप्ट करने के लिए, आपको उसी उपयोगकर्ता होना चाहिए जिसने पासवर्ड सिंक कॉन्फ़िगर किया था और CryptUnprotectData
का उपयोग करते समय इस entropy का उपयोग करना चाहिए: byte[] entropyBytes = new byte[] { 0x00, 0x14, 0x0b, 0x7e, 0x8b, 0x18, 0x8f, 0x7e, 0xc5, 0xf2, 0x2d, 0x6e, 0xdb, 0x95, 0xb8, 0x5b };
इसके अलावा, इसे 0123456789abcdefghijklmnopqrstv
शब्दकोश के साथ base32hex में भी एन्कोड किया गया है।
Entropy मानों को टूल का उपयोग करके पाया गया। इसे CryptUnprotectData
और CryptProtectData
के लिए कॉल की निगरानी करने के लिए कॉन्फ़िगर किया गया था और फिर टूल का उपयोग PasswordSync.exe
को लॉन्च और मॉनिटर करने के लिए किया गया था जो कॉन्फ़िगर किए गए पासवर्ड और ऑथ टोकन को शुरू में डिक्रिप्ट करेगा और टूल दोनों मामलों में उपयोग की गई एंट्रॉपी के लिए मान दिखाएगा:
ध्यान दें कि इन APIs के कॉल के इनपुट या आउटपुट में डिक्रिप्टेड मानों को भी देखना संभव है (यदि किसी बिंदु पर Winpeas काम करना बंद कर दे)।
यदि पासवर्ड सिंक SA क्रेडेंशियल्स के साथ कॉन्फ़िगर किया गया था, तो यह भी पंजीकरण HKLM\Software\Google\Google Apps Password Sync
के अंदर कुंजियों में स्टोर किया जाएगा।
GCPW के साथ की तरह, PasswordSync.exe
और password_sync_service.exe
प्रक्रियाओं की मेमोरी को डंप करना संभव है और आप रिफ्रेश और एक्सेस टोकन (यदि पहले से उत्पन्न हो चुके हैं) पा सकेंगे।
मुझे लगता है कि आप AD कॉन्फ़िगर किए गए क्रेडेंशियल्स भी पा सकते हैं।