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

Cryptanalyse d’Enigma par l’indice de coïncidence

Enfin la partie la plus intéressante.

Enigma
Cryptanalyse d’Enigma

Cryptanalyse d’Enigma – Historiquement

Détermination du câblage interne des rotors

Même après la première guerre mondiale, les états continuaient à surveiller et décrypter les conversations des pays voisins. À partir de 1926, les messages allemands commencèrent à être chiffrés par Enigma. Les cryptanalystes alliés renoncèrent vite à briser Enigma, du à sa difficultés, et surement pensant qu’une invasion serait impossible.

Mais la Pologne, se sentant menacé par ses voisins (5400km de frontière, entouré seulement par des états ennemis), décida de se lancer dans la cryptanalyse d’Enigma. Trois spécialistes s’en chargèrent dont Maksymilian Ciezki. Malgré tout leur possible, et la version commerciale d’Enigma (qui avait des rotors différents, et qui ne possédait pas de fiches) la cryptanalyse n’avançait pas. C’est grâce à un espion Allemand, Hans-Thilo Schmidt que le bureau polonais trouva une faille. Il leur transmit les instructions d’utilisation de la machine, les directives pour fixer une clé, et plusieurs fois le cahier des configurations du mois, ainsi que quelques informations.

Des mathématiciens se joignirent au Bureau du Chiffre polonais, donc un certain Marian Rejewski un jeune étudiant de 23 ans. Précédemment, nous avons vu que les messages chiffrés étaient précédé de … Lire la suite

TP Cryptographie – Attaque d’un chiffre de Vigenère

Salut à tous,

Le héro du jour : Vigenère
Le héro du jour : Vigenère

Dans la série des TPs en cryptographie, je vais continuer à remonter le temps et les principaux algorithmes de cryptographies historiques.
Dans ce premier TP sur la cryptographie on avait vu comment mener une attaque statistique sur un chiffre de césar. Je n’avais pas souhaité vous montrer le brute-force pour la simple et bonne raison que qu’il me semble vraiment inintéressant à implémenter sur une clé de taille 26 au maximum…

Du coup, aujourd’hui on va passer au chiffre de Vigenère, avec un vrai texte de plusieurs lignes et une clé un peu plus complexe.

Prérequis

Pour que tout fonctionne bien j’ai dû faire quelques modifications sur les fonctions du TPs précédent. Notamment pour la gestion des caractères spéciaux, espaces, et autres ponctuation. Ça s’est traduit par une fonction Remove-AllButAlphabet que je vous donne ci-dessous (et que j’ai lâchement pompé ici).

<#
.SYNOPSIS
Retire tous les caractères autres que a-z dans un texte
.DESCRIPTION
Retire tous les caractères autres que a-z dans un texte, remplace les spéciaux par leur forme "classique" (ç->c ; é->e)
.INPUTS src
Le message à nettoyer
.OUTPUTS
La chaîne sans les spéciaux
.EXAMPLE
PS C:\Mon\Pc> Remove-AllButAlphabet 
Lire la suite

TP Cryptographie – César, Vigenère et attaque statistique en PowerShell

Un TP sur la cryptographie en PowerShell, on ne va pas attaquer les choses compliqué aujourd’hui. Seulement les bases de la crypto avec 2 algorithmes connus :

  1. César ; et
  2. Vigenère

Et une attaque qui fonctionne bien sur ce genre de protection : par statistique.

Chiffre de César

Le chiffre de césar est une méthode de chiffrement qui date des romains et du fameux empereur du même nom. Elle consiste à décaler d’un certain nombre dans l’alphabet les caractères de la phrase à chiffrer. Ce nombre est la clé de l’algorithme.

Exemple :

Si je prends la chaîne « abc » avec la clé ‘+1’ :

Ma chaîne chiffrée devient « bcd »

Implémentation :

Cet algorithme est implémenté dans le livre d’Arnaud PETITJEAN : Windows PowerShell – Guide de référence pour l’administration système (v3). Dans le chapitre 8, La Sécurité – p 431 dans la V3.

Comme pour sa fonction de génération de mot de passe, j’ai trouvé que son implémentation n’était pas la plus simple. Aussi, je vous en propose un autre :

<#
.SYNOPSIS
Effectue le chiffre de césar sur une chaîne de caractères
.DESCRIPTION
Chiffre une chaîne de caractère via le chiffre de César avec la 
Lire la suite