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

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

Gestion des mots de passes dans les z’internet aujourd’hui

Allez le vendredi c’est permis ! un peu de lecture avant ce week-end pour se détendre…
un TP rapide sur comment qu’on gère les mots de passes quand on est un g33k un vrai (avec des poils et tout)

C’est quoi un bon mot de passe ?

Tout d’abord quelques rappels théoriques sur comment on gère des mots de passes :
Un bon mot de passe, entre autre :

  • doit respecter des règles de complexité (genre pas : 1234, azerty ou motdepassse)
  • doit être renouvelé régulièrement (genre : date pas de 1999)
  • doit être différent selon ce qu’il protège (banque != torrents)
  • doit pas être stocké en clair ou accessible à tiers (pas sous le clavier ou sur la porte du réfrigérateur donc)

Toutes ces bonnes pratiques sont listés dans le doc de l’ANSSI sur ce sujet, disponible ici :

NP_MDP_NoteTech.pdf

Comment ça fonctionne dans la vraie vie ?

En aucun cas un site internet ne stocke (ou « ne devrait stocker » en tous cas) votre mot de passe en clair. Un bon site (non, n’est pas un site mort…) stocke un « hash, empreinte ou encore condensat de votre mot de passe (Exemple d’algorithme de hash : MD5, … 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