PRĂCONISATIONS DE DURCISSEMENT SOUS WINDOWS
Parce que tout casser c'est cool, mais sécuriser c'est mieux !
Voici quelques préconisations de durcissement expliquées simplement, pour bien comprendre leur usage :
Protected Users
Disponible à partir de Windows Server 2012 R2, pour sécuriser les comptes d'administration, l'Active Directory va modifier certains comportements sur les comptes ajoutés au groupe Protected Users :
- Les identifiants ne sont pas mis en cache dans LSASS sur les machines. Sur une machine dĂ©connectĂ©e du rĂ©seau, le cache credential est dĂ©sactivĂ©, il nâest donc pas possible de rĂ©cupĂ©rer le hash MSCacheV2 pour tenter de le bruteforcer.
- Le ticket Kerberos (TGT) est délivré à la connexion de l'utilisateur et il ne sera pas renouvelé automatiquement lorsqu'il devient invalide (4 heures, par défaut sur ces comptes).
- Impossible d'utiliser DES ou RC4 pour la prĂ©-authentification Kerberos, d'utiliser NTLM pour s'authentifier, ni CredSSP, ce qui empĂȘche lâutilisation de Pass-The-Hash.
Source : https://learn.microsoft.com/fr-fr/windows-server/security/credentials-protection-and-management/protected-users-security-group
LAPS
LAPS est un outil permettant de gérer automatiquement le mot de passe du compte « Administrateur » local de toutes les machines de votre domaine. Avec LAPS, le mot de passe est :
- Unique sur chaque poste de travail géré
- Généré aléatoirement
- StockĂ© de maniĂšre sĂ©curisĂ©e dans lâannuaire Active Directory
Source : https://learn.microsoft.com/fr-fr/defender-for-identity/security-assessment-laps
AppLocker
AppLocker permet de crĂ©er des rĂšgles pour dĂ©finir les applications autorisĂ©es Ă ĂȘtre exĂ©cutĂ©es par les utilisateurs sur les machines du domaine. Il est possible de restreindre lâutilisation des applications selon :
- Leur emplacement (par exemple les applications situées dans le répertoire « Program Files » ou dans le dossier natif « Windows »)
- Leur signature Ă©lectronique (par exemple pour nâautoriser que les applications signĂ©es par Microsoft)
- Leurs attributs (par exemple pour nâautoriser que les applications disposant dâun attribut « Editeur » spĂ©cifique)
- Leur somme de contrĂŽle (par exemple pour nâautoriser quâune application dont la somme de contrĂŽle MD5 est dĂ©finie)
Source : https://learn.microsoft.com/fr-fr/windows/security/threat-protection/windows-defender-application-control/applocker/applocker-overview
RunAsPPL
Activable en changeant simplement une valeur dans la base de registre, la protection LSA permet dâajouter le processus LSASS au groupe des Protected Process Light (PPL). Mis en place Ă partir de Windows 8.1 / Server 2012 R2, cette protection a Ă©tĂ© conçue pour empĂȘcher les applications normales, mĂȘme avec des privilĂšges d'administrateur, d'accĂ©der aux processus protĂ©gĂ©s.
De cette façon, il nâest pas possible pour une application standard (Mimikatz ou Procdump par exemple) dâaccĂ©der Ă la mĂ©moire du processus LSASS de maniĂšre simple.
Source : https://learn.microsoft.com/fr-fr/windows-server/security/credentials-protection-and-management/configuring-additional-lsa-protection
Credential Guard
Cette protection permet d'isoler le processus LSASS dans un container virtualisĂ© pour empĂȘcher les autres processus d'y accĂ©der. Disponible dans les Ă©ditions Enterprise 64 bits de Windows 10, la fonctionnalitĂ© utilise Hyper-V.
Lorsque Windows Defender Credential Guard est activĂ©, NTLMv1, MS-CHAPv2, Digest et CredSSP ne peuvent pas utiliser les informations dâidentification de connexion. Par consĂ©quent, lâauthentification ne fonctionne pas avec ces protocoles. Kerberos nâautorise pas non plus la dĂ©lĂ©gation sans contrainte ni le chiffrement DES. Lâactivation sâeffectue via une GPO.
Source : https://learn.microsoft.com/fr-fr/windows/security/identity-protection/credential-guard/credential-guard-how-it-works
LLMNR et NBT-NS
LLMNR (Link-Local Multicast Name Resolution) et NBT-NS (Netbios Name Service) sont deux protocoles de rĂ©solutions de nom de broadcast/multicast qui sont activĂ©s par dĂ©faut, ils sont utilisĂ©s lorsque la rĂ©solution de nom DNS Ă©choue. Lors dâune demande de rĂ©solution DNS via LLMNR, si une rĂ©ponse est transmise, les informations d'identification de l'utilisateur courant sont directement envoyĂ©es au serveur spĂ©cifiĂ©.
Un attaquant peut donc Ă©couter les requĂȘtes LLMNR et transmettre de fausses informations de rĂ©solution afin de capturer une tentative de connexion, qui pourra ĂȘtre bruteforcĂ©e.
La dĂ©sactivation de LLMNR peut sâeffectuer via une GPO. Concernant le protocole NETBIOS, il peut ĂȘtre dĂ©sactivĂ© dans les propriĂ©tĂ©s de la carte rĂ©seau.
Source : https://tmsecurity.fr/viewpost.php?X-n0=26
Signature SMB
La signature SMB est un mĂ©canisme de sĂ©curitĂ© dans le protocole de partage de fichiers SMB. Le principe de cette protection consiste Ă ce que lors dâun Ă©change sur le protocole SMB, le client place un hachage de lâintĂ©gralitĂ© du message dans le champ de signature de lâen-tĂȘte SMB. Si une personne modifie un message pendant sa transmission, le hachage ne correspond pas, indiquant que les donnĂ©es ont Ă©tĂ© falsifiĂ©es.
Cette protection permet dâempĂȘcher une retransmission dâune authentification sur le protocole SMB, plus connue sous le nom de « relai dâauthentification SMB ». Une GPO permet dâactiver cette protection.
Source : https://learn.microsoft.com/fr-fr/troubleshoot/windows-server/networking/overview-server-message-block-signing
Restriction des délégations Kerberos
La dĂ©lĂ©gation dâauthentification Kerberos permet Ă un serveur dĂ©lĂ©guĂ© de sâauthentifier au nom dâun autre utilisateur auprĂšs dâun ou plusieurs serveurs du domaine. Une dĂ©lĂ©gation dâauthentification Kerberos peut et doit ĂȘtre restreinte Ă un SPN prĂ©cis pour assurer sa fonction, et ne doit donc pas ĂȘtre dĂ©finie « sans contrainte », auquel cas un attaquant pourrait prendre le contrĂŽle du serveur autorisĂ© pour la dĂ©lĂ©gation et usurper une identitĂ© sur lâensemble des serveurs du domaine.
Source : https://learn.microsoft.com/fr-fr/troubleshoot/windows-server/identity/configure-kerberos-constrained-delegation
Stratégie de complexité de mots de passe
Il est possible via les stratĂ©gies de groupe de paramĂ©trer une exigence de complexitĂ© pour la dĂ©finition des mots de passe du domaine. Cette protection empĂȘche un utilisateur dâutiliser les donnĂ©es contenues dans son nom (dans les champs samAccountName et displayName prĂ©cisĂ©ment) et force lâutilisation de chiffres et de caractĂšres non alphanumĂ©riques.
Cette protection peut ĂȘtre combinĂ©e Ă une stratĂ©gie de longueur de mot de passe minimale Ă respecter pour assurer une complexitĂ© de mots de passe accrue (Notamment pour les SPN).
Source : https://learn.microsoft.com/fr-fr/windows/security/threat-protection/security-policy-settings/password-must-meet-complexity-requirements
Pré-authentification Kerberos
La prĂ©-authentification Kerberos permet de s'assurer que l'utilisateur sâauthentifie lors d'une demande de jetons TGT. Sans prĂ©-authentification il est possible d'obtenir un jeton TGT chiffrĂ© avec une clĂ© de session dĂ©rivĂ©e du mot de passe de lâutilisateur. Cette clĂ© de session peut donc ĂȘtre bruteforcĂ©e par un attaquant pour tenter de trouver le mot de passe de lâutilisateur.
Par défaut, tous les comptes utilisateur imposent la pré-authentification Kerberos.
Source : https://www.cert.ssi.gouv.fr/uploads/guide-ad.html#kerberos_properties_preauth_priv
DĂ©sactivation du protocole IPv6
Le protocole IPv6 peut ĂȘtre utilisĂ© par un attaquant pour provoquer de maniĂšre triviale des dĂ©nis de service (RA attack) et/ou de lâinterception de trafic rĂ©seau (MiTM6) pouvant permettre de rĂ©cupĂ©rer ou de relayer des tentatives dâauthentification. Souvent dĂ©laissĂ©, il est prĂ©fĂ©rable de dĂ©sactiver ce protocole sâil nâest pas utilisĂ©.
Source : https://www.youtube.com/watch?v=IMos_Z2SdEg
DĂ©sactivation du protocole WPAD
Ăgalement appelĂ© « Autoproxy », ce protocole permet Ă un client de navigateur web de dĂ©couvrir automatiquement le proxy Ă utiliser pour se connecter Ă Internet. Un attaquant pourrait annoncer une configuration de proxy lui permettant dâintercepter le trafic rĂ©seau dâun poste et potentiellement rĂ©cupĂ©rer des tentatives dâauthentification.
Source : https://learn.microsoft.com/fr-fr/windows/win32/winhttp/winhttp-autoproxy-support
DĂ©sactivation de Windows Script Host
Windows Script Host permet dâexĂ©cuter des scripts dĂ©veloppĂ©s en Batch, en VBScript ou encore en Jscript. Il existe 2 versions de WSH : une version graphique (Wscript.exe) et une version en ligne de commande (Cscript.exe). Souvent utilisĂ©s par les groupes de Ransomwares (TeslaCrypt, LockyâŠ) il est prĂ©fĂ©rable de dĂ©sactiver ces outils sâils ne sont pas utilisĂ©s.
La dĂ©sactivation de ces outils peut sâeffectuer via la base de registre de Windows.
Source : https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc738350(v=ws.10)
DĂ©sactivation du protocole NTLM
Dans un environnement Active Directory, le protocole dâauthentification NTLM peut ĂȘtre remplacĂ© par le protocole Kerberos pour sĂ©curiser les Ă©changes. Ce remplacement peut sâeffectuer selon plusieurs configurations : Remplacement complet, Remplacement pour les comptes du domaine, Remplacement pour les serveurs du domaine ou Remplacement pour les comptes de domaine vers les serveurs du domaine.
Les attaques ciblant le protocole dâauthentification NTLM peuvent ainsi ĂȘtre Ă©liminĂ©es, notamment les relais dâauthentification NTLM et les interceptions dâauthentification.
Source : https://learn.microsoft.com/fr-fr/windows/security/threat-protection/security-policy-settings/network-security-restrict-ntlm-ntlm-authentication-in-this-domain
DĂ©sactivation du chiffrement RC4 dans Kerberos
Kerberos supporte plusieurs algorithmes de chiffrement pour stocker les condensats des secrets des comptes utilisateurs du domaine : RC4, AES128 et AES256. Il est possible de dĂ©sactiver lâutilisation de lâalgorithme RC4 afin de durcir le chiffrement et rentre les attaques par bruteforce beaucoup plus longues et complexes.
Source : https://learn.microsoft.com/fr-fr/windows-server/security/kerberos/preventing-kerberos-change-password-that-uses-rc4-secret-keys
DĂ©sactivation du protocole SMBv1
Une vulnĂ©rabilitĂ© dans le protocole SMBv1 au niveau dâune extension permettant la compression des flux, activĂ©e par dĂ©faut, permet Ă un attaquant de provoquer une exĂ©cution de code arbitraire Ă distance sans authentification (MS17-010 EternalBlue).
Il est conseillĂ© de dĂ©sactiver ce protocole sur lâensemble de votre infrastructure.
Source : https://learn.microsoft.com/fr-fr/windows-server/storage/file-server/troubleshoot/detect-enable-and-disable-smbv1-v2-v3
DĂ©sactivation du spouleur dâimpression
De multiples vulnĂ©rabilitĂ©s non patchĂ©es dans le service spouleur dâimpression permettent de forcer une authentification avec le compte machine dâun poste. Afin de rĂ©duire la surface dâattaque, il est conseillĂ© de dĂ©sactiver le service sur les serveurs qui nâinterviennent pas en tant que serveur dâimpression sur le domaine.
Source : https://learn.microsoft.com/fr-fr/windows/win32/printdocs/print-spooler
DĂ©sactivation de la lecture de lâannuaire LDAP
Par dĂ©faut les utilisateurs du domaine peuvent Ă©numĂ©rer et lister lâensemble des objets de lâannuaire du domaine. Afin dâĂ©viter quâun attaquant possĂ©dant ces privilĂšges ne puisse identifier des vulnĂ©rabilitĂ©s de conception lui permettant dâobtenir plus de privilĂšges, il est possible dâappliquer des refus de permissions de lecture sur certains groupes et/ou objets pour un utilisateur ou un groupe dĂ©fini.
Source : https://social.technet.microsoft.com/wiki/contents/articles/6130.how-to-hide-objects-in-active-directory-from-specific-users.aspx
DĂ©sactivation des anciennes versions de Powershell
Microsoft a implĂ©mentĂ© la fonctionnalitĂ© AMSI, basĂ©e sur Windows Defender, dans les nouvelles versions de Powershell, permettant de dĂ©tecter lâexĂ©cution de scripts malveillants. Dans les anciennes versions de Powershell, parfois encore prĂ©sentes sur certains postes, cette protection nâest pas intĂ©grĂ©e.
Source : https://learn.microsoft.com/fr-fr/windows/win32/amsi/how-amsi-helps
Activation de la transcription Powershell
Microsoft permet dans PowerShell de crĂ©er automatiquement une transcription de toutes les commandes saisies, afin de pouvoir auditer lâactivitĂ©. Activable par une stratĂ©gie de groupe, cette protection permet de rapidement dĂ©tecter des exĂ©cutions de commandes suspectes.
Source : https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_group_policy_settings
Restriction du mode de langage Powershell
Toutes les sessions PowerShell ont un mode langage, permettant dâutiliser diffĂ©rents Ă©lĂ©ments de langage dans la session :
- Dans le mode « FullLanguage », tous les éléments sont autorisés.
- Dans le mode « RestrictedLanguage », les utilisateurs peuvent exécuter des commandes (applets de commande, fonctions, commandes CIM et workflows) mais ne sont pas autorisés à utiliser des blocs de script.
- Dans Le mode « ConstrainedLanguage », toutes les applets de commande et tous les éléments de langage PowerShell sont autorisés, mais les types autorisés sont limités.
- Dans le mode « NoLanguage », seules les commandes de base sont autorisées.
Source : https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_language_modes?view=powershell-7.3
Activation des stratĂ©gies dâaudit
Afin de permettre une identification de la provenance plus rapide en cas de compromission, il est possible dâactiver lâaudit de plusieurs catĂ©gories dâĂ©vĂšnements : La connexion aux comptes, la gestion des comptes, lâaccĂšs aux objets, les Ă©vĂšnements systĂšme⊠etc.
En complĂ©ment, un systĂšme de centralisation des logs peut ĂȘtre mis en place pour une durĂ©e de rĂ©tention plus longue (comme WinSyslog ou Graylog par exemple).
Source : https://learn.microsoft.com/fr-fr/windows/security/threat-protection/auditing/basic-security-audit-policies
Bloquer les appels de rĂ©plication de lâannuaire LDAP
Un attaquant disposant des privilĂšges dâadministration sur un contrĂŽleur de domaine pourrait effectuer des requĂȘtes de rĂ©plication dâannuaire (DCSync) en intĂ©grant un second contrĂŽleur de domaine fantĂŽme (DCShadow) afin de contourner les Ă©ventuels systĂšmes de dĂ©tection.
Ces requĂȘtes sâeffectuent au travers du protocole RPC sur TCP en se connectant Ă des UUIDs spĂ©cifiques (DRSUAPI et DSAOP). Il est possible de crĂ©er des filtres de blocage au niveau du serveur RPC afin dâempĂȘcher la communication au travers de ce canal (via la commande « netsh rpc filter »).
Source : https://learn.microsoft.com/fr-fr/windows/win32/rpc/load-balancing-best-practices
Activation de lâisolation du noyau
Cette protection permet dâutiliser la virtualisation matĂ©rielle (Virtualization-Based Security - VBS) pour isoler les processus systĂšmes et ajoute Ă©galement une protection de lâintĂ©gritĂ© de la mĂ©moire.
Certains pilotes de matériel ou logiciel qui nécessitent un accÚs exclusif au matériel de virtualisation ne sont en revanche pas compatibles avec la fonctionnalité et peuvent causer des ralentissements ou des plantages.
Source : https://support.microsoft.com/fr-fr/windows/protection-des-appareils-dans-s%C3%A9curit%C3%A9-windows-afa11526-de57-b1c5-599f-3a4c6a61c5e2
Pour aller plus loin :
https://www.linkedin.com/video/event/urn:li:ugcPost:7001496758996324353/