GPS - Google Password Sync
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Dies ist die Binärdatei und der Dienst, den Google anbietet, um die Passwörter der Benutzer zwischen dem AD und Workspace synchronisiert zu halten. Jedes Mal, wenn ein Benutzer sein Passwort im AD ändert, wird es in Google gesetzt.
Es wird in C:\Program Files\Google\Password Sync
installiert, wo Sie die Binärdatei PasswordSync.exe
zur Konfiguration und password_sync_service.exe
(der Dienst, der weiterhin läuft) finden können.
Um diese Binärdatei (und den Dienst) zu konfigurieren, ist es notwendig, Zugriff auf ein Super Admin-Konto in Workspace zu gewähren:
Anmeldung über OAuth mit Google, danach wird ein Token im Registrierungseditor (verschlüsselt) gespeichert
Nur verfügbar auf Domänencontrollern mit GUI
Bereitstellung von Service Account-Anmeldeinformationen von GCP (json-Datei) mit Berechtigungen zur Verwaltung der Workspace-Benutzer
Sehr schlechte Idee, da diese Anmeldeinformationen niemals ablaufen und missbraucht werden könnten
Sehr schlechte Idee, einem SA Zugriff auf Workspace zu gewähren, da der SA in GCP kompromittiert werden könnte und es möglich wäre, zu Workspace zu pivotieren
Google verlangt dies für domänenkontrollierte Umgebungen ohne GUI
Diese Anmeldeinformationen werden ebenfalls im Registrierungseditor gespeichert
Bezüglich AD ist es möglich, anzugeben, dass der aktuelle Anwendungskontext, anonym oder einige spezifische Anmeldeinformationen verwendet werden sollen. Wenn die Option Anmeldeinformationen ausgewählt ist, wird der Benutzername in einer Datei auf der Festplatte gespeichert und das Passwort ist verschlüsselt und im Registrierungseditor gespeichert.
Beachten Sie, dass Winpeas in der Lage ist, GPS zu erkennen, Informationen über die Konfiguration zu erhalten und sogar das Passwort und Token zu entschlüsseln.
In der Datei C:\ProgramData\Google\Google Apps Password Sync\config.xml
ist es möglich, Teile der Konfiguration wie den baseDN
des konfigurierten AD und den Benutzernamen
, dessen Anmeldeinformationen verwendet werden, zu finden.
Im Registrierungseditor HKLM\Software\Google\Google Apps Password Sync
ist es möglich, den verschlüsselten Refresh-Token und das verschlüsselte Passwort für den AD-Benutzer (sofern vorhanden) zu finden. Darüber hinaus, wenn anstelle eines Tokens einige SA-Anmeldeinformationen verwendet werden, ist es auch möglich, diese verschlüsselt an dieser Registrierungsadresse zu finden. Die Werte in dieser Registrierung sind nur für Administratoren zugänglich.
Das verschlüsselte Passwort (sofern vorhanden) befindet sich im Schlüssel ADPassword
und ist mit der CryptProtectData
API verschlüsselt. Um es zu entschlüsseln, müssen Sie der gleiche Benutzer sein wie der, der die Passwortsynchronisierung konfiguriert hat, und diese Entropie verwenden, wenn Sie die CryptUnprotectData
verwenden: byte[] entropyBytes = new byte[] { 0xda, 0xfc, 0xb2, 0x8d, 0xa0, 0xd5, 0xa8, 0x7c, 0x88, 0x8b, 0x29, 0x51, 0x34, 0xcb, 0xae, 0xe9 };
Der verschlüsselte Token (sofern vorhanden) befindet sich im Schlüssel AuthToken
und ist mit der CryptProtectData
API verschlüsselt. Um ihn zu entschlüsseln, müssen Sie der gleiche Benutzer sein wie der, der die Passwortsynchronisierung konfiguriert hat, und diese Entropie verwenden, wenn Sie die CryptUnprotectData
verwenden: byte[] entropyBytes = new byte[] { 0x00, 0x14, 0x0b, 0x7e, 0x8b, 0x18, 0x8f, 0x7e, 0xc5, 0xf2, 0x2d, 0x6e, 0xdb, 0x95, 0xb8, 0x5b };
Darüber hinaus ist es auch mit base32hex unter Verwendung des Wörterbuchs 0123456789abcdefghijklmnopqrstv
codiert.
Die Entropiewerte wurden mit dem Tool gefunden. Es wurde konfiguriert, um die Aufrufe von CryptUnprotectData
und CryptProtectData
zu überwachen, und dann wurde das Tool verwendet, um PasswordSync.exe
zu starten und zu überwachen, das das konfigurierte Passwort und den Auth-Token zu Beginn entschlüsseln wird, und das Tool wird die Werte für die verwendete Entropie in beiden Fällen anzeigen:
Beachten Sie, dass es auch möglich ist, die entschlüsselten Werte in den Eingaben oder Ausgaben der Aufrufe dieser APIs zu sehen (für den Fall, dass Winpeas irgendwann nicht mehr funktioniert).
Falls die Passwortsynchronisierung mit SA-Anmeldeinformationen konfiguriert wurde, wird sie ebenfalls in Schlüsseln im Registrierungseditor HKLM\Software\Google\Google Apps Password Sync
gespeichert.
Genau wie bei GCPW ist es möglich, den Speicher des Prozesses von PasswordSync.exe
und den Prozessen password_sync_service.exe
zu dumpen, und Sie werden in der Lage sein, Refresh- und Access-Tokens zu finden (sofern sie bereits generiert wurden).
Ich nehme an, Sie könnten auch die konfigurierten AD-Anmeldeinformationen finden.