Viele Unternehmen setzen Conditional Access in Microsoft 365 voraus, um sensible Ressourcen nur unter bestimmten Bedingungen – z. B. bei aktivem MFA oder Firmengeräten – freizugeben. In einem unserer Assessments fanden wir eine Konfiguration, die auf den ersten Blick solide wirkte, uns aber erlaubte, MFA vollständig zu umgehen – mit potenziell schwerwiegenden Folgen.

Kontext: Azure AD, MFA und Session Controls

Der Kunde hatte mehrere Conditional-Access-Policies aktiv, die unter anderem MFA für alle externen Zugriffe erzwangen. Jedoch wurde für einige Service-Principal-basierte Applikationen kein Benutzerkontext erzwungen, wodurch ein bestimmter OIDC-Flow für automatisierte Scripts offen blieb. So ließ sich ein Zugriffstoken über eine Anwendung beziehen – ohne MFA, obwohl der Benutzer MFA-geschützt war.

Token Replay mit Benutzerrechten

Mit dem Tool ROADtools konnten wir ein Zugriffstoken im Namen des Benutzers extrahieren und gezielt Replay-Angriffe auf Microsoft Graph API durchführen. Dies erlaubte unter anderem:

Was lief falsch?

Die Conditional-Access-Policies waren zwar vorhanden, aber nicht granular genug. Die betroffene App war nicht im Scope aufgenommen, und es wurde keine Authentifizierungsstufe auf Token-Basis validiert. Microsoft empfiehlt ausdrücklich, für solche Applikationen eigene Policies zu definieren – insbesondere bei Applikationen, die Benutzerkontext simulieren können.

Empfehlung

Jede Applikation die Benutzerkontext simulieren kann, braucht eine eigene Conditional-Access-Policy. Der Default „alle externen Zugriffe" schützt nicht automatisch alle OAuth-Flows.

Wie sicher ist Ihre Microsoft-Cloud wirklich?

Unser Azure / M365 Assessment identifiziert genau solche Fehlkonfigurationen – bevor es ein Angreifer tut.

Jetzt Assessment buchen
DH
David Hofer
Co-Founder & Offensive Security Expert · DAVISEC GmbH · OSCP, CRTE, CRTP, CARTP