J'ai décidé de compromettre votre infrastructure.

Oui, je suis passé du côté obscur et j'ai figuré que tant que je me fais pas pogner, il y a plus d'argent et de réputation à faire en black hat qu'en blue hat.

Par où je commence. Non, pas un domain admin. Trop évident.

Un petit net groups /domain dumpé dans un texte et je commence à scanner la liste pour trouver quelque chose d'intéressant. Oh. J'en ai un. BackupAdmins. Ça sent bon. Ce n'est pas le groupe Backup Operators par défaut, qui est souvent monitoré. Qui est dedans? Voyons voir. net group BackupAdmins /domain. Cinq membres. Quatre ont l'air de comptes privilégiés. t0_johnsmith, ça sent le domain admin. Le dernier compte par contre. janedoh. Pas de préfixe, rien. Je vais la vérifier. net user janedoh /domain. Comme je pensais. Un compte utilisateur standard. Regardez-moi toutes ces listes de distribution.

Elle, c'est mon entrée.

Une semaine de phishing patient plus tard, je suis sur la session de janedoh. Son jeton me donne accès à la console de sauvegarde. Mieux qu'un Domain Admin honnêtement, parce que personne ne surveille ce siège. Je navigue dans le catalogue de sauvegardes. Les voilà. Les DC. C'est sûr que je les prends. Mais ce que je veux vraiment est deux sièges plus loin. L'AC. PIXA-ROOT-CA. Sauvegarde système complète. 47 Go.

Je télécharge ça lentement. Des morceaux sur plusieurs jours, mélangés au trafic normal des jobs de sauvegarde. Rien ne crie. Rien n'alerte. Je remonte tout chez moi, je monte le VHDX, et la voilà sur le disque système. La clé privée de l'AC, exportable, à moi pour faire ce que je veux. Maintenant je signe des certificats que toute votre forêt va approuver. Je m'émets un certificat administrateur au nom de n'importe quel domain admin que je veux être. Je rentre dans votre environnement comme lui. Je suis chez vous et vous le savez pas encore.

Fin de la scène.

Si vous lisez mon histoire, sachez que oui, tout ce que je viens de faire fonctionne dans bien des environnements et c'est une des premières étapes prises par les attaquants pour trouver une porte d'entrée. Bon, certains outils (Microsoft Defender for Identity, par exemple) vont signaler les utilisateurs qui font de la reconnaissance comme ça quand ils n'ont aucune raison de le faire, mais pour les fins de l'article, on va prétendre que j'aurais eu à être plus discret.

J'ai ciblé BackupAdmins parce que les chances sont très élevées que ce groupe ait accès à toutes les sauvegardes de votre organisation. J'aurais aussi pu chercher des groupes du genre storage admin. Au final, je cherche des fichiers de sauvegarde, des VMDK, des VHDX, ou n'importe quel autre fichier de système virtuel. N'importe lequel est généralement une mine d'or.

Je reviens à la sauvegarde du DC dans une minute. Le vrai prix, c'était l'AC.

Laissez-moi vous demander. Quand vous faites un snapshot, ou quand votre utilitaire de sauvegarde prend une sauvegarde système complète, où se retrouve la clé privée de votre AC? J'espère que vous répondez « elle est sur mon HSM, je suis pas inquiet ». Si vous ne pouvez pas dire ça, alors la réalité c'est que la clé privée de votre AC existe dans chaque snapshot, dans chaque sauvegarde que vous gardez encore. Chacune d'elles est une opportunité pour quelqu'un comme moi.

Les agents de sauvegarde sur les systèmes Tier 0

Les agents de sauvegarde et les logiciels tiers sur les systèmes Tier 0 méritent leur propre conversation, et je vais pas m'éterniser ici. Sachez juste que chaque morceau de logiciel installé sur un système Tier 0 augmente l'empreinte de risque de ce système, souvent d'une façon que le vendeur n'a jamais documentée et que le client n'a jamais révisée. Quand vous installez un agent de sauvegarde sur une AC, vous acceptez que l'agent est maintenant Tier 0 par association, que son canal de mise à jour est un canal Tier 0, que sa cache de credentials est un secret Tier 0, et que la brèche de son vendeur, c'est votre brèche. Peu d'organisations font cette comptabilité consciemment.

Alors comment on fait pour vraiment sauvegarder les systèmes qui comptent?

Contrôleurs de domaine

Microsoft suggère depuis longtemps de faire des sauvegardes d'état système de vos contrôleurs de domaine avec l'outil Sauvegarde Windows Server intégré. Pointez la destination de la sauvegarde vers un autre serveur ou un partage de fichiers externe. Ayez un utilitaire de sauvegarde Tier 0 dédié qui ramasse les fichiers de là. Le DC écrit la sauvegarde. Quelque chose d'autre la déplace. Pas d'agent sur le DC.

Autorités de certification

Je vous encourage fortement à ne JAMAIS faire de sauvegarde système complète d'une AC émettrice à moins d'avoir un HSM en place. Et même avec un HSM, ne faites pas de sauvegarde système si vous faites aussi de l'archivage de clés privées. L'archivage de clés privées sauvegarde les clés privées des utilisateurs dans la base de données de l'AC, et vous voulez pas que celles-là tombent entre les mauvaises mains non plus.

Du point de vue criticité, je dis à mes clients tout le temps que je peux les garder fonctionnels avec seulement la clé privée de l'AC pour la récupération. La clé privée seule me permet de signer des CRL fraîches, ce qui empêche chaque certificat déjà émis d'être traité comme non approuvé pendant que la prochaine CRL est en retard. Les choses continuent de fonctionner. Les certs existants se valident. Les lumières restent allumées. La nouvelle émission, ça demande une restauration complète — vous allez avoir besoin de la base de données, de la configuration registry, de la liste des modèles — mais le feu immédiat (une forêt pleine d'appareils auth-cert sur le point de tomber du réseau parce que la CRL a expiré) n'arrive pas si vous avez la clé privée et pouvez signer une nouvelle CRL.

Donc la plupart des clients avec qui j'ai travaillé font une sauvegarde au niveau applicatif de l'AC. Pas un processus manuel. Scripté, automatisé, en tâche planifiée. Le script prend :

  • La ruche registry certsvc et tout son contenu
  • Le fichier CAPolicy.inf, s'il en existe un
  • Des copies des certificats de l'AC (publics, courants et historiques)
  • Des copies des CRL que l'AC a émises
  • Une liste des modèles publiés sur l'AC
  • La base de données de l'AC

La clé privée n'est jamais sauvegardée par cette tâche. Les fichiers de sortie atterrissent dans un partage de fichiers que l'utilitaire de sauvegarde Tier 0 peut venir chercher. J'ai vu des versions de ce script écrites comme batch, comme VBS, et comme PowerShell. Vous pouvez vous amuser à en créer un vous-même.

Ou vous pouvez télécharger la version PowerShell que j'ai utilisée chez mes clients depuis des années, gratuitement, à brkrops.ca/download.html. L'article que vous venez de lire existe parce que quelqu'un a téléchargé ce script cette semaine, et je me suis dit que le contexte derrière était dû depuis longtemps.