Aller au contenu

Azure AD Connect / entra ID Connect : le pont d'attaque hybride

Microsoft entra Connect (anciennement Azure AD Connect) est l’application serveur qui synchronise les identités locales de l’Active Directory On-Premise vers le tenant Cloud Microsoft Entra ID.

Il repose sur trois briques fondamentales :

  1. Le compte de synchronisation Active Directory local (MSOL_XXXXX) : créé automatiquement à la racine de l’annuaire local, ce compte dispose des droits étendus de réplication (DS-Replication-Get-Changes-All) pour lire les hashs NTLM dans le cadre de la synchronisation de hachage de mot de passe (PHS - Password Hash Sync).
  2. Le compte de synchronisation cloud (Sync_XXXXX) : compte de service hautement privilégié hébergé dans Entra ID, détenant le rôle d’annuaire Directory Synchronization Accounts.
  3. La base de données locale (LocalDB OU SQL Server) : stocke la configuration du moteur de synchronisation et héberge les clés de chiffrement symétriques dans le registre local LSA et le coffre de données DPAPI.

L’audit du serveur Entra Connect est prioritaire lors d’intrusions hybrides :

  • Extraction triviale des credentials MSOL_ : À l’aide d’outils publics (ex: script PowerShell AzureAD_Decrypt_MSOL.ps1 ou module AADInternals), tout administrateur local du serveur Entra Connect peut extraire le mot de passe en clair du compte MSOL_XXXXX directement depuis la base de données locale.
  • Exécution immédiate de DCSync : le compte MSOL_ possédant les droits de réplication AD par conception, l’attaquant qui vole son mot de passe peut exécuter un DCSync sur n’importe quel DC et dumper l’intégralité des comptes du domaine local.
  • Pivot latéral on-premise vers cloud : grâce au compte de service Cloud ou via la modification d’attributs synchronisés (ex: attribution du rôle Global Admin à un compte On-Premise synchronisé via Seamless SSO ou falsification d’attributs UserPrincipalName), l’attaquant étend son emprise locale sur l’infrastructure Microsoft 365 / Azure.

┌────────────────────────────────────────────────────────┐
│ SERVEUR MICROSOFT ENTRA CONNECT │
├────────────────────────────────────────────────────────┤
│ Moteur de synchronisation (miiserver.exe) │
│ Clé de chiffrement DPAPI / LSA │
│ Base SQL ADSync (Chiffre les identifiants de synchro) │
└───────────────────────┬────────────────────────────────┘
│
┌────────────────┴────────────────┐
▼ ▼
┌──────────────────────────────┐ ┌──────────────────────────────┐
│ Active Directory Local │ │ Microsoft Entra ID Cloud │
├──────────────────────────────┤ ├──────────────────────────────┤
│ Compte : MSOL_XXXXXXXXXXXX │ │ Compte : Sync_XXXXX_XXXXX │
│ Droits : Replication-Get-All │ │ Rôle : Directory Sync │
│ (Permet DCSync !) │ │ Accounts │
└──────────────────────────────┘ └──────────────────────────────┘
  1. Extraction par DPAPI : la base ADSync chiffre le mot de passe du compte MSOL_ avec une clé stockée dans le Local Security Authority (LSA) de la machine. Un attaquant administrateur local utilise DPAPI pour déchiffrer la clé de chiffrement du moteur de synchronisation, puis lit le mot de passe en clair du compte MSOL_.
  2. Synchronisation inverse malveillante : si la réécriture des mots de passe (Password Writeback) est activée dans le cadre de la réinitialisation de mot de passe en libre-service (SSPR), un attaquant compromettant un compte dans le Cloud peut forcer la modification du mot de passe de l’utilisateur On-Premise correspondant.

  • Récupérer le mot de passe du compte MSOL_ en 5 secondes : n’importe quel compte membre du groupe local Administrators sur le serveur Entra Connect peut exécuter le déchiffrement sans jamais contacter un DC.
  • Usurper des identités cloud via PHS : l’attaquant peut injecter des hashs de mots de passe arbitraires dans Entra ID pour détourner des sessions d’utilisateurs synchronisés sans connaître leur mot de passe réel.
  • Pivoter vers le cloud sans déclencher d’alerte MFA : le compte de synchronisation Cloud Sync_ est souvent exempté de Conditional Access et de MFA pour des raisons de continuité de service.

  • Déchiffrer la base ADSync à distance sans accès local : les clés de déchiffrement dépendent de DPAPI et de la LSA de la machine hébergeant Entra Connect ; l’attaquant doit obligatoirement obtenir une exécution de code sur le serveur lui-même.
  • Modifier des comptes cloud natifs depuis on-premise : les comptes créés directement dans Entra ID (qui ne sont pas synchronisés depuis l’annuaire local, identifiés par Source of Authority: Cloud) ne peuvent pas être altérés par la synchronisation Entra Connect.
  • Masquer l’appel DCSync émis par le compte MSOL : même si le compte MSOL_ est légitime, l’appel génère l’Event ID 4662 sur le DC.

Confusion fréquenteRéalité forensique vérifiable
« Le serveur Entra Connect n’est qu’un serveur applicatif ordinaire (Tier 1). »Erreur critique d’architecture. Entra Connect détient les droits de réplication AD et le contrôle du Cloud : c’est un actif Tier 0 / control plane absolu.
« Si nous changeons le mot de passe du compte MSOL, la synchronisation continue. »Non. Si le mot de passe de MSOL_ est réinitialisé dans l’AD sans mettre à jour l’assistant Entra Connect, la synchronisation s’arrête immédiatement avec une erreur d’authentification.
« Les alertes DCSync doivent ignorer le compte MSOL car il est légitime. »Si l’adresse IP source de l’Event 4662 n’est pas l’adresse IP officielle du serveur Entra Connect, c’est la preuve formelle que les credentials de MSOL_ ont été volés et utilisés depuis un poste malveillant.

Dans une campagne ciblant un grand cabinet juridique :

  1. L’attaquant compromet le serveur SRV-AADSYNC via une vulnérabilité RCE sur une application web secondaire installée sur la même machine.
  2. L’attaquant exécute AADInternals pour dumper les clés de la base ADSync locale.
  3. Il obtient en clair le mot de passe du compte MSOL_9d8f37a1e0b4.
  4. Depuis son poste pirate 10.0.5.99, il lance secretsdump.py avec le compte MSOL_ ciblant le DC primaire 10.0.1.10.
  5. Détection DFIR : L’Event ID 4662 sur le DC montre SubjectUserName: MSOL_9d8f37a1e0b4. L’Event ID 4624 associé révèle que la connexion provient de l’adresse IP 10.0.5.99 et non du serveur SRV-AADSYNC (10.0.2.15).
  6. Bilan : preuve immédiate de vol d’identifiants de synchronisation et compromission totale du domaine local.

  1. Sur le serveur entra Connect :
    • Journaux d’applications (Application) : événements de la source Directory Synchronization (IDs 100, 102, 107).
    • Processus suspects : injections de DLL ou lectures de mémoire ciblant miiserver.exe ou lsass.exe.
    • Accès à la base de données : requêtes SQL directes interrogeant la table mms_management_agent dans la base ADSync.
  2. Sur les contrôleurs de domaine :
    • Event ID 4662 : demande de réplication émise par le compte MSOL_XXXXX. Vérifier scrupuleusement l’adresse IP source dans l’Event 4624 associé.
  3. Dans les logs d’audit Microsoft Entra ID (cloud) :
    • Opérations initiées par le compte de service Sync_XXXXX modifiant des attributs sensibles d’utilisateurs ou de groupes.

  1. Identifier le nom exact du compte de synchronisation on-premise : Exécuter Get-ADUser -Filter 'Name -like "MSOL_*"' -Properties *.
  2. Corréler les accès DCSync du compte MSOL avec l’adresse IP légitime : Auditer les événements 4662 et 4624 sur les DC pour confirmer que 100% des appels émis par MSOL_ proviennent exclusivement de l’IP du serveur Entra Connect.
  3. Auditer les administrateurs locaux du serveur entra Connect : Vérifier qui appartient au groupe Administrators et ADSyncAdmins sur le serveur de synchronisation.

  • PowerShell AD module :
    Fenêtre de terminal
    # Récupérer les informations du compte MSOL
    Get-ADUser -Filter 'Name -like "MSOL_*"' -Properties PasswordLastSet, whenCreated, Description
  • AADInternals (pour audit autorisé en lab) :
    Fenêtre de terminal
    Import-Module AADInternals
    Get-AADIntSyncCredentials

  • Le serveur Entra Connect est un actif Tier 0 qui relie la sécurité On-Premise et Cloud.
  • Le compte local MSOL_XXXXX possède les droits de réplication DCSync par défaut.
  • Tout administrateur local du serveur Entra Connect peut déchiffrer le mot de passe du compte MSOL_.
  • Toute activité de MSOL_ provenant d’une IP différente du serveur de synchronisation signe une extrusion de credentials critique.