Archives de l’auteur : Janiko
Kerberos
Kerberos est un service d’authentification permettant d’accéder à des ressources sur réseau, en se reposant sur un mécanisme de distribution de clés symétriques. Il est utilisé notamment par Windows pour le service d’Active Directory. Le Kerberos Consortium gère ce projet en accès libre.
Différence entre Kerberos et NTLM
NTLM était utilisé autrefois par Windows. Il fonctionnait à la façon classique d’un mot de passe, avec stockage en base du mot de passe que l’utilisateur devait fournir pour s’authentifier. La principale différence entre les deux systèmes est la vérification tierce partie et la capacité de chiffrement plus efficace de Kerberos.
Voici le principe d’une authentification via Kerberos.
Faut s’accrocher un peu pour comprendre. En gros, le client (C) peut se connecter au serveur (S) sans rien connaître de (S). Tout passe par une infrastructure tierce, appelée Centre de Distribution de Clés (KDC) qui comprend un serveur d’authentification et un serveur d’émission de tickets.
En termes imagées, le client va auprès d’un bureau de sécurité (le serveur d’authentification) et demande un badge ayant une durée limitée. A l’aide de ce badge, il se rend à un service d’émission de tickets (celui qui est responsable de la ressource), et demande un ticket pour accéder à la ressource. Sauf qu’à chaque étape, tout est chiffré avec des clés symétriques.
Pré-requis
Pour cela, des clés privées doivent au préalable avoir été échangées entre tiers. Ainsi :
- La clé privée spécifique au client doit être connue du serveur d’authentification. La clé est (toujours ?) dérivée du mot de passe servant à l’authentification sur l’AS via une fonction string2key ;
- La clé privée du serveur de tickets (TGS) doit être connue du serveur d’authentification ;
- La clé privée du serveur ressource (S) doit être connue du serveur de tickets (TGS).
Comme autre pré-requis, le client (C) doit avoir un principal, c’est-à-dire être connu du réseau. Côté client, il faut également savoir gérer ce protocole, ce qui est le cas pour Windows (GSSAPI).
Les différentes étapes
Pour cela, voici les opérations :
- Le client s’authentifie auprès du serveur d’authentification (Authentication Server, AS), en général via login/mot de passe ;
- Le serveur d’authentification lui renvoie un ticket d’authentification (Ticket Granting Ticket, ou TGT), qui l’authentifie durant un certain temps. Ce TGT est chiffré avec la clé du serveur de tickets, et ne peut donc pas être déchiffré par le client. A côté de cela, le serveur d’authentification envoie également une clé de session à utiliser pour l’échange avec le serveur de tickets (TGS) ;
- Pour accéder au serveur (S), le client (C) va utiliser ces éléments : il envoie le ticket d’authentification (TGT) au serveur de tickets (TGS) en le chiffrant avec la clé de session ;
- Le serveur de tickets déchiffre le TGT, le vérifie, et envoie alors au client une clé d’échange finale entre le client et le serveur (en bleu), chiffrée avec la clé de session, ainsi qu’un ticket de service chiffré avec la clé du serveur ;
- Le ticket de service est chiffré avec la clé du serveur : le client ne peut donc ni le lire, ni le modifier.
Cache
Le ticket d’authentification (TGT) ayant une certaine durée de validité, il doit être protégé convenablement dans un cache approprié, dont Kerberos exige qu’il soit en mémoire non swappable (pour éviter qu’il soit écrit sur un disque), accessible uniquement au niveau noyau, etc.
Le protocole interdit également tout stockage du mot de passe ou du secret obtenu via string2key
.
MIT Kerberos Consortium – Protocol Tutorial
Les attaques
Sources
- Explication de l’authentification Kerberos (varonis.fr)
- Kerberos : Principe de fonctionnement – Devensys Cybersecurity
- MIT Kerberos Consortium – Protocol Tutorial
- Kerberos en Active Directory – hackndo
- Fonctionnement de Kerberos (mit.edu)
- Les protocoles LDAP, DNS et Kerberos | IT-Connect
- L’Internet Rapide et Permanent – Le protocole Kerberos (developpez.com)
Voir aussi
Anatomie d’un phishing (presque) ordinaire
Le phishing fait des ravages depuis longtemps, mais force est de constater qu’il évolue sans cesse afin de déjouer la vigilance des utilisateurs et des outils de sécurité en charge d’éradiquer les mails douteux. Une campagne récente (active en décembre 2020) visant le portefeuille Ledger constitue une excellente occasion de voir, par l’exemple, les techniques employées en ce moment.
Continuer la lectureActive Directory
Un Active Directory est un annuaire de type LDAP pour Windows, avec deux fonctions principales : identifier des façon unique les ressources (matérielles ou humaines) et les authentifier.
Structure
Une classe est un ensemble d’objets ayant les mêmes attributs. Cela peut être un ordinateur, un utilisateur, une organisation, etc. Parmi les objets nécessaires, les unités d’organisations sont indispensables pour une administration efficace.
Un schéma contient la définition de toutes les classes et de tous les attributs disponibles et autorisés au sein de votre annuaire. C’est un élément dont toute modification est critique, d’où l’existence d’administrateurs spécifique (de schémas).
La base de données de l’AD est divisée en trois partitions :
- La partition de schéma (définition des classes et objets, unique dans une forêt) ;
- La partition de configuration (topologie de la forêt, à savoir les informations sur les domaines, les liens entre les contrôleurs de domaines, les sites, etc. ; elle est également unique au sein d’une forêt) ;
- La partition de domaine (base de données pour un domaine, chaque domaine ayant sa partition propre).
Différence entre WORKGROUP et domaine
Un WORKGROUP permet de relier des ordinateurs dans un groupe de travail mais sans aucune centralisation ou administration. Les ordinateurs d’un même WORKGROUP se parlent mais c’est tout. Dans un WORKGROUP, chaque machine dispose de sa base d’utilisateurs (base SAM) non partagée.
A l’inverse, dans un domaine, la base des utilisateurs et des objets est centralisée, permettant un gestion efficace et centralisée des objets. Chaque contrôleur de domaine contient une copie de l’annuaire et s’assure de la synchronisation de celui-ci.
Contrôleur de domaine
Le serveur sur lequel on crée un domaine devient le premier contrôleur du domaine, contenant la base de données NTDS.dit
. Une bonne gestion implique d’ajouter des contrôleurs supplémentaires à ce domaine, les contrôleurs de domaine répliquant les informations entre eux à intervalle régulier (avec versionnage, pour gérer les problèmes de synchronisation). Le dossier partagé SYSVOL
sert à distribuer les stratégies de groupe et les scripts de connexion.
Arbres et forêts
De façon assez intuitive, un arbre est une hiérarchie de domaines (chaque feuille étant un sous-domaine de son supérieur), et une forêt est un ensemble d’arbres. La différence majeure est que dans une forêt, chaque arbre est indépendant, même en étant groupés dans une même structure. L’idée est garder cette indépendance tout en gardant un schéma d’annuaire commun, d’avoir un catalogue global et de simplifier l’administration.
Domaine fonctionnel
Un domaine fonctionnel est grosso modo la version de l’OS ou de l’AD (ex : Windows Server 2012). Dans une forêt, on peut trouver des domaines ayant des domaines fonctionnels différents (ça fonctionne), mais alors la forêt (qui a aussi un domaine fonctionnel).
Ainsi, plus la version est élevée (récente), plus on aura de fonctionnalités. Par contre, au niveau de la forêt, le domaine fonctionnel est la version minimale supportée par l’ensemble des arbres. Logique : il ne peut pas avoir plus de fonctionnalités qu’un de ses membres. Cela implique aussi que pour augmenter le domaine fonctionnel d’une forêt, il faut que tous les arbres supportent au moins la même chose, et un upgrade devra être réalisé si besoin.
Protocoles
Pour fonctionner, un AD utilise divers protocoles. Les plus importants sont LDAP, DNS et Kerberos.
L’annuaire LDAP est l’annuaire de l’AD à proprement parler, comprenant l’ensemble des données. Chaque entrée de LDAP est un objet unique ayant des attributs spécifiques (dont un GUID et un nom unique appelé Distinguished Name).
Le DNS est également indispensable car il permet de retrouver dans le réseau les objets, notamment les plus importants (Primary Domain Controller, catalogue global, KDC, contrôleurs de domaines, etc.).
Kerberos est un service d’authentification, et qui ne sert qu’à cela (il n’intervient pas dans le LDAP ou le DNS). Le gros avantage de Kerberos est de permettre qu’un client C puisse accéder à un serveur (ressource) S sans rien connaître de S. Tout passe par des serveurs tiers.
Moyens d’authentification
Source : https://sparrow365.de/index.php/en/2024/04/22/all-roads-to-entra-id-sso/
Sources
- Notions de base de l’Active Directory | IT-Connect
- Adoptez le modèle Confiance Zéro avec Azure Active Directory – Learn | Microsoft Docs
- Zero Trust Deployment Guide for Microsoft Azure Active Directory – Microsoft Security
Active Directory Federation Services
Outils
Voir aussi
La bourse ou la vie
Les ransomwares sont une menace constante depuis plusieurs années. Ce qui les rend redoutables est que leur modèle évolue et s’adapte pour être les plus efficaces possibles. Dernière évolution : la menace physique.
Continuer la lectureRansomware Task Force
Ça pète. Avec un nom pareil, les ransomwares n’ont qu’à bien se tenir. Trêve de plaisanterie, cette initiative est louable, et montre bien les préoccupations dans ces années 20 : autrefois on luttait joint contre les botnets, maintenant il faut ajouter une corde à l’arc de la SSI : la lutte contre le ransomware.
Continuer la lectureSolarWinds
L’attaque via SolarWinds, un éditeur de logiciels, restera dans les annales (avant de passer à la méga-attaque suivante). Une bourde de cet éditeur a conduit à une attaque à la fois sophistiquée, étendue, et particulièrement grave. Beaucoup de commentaires suivront, mais regardons les grandes lignes.
Continuer la lectureFireEye piratée
Arroseur arrosé ou cible particulièrement intéressante ? FireEye est une société réputée et performante dans le domaine de la sécurité informatique, notamment dans la réponse à incident (Madiant étant une des sociétés du groupe), mais aussi dans la protection contre les menaces même les plus avancées. Et pourtant, fin 2020, elle a été ciblée et l’attaque a abouti.
Continuer la lectureMot de passe Windows
Un développeur senior de Microsoft (Steve Syfuhs) tient un blog très intéressant (et forcément pertinent) sur la sécurité de Windows, en décrivant le fonctionnement de plusieurs fonctionnalités de sécurité, dont le mot de passe (sous Windows). Je vais tenter un résumé-traduction.
Continuer la lecture