Une conférence proposée par Matthieu Trivier & Pierre Normand
La remise en route d’une infrastructure saine n’est que la première étape dans la récupération après compromission d’un Active Directory.
Le traitement de l’identité en elle-même, reste le défi le plus important.
Rejoignez Matthieu et Pierre dans le cadre de cette session Live pour découvrir comment les solutions et les services Semperis peuvent vous aider dans cette situation.
Nouvelle approche pour étendre le zéro trust à Active Directory
Live Action : assistez à la récupération d’un AD compromis
1. 24 octobre 2023 - PARIS
5ème édition
@IdentityDays
#identitydays2023
2. Live Action : assistez à la récupération
d’un AD compromis
Matthieu Trivier
Director of Pre-Sales @ Semperis
24 octobre 2023 - PARIS
Identity Days 2023
Pierre Normand
Senior Solutions Architect @ Semperis
3. Matthieu TRIVIER
Director of Pre-Sales @ Semperis
Depuis 15 ans, je discute Identité et Résilience
avec ceux qui veulent bien m’écouter…
Mais aussi sneakers et maison autonome, pour ceux
qui préfèrent un sujet plus léger J
Identity Days 2023
Pierre Normand
Senior Solutions Architect @ Semperis
Après 12 ans de Consulting autour des
technologies Microsoft et Identités,
aujourd’hui avant-vente chez Semperis.
Également formateur MCT.
« Une bonne préparation et défense c’est primordial,
comme au Rugby, sinon le match est déjà perdu ! ».
24 octobre 2023 - PARIS
4. • Rappel de la session 2022 et contexte
• La maison hantée, du fun au kilomètre !
• C’est pas tout, mais on avait dit Live Action…
• L’identité, le sujet critique
AGENDA DE LA CONFÉRENCE
Identity Days 2023
24 octobre 2023 - PARIS
5. Rappel de la session 2022 et contexte
SEMPERIS.COM
7. SEMPERIS.COM
Quelques exemples de techniques utilisées:
• SIDHistory
• PrimaryGroupID
• AdminSDHolder
• ManagedBy
• DNSAdmins abuse
Le backdooring, deuxième risque majeur après la réinfection par un malware.
Mais aussi :
• Nested Groups
• ACL/ACE Abuse
• SYSVOL infection
Problèmes de configuration unitaires
aka « Indicateurs de compromission»
Chemins d’attaque résiduels
10. SEMPERIS.COM
• Un nouveau scenario proposé par Semperis – pour nos partenaires et nos clients
• Vous entrez dans un environnement totalement compromis et chiffré
• L’attaquant a laissé un certain nombre de « fantômes » avant de quitter la maison.
• Faites appel aux outils Semperis pour restaurer l’environnement
• Combiner vos connaissances et les outils pour attraper les fantômes
11. Days 1 3
2 4 5
AD Backup
AD Backup Vulnerability-
Analysis
AD Hardening
Compromised
Network
Isolated
Network
Cut-Over
New Servers
& clean OS
Compromised
AD
Shutdown of
ALL PROD DCs
AD Forest
Recovery
Brought back
to Production
Re-Start of ALL Systems so they
would safely re-connect to the clean AD!
You’ve been breached !!!
AD objects still
„contaminated“
Decision
Clean &
secure AD
12. PHASE I – Spin up a SAFETY NET for AD
Days 1 3
2 4 5
AD Backup
AD Backup
Compromised
Network
Isolated
Network
Cut-Over
New Servers
& clean OS
AD objects still
„contaminated“
Compromised
AD
Shutdown of
ALL PROD DCs
AD Forest
Recovery
Brought back
to Production
Re-Start of ALL Systems so they
would safely re-connect to the clean AD!
Vulnerability-
Analysis
AD Hardening
Decision
Clean &
secure AD
13. Days 1 3
2 4 5
Compromised
Network
Isolated
Network
Cut-Over
New Servers
& clean OS
Compromised
AD
Shutdown of
ALL PROD DCs
AD Forest
Recovery
Brought back
to Production
Re-Start of ALL Systems so they
would safely re-connect to the clean AD!
AD Backup
AD Backup
PHASE II – AD Vulnerability Analysis
AD objects still
„contaminated“
Vulnerability-
Analysis
AD Hardening
Decision
Clean &
secure AD
14. Days 1 3
2 4 5
AD Backup
AD Backup
Compromised
Network
Isolated
Network
Cut-Over
New Servers
& clean OS
Compromised
AD
Shutdown of
ALL PROD DCs
AD Forest
Recovery
Brought back
to Production
Re-Start of ALL Systems so they
would safely re-connect to the clean AD!
AD objects still
„contaminated“
Vulnerability-
Analysis
AD Hardening
Decision
Clean &
secure AD
PHASE III – Divide and Conquer!
15. Days 1 3
2 4 5
AD Backup
AD Backup
Compromised
Network
Isolated
Network
Cut-Over
New Servers
& clean OS
Clean &
secure AD
Compromised
AD
Shutdown of
ALL PROD DCs
AD Forest
Recovery
Brought back
to Production
Re-Start of ALL Systems so they
would safely re-connect to the clean AD!
AD objects still
„contaminated“
Vulnerability-
Analysis
AD Hardening
Decision
PHASE IV – Bring hardened AD back to PROD
17. • Une compilation des 9 backdoors les plus retrouvées lors de nos réponses à incident.
• Pierre a exécuté le script de compromission
• Matthieu va s’amuser à chercher… et il aime ça J
20. SEMPERIS.COM
• Les techniques d’attaques peuvent être extrêmement complexes:
• DCShadow ? (https://www.dcshadow.com/)
• Diamond Ticket ? (https://www.semperis.com/blog/a-diamond-ticket-in-the-ruff/)
• Malheureusement, souvent les « techniques » les plus simples suffisent
• Permissions excessives
• Mauvaise hygiène de mots de passe
• Utilisation de compte d’administration sur les postes de travail (Pass-The-Hash)
• Une fois à l’intérieur, les attaquants ne cherchent plus à se compliquer la vie
• Tellement de « clients potentiels » qu’ils ne perdent pas de temps à faire des choses complexes (sauf exceptions)
et font de la masse.
21. SEMPERIS.COM
• Pourquoi est-ce un risque ?
Ø Cela veut dire que tous les objets de l’AD ont tous
les droits sur le contenu du conteneur « Users »,
donc imaginez ce qu’il est possible de faire…
• Comment remédier ?
ü Retirer l’ACE « Full control » pour « Everyone » sur le
container « Users »
« Everyone » dispose du droit « Full control » sur le conteneur « Users »
22. SEMPERIS.COM
• Pourquoi est-ce un risque ?
Ø Être propriétaire d’un contrôleur de domaine
permet d’avoir le contrôle total sur l’objet et
pouvoir y faire tout changement souhaité
• Comment remédier ?
ü Corriger le propriétaire de l’objet machine du DC
ciblé, et remettre uniquement un groupe Tier0
approprié tel que « Domain Admins », « Enterprise
Admins », « Administrators », …
L’attaquant est « DC owner »
23. SEMPERIS.COM
• Pourquoi est-ce un risque ?
Ø De voir tout ce qui est opéré comme changement dans
l’AD
Ø En simulant le comportement d'un (FAUX)
contrôleur de domaine et en demandant aux autres
contrôleurs de domaine (LEGITIMES) de transmettre
les changements ([MS-DRSR] DsGetNCChanges)
Ø Par défaut uniquement les groupes « Domain
Admins », « Enterprise Admins », « Administrators »,
et « Domain Controllers » disposent de ce droit.
• Comment remédier ?
ü Retirer les ACL « Get Changes » du compte de
l’attaquant sur la racine de l’AD
L’attaquant dispose des droits permettant l’attaque « DCSync »
24. SEMPERIS.COM
• Pourquoi est-ce un risque ?
Ø L’attribut « PrimaryGroupID » sur un utilisateur octroie les
permissions du groupe correspondant sans en être membre.
• Comment remédier ?
ü Remettre la valeur par défaut « 513 » qui correspond à « Domain
Users ».
L’attaquant dispose de la valeur « 548 » (« AccountOperator ») dans son attribut « PrimaryGroupID ».
25. SEMPERIS.COM
• Pourquoi est-ce un risque ?
Ø Gérer les membres d’un groupe permet à tout
moment de retirer ou ajouter des membres dans ce
groupe.
• Comment remédier ?
ü Vider la valeur de l’attribut « ManagedBy »… si vous
pouvez la voir :-)
Ø Et si en plus on cache la lecture de cet attribut…
L’attaquant peut gérer les membres d’un groupe via l’attribut « ManagedBy »
26. SEMPERIS.COM
• Pourquoi est-ce un risque ?
Ø L’attribut « SIDHistory » a été conçu par Microsoft pour les
migrations, afin de renseigner la valeur des SID source et
permettre la portabilité des permissions pendant la migration
vers la cible.
Ø En injectant dans l’attribut « SIDHistory » la valeur d’un compte
ou groupe à privilège, on s’octroie les permissions de ce dernier.
• Comment remédier ?
ü Vider les valeurs de l’attribut « SIDHistory ».
L’attaquant dispose des droits « Enterprise Admins » via l’attribut « SIDHistory »
27. SEMPERIS.COM
• Pourquoi c’est un risque ?
Ø Être propriétaire d’un groupe permet de le gérer, notamment ses
membres
Ø Si ce groupe fait partie d’autres groupes, et plus particulièrement de
groupes à privilèges, cela permettra d’octroyer des privilèges via
l’imbrication de groupes.
• Comment remédier ?
ü Vérifier l’imbrication des groupes membres des groupes à priv.
ü Corriger le propriétaire du/des groupe(s)
L’attaquant est propriétaire d’un groupe, lui même membre d’un groupe à privileges.
28. SEMPERIS.COM
• Pourquoi est-ce un risque ?
Ø Une GPO cachée passera sous les « radars », et ne sera visible « que » par
l’attaquant
Ø Si en plus, la GPO a un nom « quasi » identique à l’originale, cela permettra
de « tromper visuellement » lors de son activation
• Comment remédier ?
ü Supprimer la GPO
Ø Un admin ne voit pas la GPO cachée…
Ø Par contre si on ouvre GPMC
avec le compte de l’attaquant
Ø Nom + ID différent
de la GPO originale !
Partie 1 : L’attaquant a créé une GPO cachée
29. SEMPERIS.COM
• Pourquoi est-ce un risque ?
Ø Le droit « Write gPLink » permet de modifier l’ID de la GPO appliquée à cet
objet
Ø Cela permet à un attaquant de pouvoir changer la GPO appliquée aux DCs. Si
en plus il a la main sur la GPO…
• Comment remédier ?
ü Retirer l’ACL « Write gPLink »
Partie 2 : L’attaquant peut gérer l’attribut « gPlink » de l’OU « Domain Controllers »
30. SEMPERIS.COM
• Pourquoi est-ce un risque ?
Ø Utiliser les GPOs permet de publier facilement et rapidement des configurations. Ce qui est « facile » pour attaquer une partie ou
l’intégralité d’un SI lié à Active Directory
Ø Utiliser le SYSVOL pour y mettre des fichiers exécutables, permet aux attaquant de propager facilement et rapidement leurs outils (via les
GPOs), généralement pour :
Ø Reprendre facilement le contrôle
Ø Chiffrer, Voler des informations, …
• Comment remédier ?
ü Supprimer l’exécutable du SYSVOL
ü Vérifier l’intégralité des scripts ayant été récemment modifié…
Ø Et si en plus cet exécutable est attaché à la « Default Domain Policy » …
L’attaquant a placé un fichier exécutable dans le SYSVOL
32. SEMPERIS.COM
N° Backdoor Remédiation Outils
#1 Security Principal « Everyone » has « FullControl » right on the « Users »
container
Clean-up ACL
#2 Attacker is « DC owner » Change DC owner to T0 Admins Group (Bultin)
#3 Attacker has rights on root domain for « DCSync » attack Clean-up ACL
#4 Attacker has « 548 » value in « PrimaryGroupID » (« AccountOperator ») Replace « PrimaryGroupID » by default value
#5 Attacker can manage members of a private group by « ManagedBy » Clean-up ACL & Private Group’s « ManagedBy »
attribut
#6 Attacker has « Enterprise Admins » rights by « SIDHistory » attribut Clean-up « SIDHistory » attribut
#7 Attacker has « Schema Admins » rights by Nested Owner Check Nested Goups and fix owners
#8 • Attacker created a hidden GPO, only visible by him & SYSTEM
• Attacker can manage the “gPlink” attribute of the “Domain
Controllers” OU
Remove hidden GPO & ACL
#9 Attacker injected a script in SYSVOL to retake the hand when he wants Remove file in SYSVOL