Awesome Durcissement de Domaine Windows 
Une liste sélectionnée d’incroyables techniques de durcissement de la sécurité pour Windows.
Créée par gepeto42 et PaulWebSec mais fortement inspirée des recherches de PyroTek3 !
Sommaire
Ce document résume les informations relatives à la conférence DerbyCon de Pyrotek et Harmj0y intitulée « 111 Attacking EvilCorp Anatomy of a Corporate Hack ». La vidéo et les diapositives sont disponibles ci-dessous.
Il intègre également les techniques de durcissement nécessaires pour prévenir d’autres attaques, y compris les techniques présentées par gepeto42 et joeynoname lors de leur conférence THOTCON 0x7.
Quelque chose manque ? Créez une Pull Request et ajoutez-le.
Point d’appui initial
- Aucun effort de durcissement ne doit se faire au détriment de la mise à niveau des systèmes d’exploitation.
- Déployez EMET sur les postes de travail (fin de vie en juillet 2018 – envisagez de conserver EMET pour Windows 7 mais privilégiez les mises à niveau vers Windows 10 et Edge).
- Utilisez AppLocker pour bloquer l’exécution de contenu à partir des emplacements utilisateur (dossier personnel, chemin de profil, temp, etc.).
- Durcissement contre les attaques DMA ? Par ici et un article intéressant de Synacktiv sur les attaques DMA
- Gérez l’exécution de PowerShell via AppLocker ou le mode de langage contraint.
- Activez la journalisation PowerShell (v3+) et la journalisation des processus de commande.
- Bloquez les macros Office (Windows et Mac) sur le contenu téléchargé depuis Internet.
- Déployez des outils de sécurité qui surveillent les comportements suspects. Envisagez d’utiliser WEF pour transmettre uniquement les événements intéressants à votre SIEM ou à votre système de journalisation.
- Limitez les capacités en bloquant/restreignant les pièces jointes via e-mail/téléchargement :
- Extensions d’exécutables :
- (ade, adp, ani, bas, bat, chm, cmd, com, cpl,
crt, hlp, ht, hta, inf, ins, isp, job, js, jse, lnk, mda, mdb,
mde, mdz, msc, msi, msp, mst, pcd, pif, reg, scr, sct, shs,
url, vb, vbe, vbs, wsc, wsf, wsh, exe, pif, etc.)
- Fichiers Office prenant en charge les macros (docm, xlsm, pptm, etc.)
- Assurez-vous que ces types de fichiers sont bloqués.
- Bloquez les extensions de fichiers Excel oubliées/inutilisées : IQY, SLK
- Changez le programme par défaut pour tout ce qui s’ouvre avec le scripting Windows afin d’utiliser le Bloc-notes (testez d’abord !)
- bat, js, jse, vbe, vbs, wsf, wsh, hta, vbs, etc.
- GPO : User Configuration -> Preferences -> Control Panel Settings -> Folder Options -> Open With
- Action : Remplacer
- Extension de fichier : (extension)
- Programme associé : %windir%\system32\notepad.exe
- Définir comme programme par défaut : Activé.
- Prévenir l’activation des packages OLE dans Office avec le paramètre de registre PackagerPrompt
Reconnaissance
- Déployez Windows 10 et limitez l’énumération des groupes locaux.
- Limitez la communication entre postes de travail.
- Renforcez la sécurité des GPO sensibles.
- Évaluez le déploiement d’analyses comportementales (Microsoft ATA).
Prévention BloodHound :
- Utilisez NetCease pour empêcher l’énumération de sessions non privilégiées.
- Utilisez Samri10 pour empêcher la collecte d’administrateurs locaux non privilégiés (ce correctif existe déjà dans Windows 10 1607 et versions ultérieures).
Mouvement latéral
- Configurez une GPO pour empêcher les comptes locaux de s’authentifier sur le réseau (KB2871997).
En plus de cette KB, l’article de Countercept recommande deux autres modifications du registre :
- Définissez
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\TokenLeakDetectDelaySecs = 30. Cela effacera les informations d’identification des utilisateurs déconnectés après 30 secondes (en imitant le comportement de Windows 8.1+)
- Définissez
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\WDigest\UseLogonCredential = 0. Cela empêchera le stockage des informations d’identification Wdigest en mémoire, là encore comme c’est le cas par défaut pour Windows 8.1+.
- Assurez-vous que les mots de passe des comptes administrateur locaux sont automatiquement modifiés (Microsoft LAPS) et supprimez les comptes administrateur locaux supplémentaires.
- Limitez la communication entre postes de travail (Pare-feu Windows).
- Testez psexec avec des identifiants valides entre deux postes de travail. Si cela fonctionne, vous avez un problème de mouvement latéral.
Élévation de privilèges
- Supprimez les fichiers contenant des mots de passe dans SYSVOL (y compris GPP).
- Assurez-vous que les administrateurs ne se connectent pas à des systèmes non fiables (postes de travail classiques) en configurant des attributions de droits utilisateur REFUSER avec des GPO.
- Fournissez des postes de travail à accès privilégié ou PAW pour tout travail hautement privilégié. Ceux-ci ne doivent jamais avoir accès à Internet.
- Utilisez des Managed Service Accounts pour les comptes de service quand c’est possible (FGPP)
- Pour les systèmes qui ne prennent pas en charge les Managed Service Accounts, déployez une stratégie de mot de passe affinée pour garantir que les mots de passe dépassent 32 caractères.
- Assurez-vous que tous les ordinateurs utilisent NTLMv2 et Kerberos, refusez LM/NTLMv1.
Protéger les identifiants d’administration