FIXME **Le PAD pour proposer une amélioration à cette page :** https://pad.zenk-security.com/p/merci ====== Protéger un Active Directory ====== **intro** Le problème est que la plus part des Active Directory ont été mis en place vers 2005 et ils n'ont pas été conçu pour les menaces d'aujourd'hui. Les Active Directory gèrent tout qu'on parle de local ou en cloud. La sécurité périmétrique (règles ACL , Firewall), ne corrigent que 10% de la sécurité. Ce wiki vient en plus du document de l'ANSSI "Recommandations de sécurité relatives à Active Directory.", https://www.ssi.gouv.fr/uploads/IMG/pdf/NP_ActiveDirectory_NoteTech.pdf Une recommandation des meilleurs pratiques : https://docs.microsoft.com/fr-fr/windows-server/identity/ad-ds/plan/security-best-practices/best-practices-for-securing-active-directory **Petits QCM, Pour voir quel est le niveau de sécurité de votre Active Directory ? Répondez par oui ou non** Question1 Sans vérifier , pouvez vous me dire combien de comptes sont administrateurs de vos domaine d'Active Directory? Question2 Avez vous la liste de tous les changements réalisés ? par qui ? quoi ? sur votre Active Directory depuis 90 jours? Question3 Avez vous une trace vidéo ou texte de l'ensemble des actions réalisés par vos comptes à pouvoir ? Question4 Êtes vous capable de restaurer toute la forêt de l'Active Directory dans les 24h? Question5 Si un utilisateur utilise un outil pour accéder à la mémoire du PC, êtes vous capable de le détecter ? Question6 Est ce qu'un compte d'administrateur de domaine à la possibilité d'ouvrir une session sur un serveur membre afin de l'administrer ? Question7 Est ce que le compte de service utilisé pour faire tourner vos antivirus sur vos poste de travail est membre du groupe "Domain admins" ? Question8 Est ce que vos comptes administrateurs de domaine utilisent un deuxieme facteur d'authentification pour ouvrir une session ? Question9 Dans votre RACI lié à l'activité de gestion Active Directory, avez vous identifier la notion de Data et services ? Question10 Utilisez vous un systeme de recertification de vos objets GPOs et Security Group sur un intervalle inférieur à 1 ans. Question 11 Connaissez-vous la version du Schéma Active Directory actuellement utilisée ? **Réponse** Question 1 Oui Question 2 Oui Il faut avoir des outils pour suivre les changements ( les outils qui auditent les logs et qui enregistrent un flux vidéos des actions utilisateurs) Question 3 Oui C'est obligatoire pour être habilité PCI DSS Question 4 Oui Question 5 Oui La plus part des attaques ransomware et pour dump les hashs utilisent la ram. Question 6 Non Il faut empêcher absolument un admin de se connecter n'importe où pour eviter qu'un pirate crack le mot de passe de l'admin si par erreur l'admin s'est connecté à un serveur infecté Question 7 Non Question 8 Oui Question 9 Oui Il faut séparer la partie service et data. La partie data c 'est elle qui gère le contenu et la partie service qui gère les privilèges. Question 10 Oui La notion de recertification . Il faut recertifier les GPO ou les objets non utilisé depuis plus de 5ans Question 11 Oui ====== Exemple d'attaque d'un Active Directory via les comptes de service ====== Les antivirus sur l'Active Directory utilisent le compte de services admin qui est executé sur une machine en local. Pour la démo : On se connecte sur une compte local admin de la machine pour ce hack. On creé un service démo comptedeservicetest Dans les options du service (via l'acces à la gestion de service de win) , on met le mot de passe du compte de service) Pour le hack : On rentre dans un invite de command : psexec.exe -s -i -d cmd.exe Le but est d'executer un invite de command uniquement en local on lance l'outil scpd pour cracker le mot de passe d'un utilisateur de service : scpd.exe comptedeservicetest on crack le mot de passe . ====== Les solutions globales pour se protéger : ====== Utiliser des smartcards pour vérifier l'intégrité des identités des utilisateurs Ne pas utiliser un LDAP pour se connecter à un Active Directory mais utiliser un Kerberos pour s'authentifier Limiter les admins Avoir un MFA (Multificator Authentification) , par exemple un token , smartcard; apel téléphonique, .. . Avoir une MFA pour une authentification et pour une action que demande des droits. Par exemple si un compte non admin demande une action pour élever les privilèges il a besoin de MFA. Gérer les privilèges depuis un seul point, chaque groupe d'utilisateur a des rôles dans l'Active Directory . Auditer en temps réel une sessions, Avoir une session vidéo de chaque machine à l'ouverture de session et sur une demande d’augmentation des droits. Limiter les machines qui peuvent se connecter à l'Active Directory .Autoriser dans l'AD que certaines machine à se connecter sur l'Active Directory . ====== Comment réaliser un bon design de votre Active Directory ? ====== Il faut utiliser trois couches qui correspondent à des niveaux de couche de l'Active Directory . Par exemple : la première couche, la couche domain controller ( Domain controller, domain admin) la deuxième couche, les serveurs membres. la troisième couche, les devices (workstation , imprimante , les téléphones ..) Il faut que ces couches n’accèdent pas aux autres couches directement. Certain serveur doivent être dans plusieurs couches Le but est que si on a une couche compromise , elle ne compromet pas tout Par exemple si je suis admin , j'ai 4 comptes un compte admin local et un compte par couche. ====== Se protéger des attaques d'un Active Directory ? ====== ** Se protéger du social engineering** no comment.. Il faut former les utilisateurs.. ** Se protéger de l'élévation de privilége verticale d'un compte** Chiffrer le disque dur Avoir un mot de passe bios Pas d'authentification admin sur Worksation Rotation des mots de Passe Respect de design 3 tiers Aucun user ne doit être admin local . Limiter le nombre de sessions en cache qui se connecte sur la machine Faire du MFA Mettre en place un compte admin comme honey pot. (Mettre une règle dans le système de log qui vérifie des tentative de connexion de ce compte ou de changement de groupe de ce groupe) Avoir un plan B en cas d'attaque. Il y a deux façons de le faire , restaurer via des outils de Microsoft . Ou utiliser un outil tiers pour faire un backup de la forêt. ====== Attaquer un Active directory avec sharphound/bloodhound ====== + Lancer sharphound sur le PC cible + Charger les données de sharphound dans bloodhound + Exécuter des requêtes : hausec: https://hausec.com/2019/09/09/bloodhound-cypher-cheatsheet/ CompassSecurity : https://github.com/CompassSecurity/BloodHoundQueries seajaysec : https://gist.github.com/seajaysec/a4d4a545047a51053d52cba567f78a9b cn-sec : https://cn-sec.com/archives/833160.html ====== Pour aller plus loin ====== **Active-Directory-Exploitation-Cheat-Sheet** : https://github.com/S1ckB0y1337/Active-Directory-Exploitation-Cheat-Sheet **Un très bon siteweb complet sur la sécurité Active Directory** : https://adsecurity.org/ **Recommandations de sécurité relatives à Active Directory :** https://www.ssi.gouv.fr/uploads/IMG/pdf/NP_ActiveDirectory_NoteTech.pdf **Outil pour auditer an Active Directory (Engie) :** https://www.pingcastle.com/ **Outil pour auditer an Active Directory (Airbus Group) :** https://bitbucket.org/iwseclabs/bta **Outil pour auditer an Active Directory (ANSSI):** https://github.com/ANSSI-FR/AD-control-paths **Outil pour auditer an Active Directory ():** https://www.open-scap.org/tools/ **Active Directory & Enterprise Security, Methods to Secure Active Directory, Attack Methods & Effective Defenses, PowerShell, Tech Notes, & Geek Trivia… :** https://adsecurity.org/ **L’administration en silo, Aurélien Bordes , SSTIC – 7 juin 2017**,__Powerpoint__ : https://www.sstic.org/media/SSTIC2017/SSTIC-actes/administration_en_silo/SSTIC2017-Slides-administration_en_silo-bordes.pdf __Video__ : https://static.sstic.org/videos2017/SSTIC_2017-06-07_P02.mp4 **Recommandations de sécurité relatives à Active Directory**, https://www.ssi.gouv.fr/uploads/IMG/pdf/NP_ActiveDirectory_NoteTech.pdf ** OpenScap tutorial (for RedHat)**, https://martin.preisler.me/wp-content/uploads/2016/07/RedHat-Summit2016-OpenSCAP-slides.pdf ** OpenScap tutorial (for Windows)**,https://www.vutbr.cz/www_base/zav_prace_soubor_verejne.php?file_id=181284 **Top 25 Active Directory Security Best Practices** : https://activedirectorypro.com/active-directory-security-best-practices/ **Alsid Directory Security Compliance**: https://alsid.eu/media/Alsid_Directory_Security_Compliance_Datasheet.pdf