Récupération des identifiants
winlogon.exe gère le processus de connexion. logonUI.exe affiche la page de connexion en fonction du type d’authentification souhaité (mot de passe, Windows Hello, PIN ou une clé FIDO) :
Authentification en local
Ensuite les informations de l’utilisateur sont envoyées au sous-système d’autorité de sécurité locale lsass.exe qui gère la sécurité lors des accès aux ressources.
Si les identifiants fournis sont correctes, lsass.exe transmet une approbation à winlogon.exe :
Il est possible de se connecter automatiquement sans s’authentifier. Le paramétrage se fait sous la clef de registre HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon où se trouve les identifiants à utiliser.
Chargement de la session
Ensuite, winlogon.exe va se charger de lancer différents processus pour charger le profil utilisateur, le bureau, le gestionnaire de services (services.exe) etc… Il va notamment exécuter userinit.exe pour traiter les scripts de connexion qui à sont tour lancera explorer.exe
Après s’être authentifié, l’utilisateur travaille sous un shell graphique, en général l’Explorateur Windows (explorer.exe). Le shell utilisé est un paramètre de winlogon. Ce paramètre de Winlogon est défini par l’entrée du registre HKey_Current_User\Software\Microsoft\Windows NT\CurrentVersion\Winlogon>Shell.
Authentification sur contrôleur de domaine
L’utilisateur est à présent authentifié localement, mais il est parfois nécessaire pour utiliser des ressources et applications partagées de devoir s’authentifier au niveau d’un contrôleur de domaine :
Lorsqu’un utilisateur d’un domaine se connecte à Windows, ses informations d’identification sont enregistrées sur l’ordinateur en local (informations d’identification mises en cache : identifiant et hash du mot de passe). Cela permet à l’utilisateur de se connecter à l’ordinateur même si les contrôleurs de domaine sont indisponibles ou que l’ordinateur est hors ligne.
Les images proviennent de Microsoft