Active Directory en milieu universitaire une approche par

  • Slides: 44
Download presentation
Active Directory en milieu universitaire : une approche par la sécurité Emmanuel Mesnard /

Active Directory en milieu universitaire : une approche par la sécurité Emmanuel Mesnard / Xavier Girardin 1 / 44

Sommaire • Introduction • Volet technique • Volet organisationnel et fonctionnel • Volet audit

Sommaire • Introduction • Volet technique • Volet organisationnel et fonctionnel • Volet audit • Perspectives • Conclusion 2 / 44

Introduction • Points communs entre ces événements ? Merck (malware Not. Petya) Avril 2015

Introduction • Points communs entre ces événements ? Merck (malware Not. Petya) Avril 2015 TV 5 monde Juin 2017 Janvier 2019 Altran (ransomware) Norsk Hydro (ransomware Locker. Goga) Mars 2019 Mai 2019 Ville de Baltimore (ransomware Robin. Hood) • Active Directory : la nouvelle cible des attaquants !!! • Deux possibilités de compromission d’un AD : – Systèmes Windows non mis à jour avec des vulnérabilités non patchées, – Des mauvaises configurations d’Active Directory • Une approche de la sécurité par « couches » (Liaison / Application / Orga / Audit) 3 / 44

Volet technique - Structure physique • Une architecture répartie sur KVM pour le PCA

Volet technique - Structure physique • Une architecture répartie sur KVM pour le PCA Réseau interne • Utilisation des fonctionnalités de VMWare pour le PRA • Sécurisation des serveurs à travers les VLAN, les VRF (secure/DMZ) et les pare-feux 4 / 44

Volet technique - Flux réseaux Diagramme de flux réseaux • Identification des groupes de

Volet technique - Flux réseaux Diagramme de flux réseaux • Identification des groupes de machines devant communiquer avec l’AD • Avoir le contrôle des flux réseaux entre les différents groupes de machines 5 / 44

Volet technique - Rôles FSMO • Un Active Directory utilise un mode de réplication

Volet technique - Rôles FSMO • Un Active Directory utilise un mode de réplication Multi-Maître, • 5 modifications ne peuvent être exécutées qu’en mode Mono-Maître Les 5 rôles FSMO sont les suivants : Zone sécurisée Serveur 1 Source : @it-connect. fr Serveur 2 Serveur 3 6 / 44

Volet technique • Une PKI à 2 niveaux : - PKI - – Une

Volet technique • Une PKI à 2 niveaux : - PKI - – Une CARoot (Niveau 1) éteinte et n’est pas intégrée au domaine AD, – Une CA secondaire est intégrée au domaine AD, – Aucune communication directe entre la CARoot et la CA secondaire, • Il est nécessaire de publier les chemins CDP et AIA pour avoir une PKI fonctionnelle 7 / 44

Volet technique - PKI • Pourquoi ? – La CARoot est éteinte, elle ne

Volet technique - PKI • Pourquoi ? – La CARoot est éteinte, elle ne sera pas compromise, – Si la CA secondaire est compromise, alors nous révoquons son certificat sur la CARoot et nous en reconstruisons une nouvelle CA secondaire pour avoir une PKI fonctionnelle, – Permet de renforcer la sécurité de notre architecture réseau, l’exécution de scripts ou encore la gestion des comptes par le biais d’un connecteur, 8 / 44

Volet technique - PKI • Mise en place des liens IPSec grâce une règle

Volet technique - PKI • Mise en place des liens IPSec grâce une règle définie par GPO • Visibilité des liens établis sur les contrôleurs de domaine 9 / 44

Volet technique - PKI • Seuls les scripts signés par un éditeur approuvé peuvent

Volet technique - PKI • Seuls les scripts signés par un éditeur approuvé peuvent être exécutés automatiquement, Fig. 1 Fig. 2 • La liste des éditeurs approuvés est gérée par GPO Fig. 3 Fig. 4 10 / 44

Volet technique - Connecteur • Mise en place d'un connecteur permettant un miroir des

Volet technique - Connecteur • Mise en place d'un connecteur permettant un miroir des comptes actifs entre l'Open. LDAP et l’AD, • Extension de schéma LDAP de l’AD, • Besoin d’étendre le schéma au niveau de l’AD pour la mise en place du connecteur (sécurisation des attributs sensibles searchflag=128 ou 904), • Après l’extension du schéma, penser à retirer les membres du groupe « Schema Admin » pour éviter des modifications du schéma AD 11 / 44

Volet technique - Serveur RDS • NLA (certificat avec le rôle « authentification serveur

Volet technique - Serveur RDS • NLA (certificat avec le rôle « authentification serveur » ) • GPO • Blocage des connexions RDP sur les différents FW 12 / 44

Volet technique - LAPS Fig. 1 Fig. 2 • Le but du LAPS (Local

Volet technique - LAPS Fig. 1 Fig. 2 • Le but du LAPS (Local Administrator Password Solution) est d’avoir un mot passe administrateur unique et complexe pour tous les postes du domaine. • Cela permet d’avoir : – Une gestion centralisée, – D'augmenter la sécurité du SI Fig. 3 13 / 44

 • Fonctionnement de LAPS – Côté serveur : (à effectuer sur seul serveur)

• Fonctionnement de LAPS – Côté serveur : (à effectuer sur seul serveur) : Volet technique - LAPS architecture de la solution LAPS : • Installation des modules administration de LAPS (commandlet power. Shell, extension de schéma LDAP, ADMX) • Définition des paramètres de renouvellement des mots de passe et de leur complexité grâce à une GPO • Autoriser les objets ordinateurs à modifier les attributs LAPS (ms-Mcs -Adm. Pwd et ms-Mcs. Adm. Expiration) – Côté clients : • Installation d’un agent • Application des paramètres lors de l’application de la GPO Source : © Microsoft 14 / 44

Fonctionnalités intéressantes • FGPP : Fine-Grained Password Policy, • GMSA : Group Managed Service

Fonctionnalités intéressantes • FGPP : Fine-Grained Password Policy, • GMSA : Group Managed Service Accounts, • Activer le mode "Account is sensitive and cannot be delegated", • Restricted Admin Mode pour les administrateurs, – Les credentials ne restent que sur l’hôte lors d’une connexion RDP 15 / 44

Volet organisationnel et fonctionnel • La sécurité n'est pas que "Technique", • Lever les

Volet organisationnel et fonctionnel • La sécurité n'est pas que "Technique", • Lever les résistances au changement des administrateurs dans les habitudes d'administration ("A grand pouvoir, grandes responsabilités"), • Convention de nommage : Nomenclature Utilisateur Ordinateur OU Groupe GPO • Le nommage permet d'automatiser des tâches 16 / 44

Volet organisationnel et fonctionnel - Nomenclature GPO Nomenclature OU Nomenclature Ordis 17 / 44

Volet organisationnel et fonctionnel - Nomenclature GPO Nomenclature OU Nomenclature Ordis 17 / 44

Volet organisationnel et fonctionnel - Segmentation des rôles - Source : © Microsoft 18

Volet organisationnel et fonctionnel - Segmentation des rôles - Source : © Microsoft 18 / 44

Volet organisationnel et fonctionnel - Restrictions de connexion - Source : © Microsoft 19

Volet organisationnel et fonctionnel - Restrictions de connexion - Source : © Microsoft 19 / 44

Volet organisationnel et fonctionnel - Comment faire ? • 1 VM dédiée ou 1

Volet organisationnel et fonctionnel - Comment faire ? • 1 VM dédiée ou 1 poste physique par administrateur, • Blocage @IP vers internet, • Filtrage @IP vers serveur RDS et/ou vers DCs, • Centralisation des outils pour les administrateurs de ressources de niveau 1 (LAPS Ui / RSAT / Win. RM / Power. Shell), • Formation et sensibilisation des administrateurs (AD, Power. Shell, sensibilisation des risques PTH), • 5 administrateurs du DC, • ~ 40 administrateurs de niveau 1 (OU / GPO / computer / scripts) 20 / 44

Volet audit • JRES 2017 : Présentation de BTA et AD Control Path •

Volet audit • JRES 2017 : Présentation de BTA et AD Control Path • JRES 2019 : Ping. Castle & Blood. Hound • Ping. Castle : – Développé à la base pour Engie, – Cartographie une architecture AD et mesure le niveau de sécurité, – Un niveau de risque est déterminé pour chaque DC / Forest sur la base de 4 catégories (Objets abandonnés / Comptes à privilèges / Relation d'approbation / Anomalies de sécurité), • Blood. Hound : – Développé par des experts sécurité AD de chez Specter. Ops, 21 / 44

Volet audit - Ping. Castle • Analyse d'information sur la sécurité dans un AD,

Volet audit - Ping. Castle • Analyse d'information sur la sécurité dans un AD, • Génération de rapports détaillés, • Evalue le niveau de sécurité d'après un modèle et des règles, • Fonctionnement : Source : © Ping. Castle 22 / 44

Volet audit - Ping. Castle - https: //pingcastle. com/Ping. Castle. Files/ad_hc_rules_list. html 23 /

Volet audit - Ping. Castle - https: //pingcastle. com/Ping. Castle. Files/ad_hc_rules_list. html 23 / 44

Volet audit - Ping. Castle - Audit : avril 2019 24 / 44

Volet audit - Ping. Castle - Audit : avril 2019 24 / 44

Volet audit - Ping. Castle - Audit : mai 2019 25 / 44

Volet audit - Ping. Castle - Audit : mai 2019 25 / 44

Volet audit - Ping. Castle - Audit : juillet 2019 26 / 44

Volet audit - Ping. Castle - Audit : juillet 2019 26 / 44

Volet audit - Ping. Castle - Audit : octobre 2019 27 / 44

Volet audit - Ping. Castle - Audit : octobre 2019 27 / 44

Volet audit - Ping. Castle - Résultat par domaine et par règle 28 /

Volet audit - Ping. Castle - Résultat par domaine et par règle 28 / 44

Volet audit - Ping. Castle • Descriptif d'une règle et des moyens de remédiation

Volet audit - Ping. Castle • Descriptif d'une règle et des moyens de remédiation 29 / 44

Volet audit - Ping. Castle • Avantages : – – Simple EXE à lancer

Volet audit - Ping. Castle • Avantages : – – Simple EXE à lancer sur un poste/serveur connecté à l'AD, Peu intrusif (seulement du requêtage LDAP/ADWS), Rapport HTML explicite, Possibilité d'envoyer le rapport par email (chiffré ou non). • Inconvénients : – Pas de mise à jour automatique (déploiement en manuel), – Lancement manuel sinon passer par une tâche planifiée pour l'automatisation du processus, – Pas de tableau de bord ni d'historique dans la version open source. 30 / 44

Volet audit - Blood. Hound • Outil inspiré d’AD Control Path (ANSSI), • Outil

Volet audit - Blood. Hound • Outil inspiré d’AD Control Path (ANSSI), • Outil de reconnaissance (Red/Blue Team), • Notion de graphe relationnel avec Neo 4 j, • Communauté importante et active sur l'outil, • Complément idéal à Ping. Castle sur des problèmes de configuration pour l'administrateur. 31 / 44

Volet audit - Blood. Hound • L'outil permet : – – – Audit des

Volet audit - Blood. Hound • L'outil permet : – – – Audit des droits d'administrateur local, Audit de comportement d'utilisateur, Audit des autorisations d'objet AD, Audit de contrôle de stratégie de groupe, Audit des ACL, Recherche des problèmes de configuration Kerberos 32 / 44

Volet audit - Blood. Hound • La collecte d'information via le binaire Sharp. Hound

Volet audit - Blood. Hound • La collecte d'information via le binaire Sharp. Hound : MÉTHODE DE COLLECTE Group Logged. On Local. Admin Trusts RDP ACL DCOM Container GPOLocal. Group Object. Props Session Dc. Only Computer. Only OU 33 / 44

Volet audit - Blood. Hound • Les configurations abusives disponibles : Mouvement latéral ACL

Volet audit - Blood. Hound • Les configurations abusives disponibles : Mouvement latéral ACL Divers Admin. To Generic. All Kerberoast Execute. DCOM All. Extented. Rights Has. Session Can. RDP Generic. Write Gp. Link SQLAdmin Write. Owner AS-Rep Roast Allowed. To. Act Write. Dacl Allowed. To. Delegate Owns Force. Change. Password 34 / 44

Volet audit - Blood. Hound Menu Recherche + Infos Zoom Requête au format Neo

Volet audit - Blood. Hound Menu Recherche + Infos Zoom Requête au format Neo 4 j 35 / 44

Volet audit - Blood. Hound (requête Neo 4 j) • Exemple 1 : Recherche

Volet audit - Blood. Hound (requête Neo 4 j) • Exemple 1 : Recherche des OS vulnérables : MATCH (H: Computer) WHERE H. operatingsystem =~ '(? i). *(7|2000|2003|2008|xp|vista|me). *' RETURN H • Exemple 2 : Afficher tous les administrateurs du domaine MATCH (n: Group) WHERE n. objectsid =~ "(? i)S-1 -5 -. *-512" WITH n MATCH p=(n)<-[r: Member. Of*1. . ]-(m) RETURN p • Exemple 3 : Voir toutes les GPO Match (n: GPO) return n • Exemple 4 : Trouver les ordinateurs avec une description (only Neo 4 j) MATCH (c: Computer) WHERE c. description IS NOT NULL RETURN c. name, c. description 36 / 44

Volet audit - Blood. Hound Fig. 4 Fig. 1 Fig. 3 Fig. 2 37

Volet audit - Blood. Hound Fig. 4 Fig. 1 Fig. 3 Fig. 2 37 / 44

Volet audit - Blood. Hound - Pb de configuration sur un utilisateur (builtins) But

Volet audit - Blood. Hound - Pb de configuration sur un utilisateur (builtins) But de l’attaquant : Domain Admin 38 / 44

Volet audit - Blood. Hound Pb de configuration sur un utilisateur (builtins) & RDP

Volet audit - Blood. Hound Pb de configuration sur un utilisateur (builtins) & RDP possible sur un DC Un administrateur du domaine à une session sur un DC 39 / 44

Volet audit - Blood. Hound • Mode graphe permet de se rendre compte rapidement

Volet audit - Blood. Hound • Mode graphe permet de se rendre compte rapidement des problèmes (user / Computer / OU / GPO / …), • Outil très intéressant pour le côté « Défense » , Blog de Pixis (expert en sécurité) : La modélisation en mode graphe permet de comprendre les relations et intrications complexes des objets et relations dans le système d’information, pour en ressortir des chemins d’attaque ou des comportements anormaux. 40 / 44

Perspectives • Mettre en place une forêt d'administration dédiée (ESAE), • Notion de "Temporary

Perspectives • Mettre en place une forêt d'administration dédiée (ESAE), • Notion de "Temporary Group Membership", • Mettre une délégation des droits sur Power. Shell au niveau des administrateurs via JEA (Just Enough Administration), • Focus particulier sur les postes/VM d'administration via Credential Guard et PAW (Privileged Access Workstation), • Désactiver le mode "Debug Program" : Se. Debug, • Centraliser et corréler les événements EVTX. 41 / 44

Conclusion • Durcir l'architecture technique (LAPS / PKI / IPSec / RDP), • Segmenter

Conclusion • Durcir l'architecture technique (LAPS / PKI / IPSec / RDP), • Segmenter le niveau fonctionnel et niveau physique, • Limiter le nombre d’administrateurs du domaine (<10 idéalement), • Contraintes : temporelle / budgétaire / humaine, • Outils d'audit permettent d'avoir une vue "réelle" de la sécurité et des écueils éventuels, • Besoin de passer par un audit externe pour ne pas avoir un biais de confirmation avec l'audit interne, 42 / 44

Conclusion • Mettre en place un plan d’amélioration continue de l’infra AD, • Tester

Conclusion • Mettre en place un plan d’amélioration continue de l’infra AD, • Tester les outils des attaquants pour comprendre les faiblesses de notre AD (Blood. Hound, Mimikatz, Metasploit, …), • Suivre une formation avancée sur la sécurité Active Directory (ANSSI R 2 : Former les administrateurs à l’état de l’art en matière de SSI), • Simplifier la sécurité pour les utilisateurs finaux, • Nous avons progressé en maturité au niveau sécurité, mais il reste des étapes pour atteindre l'état de l'art, • Complexifier et allonger le travail des attaquants sur un AD pour "essayer" de détecter une attaque. 43 / 44

Des questions ? 44 / 44

Des questions ? 44 / 44