TP PowerShell – Génération de mot de passe pour le livre de A. PETITJEAN

TP autour des aléas en PowerShell, suite à un besoin de génération de mot de passe : on veut générer un mot de passe aléatoire pour la création de compte d’un utilisateur. Pour ça déjà on va se demander comment on génère un aléatoire en PowerShell, bien comme d’hab., il y a une cmd-let pour ça :    

PS C:\> Get-Random     
1493366162     
PS C:\> Get-Random -Minimum 0 -Maximum 26     
7     
PS C:\> Get-Random -Minimum 0 -Maximum 26     
4
PS C:\> Get-Random -Minimum 0 -Maximum 26     
17   
PS C:\> Get-Random -Minimum 0 -Maximum 26     
22     
PS C:\> > Get-Random -Minimum 0 -Maximum 26     
8

À moins que vous n’ayez oublié combien il y a de lettre dans l’alphabet, je pense que vous avez saisi l’idée…

Bon à partir de là, on peut convertir nos nombres en `char`,
D’abord, on doit compter jusqu’au nombre de caractères voulus dans notre chaîne, voir le bouquin d’Arnaud pour plus de détail, on va utiliser cette abréviation :

PS C:\> 1..12     
1     
2     
3         
4     
5     
6     
7     
8     
9     
10     
11     
12

Ensuite, je vous invite à vous munir d’une table ASCII pour comprendre la suite    :

PS C:\> 1..12 | ForEach {$passwd += [char](Get-Random -Minimum 
Lire la suite

TP Powershell – String, Regex et petits poneys…

Petit TP PowerShell facile pour une fois, sur la gestion des chaînes de caractères (ou String).
Admettons, pour commencer que l’on est fait un bout de script qui récupère les comptes machines de nos serveurs avec leurs dates de création.

Premier exercice cash ! Écrivez cette commande PowerShell avec Get-ADComputer.

Pour les autres, la solution ci-dessous très bien cachée.

PS C:\> $tab = Get-ADComputer -SearchBase 'OU=Serveurs,DC=equestria,DC=com' -SearchScope Subtree -Filter * -Properties whencreated

Bon, et si on cherche à tester les serveurs donc le nom commence par ‘Pony-‘ pour avoir nos serveurs du projet poney ? Pour commencer doucement on va le faire avec une boucle FOR.

#Ici on crée un tableau vide
$srv_pony = @()

#Pour chaque élément du tableau de tous les serveurs
ForEach($srv in $tab){
    #Si le nom commence par pony
    if($srv.name -match '^pony\-*'){
        #On l’ajoute dans le tableau
        $srv_pony += $srv
    }
}

On récupère alors les serveurs dans l’Active Directory dont le nom de machine commence par pony-. Ceux qui ne connaissent pas ont sûrement remarqué que mon « -match » est un peu étrange. En fait j’utilise la syntaxe des expressions régulières. Les expressions régulières sont avant tout un modèle théorique (utilisé en compilation par … Lire la suite

Projet IVRE

Un peu de pub pour un projet bien foutu :

IVRE pour Instrument de Veille sur les Réseaux Extérieurs

Ou dans la langue de Shakespeare :
DRUNK : Dynamic Recon of UNKnown networks

Bon pas d’alcool ici (je suis désolé), il s’agit d’un outil de scan réseau (actif et passif) à base de diverse techno plus (Nmap) ou moins connues (p0f).
Lien vers les sources :

https://github.com/cea-sec/ivre

Je vous invite à y jeter un œil un week-end ou vous avez le temps, ce n’est pas pour tout le monde, mais ça donne quand même une très bonne visu sur l’état du réseau et comment il marche, une fois en place.
Vous trouverez quelques TPs sur la solution ici :

http://pierre.droids-corp.org/blog/html/index.html

Je vous laisse tester ça.

Byz…… Lire la suite

TP PowerShell – Module Active Directory (bis)

Coucou les gens,
Je continue de rattraper des textes écrit à droite à gauche ici :
Ici, présentation d’une autre cmd-let PowerShell pour exporter des données de la console dans un fichier au format CSV, et on va utiliser le module AD vu précédemment pour trouver les données à exporter :

1. Charger le module Active Directory dans la console PowerShell :

Import-Module ActiveDirectory

2. Comme la dernière fois on utilise une cmd-let du module AD pour récupérer les utilisateurs qui ont ‘666’ dans l’attribut employeenumber dans une variable « $beast », mais avec un filtre LDAP (pour changer et que les vieux soit pas trop perdu…) :

$beast = Get-ADUser -LDAPFilter '(employeenumber=*666*)' -Properties @('employeenumber')

3. Disons qu’on veuille maintenant exporter ce résultat dans un fichier pour le fournir à nos collègues:

$beast | Export-Csv "TheNumberOfTheBeast.csv" -Delimiter ';' -Encoding UTF8 -NoTypeInformation

4. Le script va vous créer un fichier .csv dans le dossier courant que vous pourrez ensuite ouvrir depuis Excel, vous le visualiser avec :

Get-ChildItem *
 Répertoire : C:\Users\poney
  Mode                LastWriteTime     Length Name
 ----                -------------     ------  ----
 […]
 -a---        10/04/2015     14:11       3939  TheNumberOfTheBeast.csv

Voilà, très pratique pour les ‘quick search’ à l’arrache.… Lire la suite