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/