TP PowerShell – AdminSDHolder, AdminCount, et reset

Salut les gens,

Aujourd’hui on va s’attarder (un bon moment) sur un mécanisme de sécurité dans le service d’annuaire Active Directory de Microsoft : AdminSDholder.

AdminSDHolder

Le mécanisme dit couramment « AdminSDHolder » est un processus qui s’exécute toutes les heures sur le PDC d’un domaine Active Directory, et qui modifie les ACLs (pour Access Control Lists) des objets de l’AD ayant l’attribut « admincount » à 1. L’ACL est modifiée pour casser l’héritage et appliquer les mêmes droits que ceux en place sur l’objet AdminSDHolder dans le schéma, ici :

CN=AdminSDHolder, CN=System, DC=equestria, DC=com

Comment se retrouve-t-on avec admincount à 1 sur son compte AD ?

Par une contamination de zombie par morsure évidemment, hein ! Plus exactement, au départ dans un Active Directory, certains groupes et utilisateurs « sensibles » (dit, Protected Groups et au nombre de 13 en 2008R2) ont déjà cet attribut à 1 par défaut, (voir KB318180). Par exemple le groupe « Admins du Domaine » ou le compte « krbtgt ». Ensuite tout objet qui devient membre d’un de ces groupes (y compris par héritage) est alors « contaminé » et son attribut admincount passe également à 1.

Pourquoi ce mécanisme ?

Cette … Lire la suite

Les vidéos du SSTIC sont disponibles

Si comme moi, vous n’avez pas eu la chance d’aller au SSTIC cette année (Car si ça continue ils vont devoir réserver un stade pour avoir la place nécessaire pour tout le monde) :

Vous avez la possibilité de revoir l’ensemble des conférences du Symposium sur le site officiel.

Quelques présentations choisies si vous ne savez pas quoi regarder :

Voilà, passez-y du temps ! Car le SSTIC c’est bon mangez-en !

L’ensemble des présentations sont listées dans programme.

Byz.

 … Lire la suite

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

Salut à tous,

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 -src 'Chiffre par Vigenère une chaîne 
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