Kerberoasting, Active Directory à la rôtissoire…

kerberoasting

Salut a tous aujourd’hui on va voir une nouvelle technique pour récupérer puis casser des mots de passe dans une infrastructure Active Directory :  le Kerberoasting. Dans la langue de Molière ça donnerai « faire rôtir kerberos » et c’est franchement efficace si les administrateurs de l’AD n’appliquent pas des mots de passes complexes sur les comptes de services. Ça consiste en quoi ? simplement à demander et récupérer des TGS à un KDC pour ensuite casser la protection cryptographique de ces TGS et ainsi récupérer le mot de passe du service associé à ce TGS. On va voir tout ça plus en détail, après quelques rappels sur Kerberos. La technique est sortie en 2014, mais ce n’est que récemment qu’elle est devenue très (spoiler alert : trop) simple à utiliser.

Kerberos : 3 têtes, un os…

Bon alors Kerberos comment ça fonctionne ? Wikipédia explique ça très bien déjà, mais pour faire simple je vous refait un topo. Kerberos fonctionne à base de clés secrètes partagées. En simplifiant beaucoup, on a trois éléments que sont :

  • C le client ;
  • X un service kerberisé sur le serveur S ; et
  • K le serveur KDC de Kerberos.

Le serveur … Lire la suite

TP PowerShell – Mesurer la taille de son token Kerberos-ActiveDirectory

La taille est un problème pour certains d’entre nous, ceux qui sont concernés savent de quoi je parle… Accès aléatoire aux ressources réseau, problème au logon, etc.
Bref ça rentre plus…

En effet jusqu’à Windows 2008R2 la taille du token Kerberos une infra Active Directory est par défaut limité à 12Ko (et 48Ko à partir de 8 et 2012). On peut très simplement changer ce réglage en réglant la clé de registre suivante sur les machines:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters
    Entrée : MaxTokenSize
    Type de données : REG_DWORD
    Valeur : 48000
    Source : [MS KB938118](https://support.microsoft.com/fr-fr/kb/938118)

Le problème c’est qu’il est compliqué d’estimer la taille des tokens de vos utilisateurs pour anticiper les problèmes. Ces derniers ne sont d’ailleurs pas toujours évidents à détecter, car l’ordre des tickets stocké dans le token n’est pas déterministe, et Windows tronque ce qui dépasse quand c’est nécessaire : ainsi d’un logon à l’autre vous pouvez avoir des accès différents aux ressources accédées via des groupes AD.

Seul un Event Id 31 du KDC dans l’eventvwr vous permet d’avoir l’info quand le problème se présente. Pas mal d’info ici

Mais ce qu’on aimerait bien c’est de pouvoir connaître les utilisateurs qui posent problème ou vont bientôt poser problème. … Lire la suite

Centraliser les définitions de GPO dans un domaine

Je partage rapidement un lien vers cet article :

Scenario 2: Editing Domain-Based GPOs Using ADMX Files qui explique comment mettre en place un Magasin centralisé de modèle de GPO sur un domaine. C’est simple et ça permet que tout le monde utilise les même définitions de politiques ‘.admx’ sur un domaine.

Une fois en place, pour ajouter un modèle il suffit de juste de copier les .admx voulus dans ce dossier-là :

\\mon.domaine.com\sysvol\mon.domaine.com\Policies\PolicyDefinitions
(avec leurs infos de langage dans les sous dossiers en-us, fr-fr ou votre langue).

C’est pas long à mettre en œuvre et ça permet d’éviter pas mal de bêtises côté GPO…

@++… Lire la suite

TP PowerShell DNS – La machine dans l’Alias, inversement et dans l’autre sens aussi (c’est ce qu’elle a dit)

Bonjour à tous,

Je me suis rendu compte que c’est assez coton de récupérer un alias DNS à partir du nom d’une machine.

Kézako DNS :

DNS pour Domain Name Service est en gros (mais alors très gros, hein), un service qui permet d’associer à un nom de machine une IP et inversement (et quelques autres infos), ça date de 1983 ; et ça implémente une charrette de RFC diverses et variées.
Au final, c’est « juste » une hiérarchie de tableaux de correspondance IP<->NOM, un peu comme DHCP pourrait être vu comme un tableau @MAC<->IP.

On peut aussi définir des Alias DNS, ce qui nous intéresse pour ce TP : au lieu d’être une ligne IP<->NOM on a une ligne NOM<->NOM.

Je vous invite à lire la page Wikipédia qui expliquera tout ça beaucoup « plus mieux » que moi.

Revenons à nos enregistrements

On va commencer avec le standard et la modernité ceux qui sont encore sous XP et Seven (oui oui ça a déjà 6 ans…), connectez-vous à un serveur 2012 avec les outils d’admin dessus.
Car sous 2012 ou W8 et avec PowerShell V4, on a le module DNS à notre disposition, donc il tout simplement … Lire la suite