Die Sicherheitsexperten von Varonis zeigen mit einem neuen Proof of Concept, wie ein On-Premises-Server (Azure Agent) manipuliert werden kann, um Benutzer-Anmeldeinformationen zu sammeln. Wurde dieser kompromittiert, können Angreifer eine Liste sämtlicher synchronisierter Benutzer inkl. Passwörter erzeugen und sich als jeder synchronisierte Benutzer anmelden.
Azure AD Connect verbindet eine Azure AD-Umgebung mit einer lokalen Domäne und bietet hierfür verschiedene Authentifizierungsmethoden:
- Passwort-Hash-Synchronisierung, durch welche die lokalen Vor-Ort-Hashes mit der Cloud synchronisiert werden
- Pass-Through-Authentifizierung, bei der ein „Azure-Agent“ vor Ort installiert wird, der synchronisierte Benutzer aus der Cloud authentifiziert
- Föderierte Integration, die sich auf eine AD FS-Infrastruktur stützt
Die beschriebene Angriffsmethode nutzt den Azure-Agenten aus, der für die Pass-Through-Authentifizierung verwendet wird. Hierbei versucht gemäß der Microsoft-Dokumentation der Authentifizierungsagent, den Benutzernamen und das Kennwort gegen das lokale Active Directory zu validieren, indem er die Win32 LogonUser-API mit dem Parameter dwLogonType verwendet.
Durch den Einsatz des Tools API Monitor, welches sämtliche API-Aufrufe von Diensten und Anwendungen protokolliert, erhält man das Passwort des entsprechenden Nutzers. Voraussetzung hierfür ist jedoch, dass der Angreifer Administratorenrechte auf einem Server, auf dem ein Azure-Agent installiert ist, besitzt.
Ohne weiteren großen Aufwand ist es dann möglich, eine Liste sämtlicher synchronisierter Benutzer, die sich mit Azure AD (z.B. O365) verbinden, zu erstellen – inklusive der jeweiligen Passwörter im Klartext. Darüber hinaus können Angreifer eine Art Generalschlüssel erstellen, der es ihnen erlaubt, sich als beliebiger Benutzer mit einem vom ihnen gewählten Passwort zu authentifizieren.
Auf diese Weise kann sich jeder Benutzer immer noch mit seinem eigenen Passwort verbinden, Angreifer können sich aber erfolgreich als jeder Benutzer authentifizieren, indem sie das von ihnen erstellte Passwort verwenden.
Die Sicherheitsforscher von Varonis weisen darauf hin, dass es sich bei dem beschriebenen Angriffsweg um keine Schwachstelle handelt, sondern um eine neue Möglichkeit, eine Azure-synchronisierte Umgebung zu kompromittieren. Ein Angreifer benötigt hierzu einen privilegierten Zugang, um den Azure-Agenten auf diese Weise auszunutzen.
Entsprechend ist auch mit keinem Patch seitens Microsoft zu rechnen. Das Microsoft Security Response Center wurde kontaktiert, sieht aber hierin „keine Schwachstelle in einem Microsoft-Produkt oder -Dienst, die es einem Angreifer ermöglichen würde, die Integrität, Verfügbarkeit oder Vertraulichkeit eines Microsoft-Angebots zu gefährden.“
Schutzmaßnahmen
Privilegierte Angreifer könnten diesen Exploit nutzen, um eine Hintertür zu installieren oder Passwörter zu sammeln. Die herkömmliche Protokollanalyse kann dies möglicherweise nicht erkennen, wenn der Angreifer weiß, wie er seine Spuren verwischt. Die Verwendung von Multi-Faktor-Authentifizierung (MFA) kann verhindern, dass sich Angreifer mit einem gefälschten Passwort mit der Azure-Cloud verbinden, obwohl dieser Angriff dazu verwendet werden könnte, Passwörter in MFA-fähigen Umgebungen zu sammeln.
Eine weitere Schutzmaßnahme gegen diesen Angriff besteht darin, die Server des Azure-Agenten zu sichern, die Benutzeraktivitäten auf ungewöhnliche Ressourcen- und Datenzugriffe zu überwachen und durch Klassifizierung Dateien zu entdecken, die Klartext-Benutzernamen und Passwörter enthalten.