Vous êtes sur la page 1sur 4

Objectif :

L'objectif de cet atelier est de se familiariser avec les outils techniques


célèbres
proposés par le système d'exploitation Kali Linux pour réaliser un test de
pénétration
(penetration testing), tels que: Maltego, Crunch, John the Ripper, Hydra et Nmap.
Remarque :
Il est important de noter que l'utilisation de ces outils de test sans autorisation
est
illégale et peut entraîner des conséquences graves. Il est fortement recommandé
d'utiliser ces outils uniquement à des fins éducatives et de test dans un
environnement
contrôlé.
Partie I : Reconnaissance
La reconnaissance est la première étape d'une attaque informatique, au cours de
laquelle l'attaquant collecte des informations pertinentes sur la cible. Cela se
fait dans le
but d'identifier les vulnérabilités et de déterminer les moyens d'attaque
possibles. Cette
collecte d'informations permet de mieux comprendre la cible, de recueillir des
données
sur l'hôte, le réseau et les personnes associées à l'organisation.
Maltigo
Maltego est un outil de collecte d'informations qui facilite la recherche et la
visualisation de données telles que: les adresses e-mail, potentielles d'une
personne, les
numéros de téléphone associés, les adresses IP, les enregistrements DNS, les
serveurs
de courrier, les hébergeurs, les employés d'une entreprise, et bien plus encore.
Les transformations sont des méthodes de recherche pour chaque entité, qui servent
à trouver les informations correspondantes. Dans la liste d'entités et la liste de
transformations par défaut, il existe déjà plusieurs types, tels que
l’infrastructure et le
personnel…
1. Créer votre compte Maltigo sur le site https://www.maltego.com/ceregistration/
2. Cliquez sur "Ajouter une nouvelle entité" pour ajouter un nouveau
domaine à analyser
3. Sélectionnez "Domaine" dans la liste des entités.
4. Entrez le nom de domaine (par exemple, https://www.kali.org/).
5. Extraire tous les sous-domaines à partir d'un nom de domaine (par
exemple, https://www.kali.org/).
6. Effectuer une requête récursive sur le domaine fourni et analyser la sortie
d'adresse e-mail.
7. De la même façon, chercher votre adresse e-mail et montrer les sites où
elle existe.
Partie II : Tester la sécurité des mots de passes
A. Crunch
Crunch est un générateur de mots de passe. Il est généralement utilisé pour tester
la
sécurité des réseaux et des systèmes. Il permet de créer des listes de mots de
passe à
partir de caractères et de règles spécifiques.
Pour une taille de mots allant de « a » à « b » caractères on utilise la commande:
« crunch a b »
Ensuite nous allons indiquer, soit les symboles, chiffres lettres, ou indiquer les
Charest déjà compléter, par exemple :
 hex-lower [0123456789abcdef]
 hex-upper [0123456789ABCDEF]
 numeric [0123456789]
 mixalpha-numeric-all-space:
[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234
56789!@#$%^&*()-_+=~`[]{}|\:; »‘<>,.?/ ]
Pour optimiser le dictionnaire de mots de passes on peut utiliser d’autres
paramètres tels que :
 -o pour nommer et enregistrer votre fichier.
 -d : permet donc de spécifier le nombre de lettres, symboles par
répétitions.
 @ : pour représenter les caractères minuscules
 , : pour représenter les caractères majuscules
 % : pour représenter les nombres
 ^ : pour représenter les symboles
Créer une liste de mots de passe composée au maximum de 3 caractères minuscules
consécutifs, 2 majuscules, 2 chiffres et 2 symboles, et enregistrer les résultats
dans un
fichier nommé "liste.txt".
B. John the ripper
John the Ripper est un outil de sécurité open source utilisé pour tester la
robustesse
des mots de passe en effectuant des attaques de dictionnaire et de force brute.
1. Créez un fichier protégé par un mot de passe "SMI.zip".
2. Sauvegarder le hach du fichier « SMI.zip » dans un fichier « hash.txt »
Zip2john SMI.zip >hash.txt
3. Utilisez la commande "john" suivie du nom du fichier hash pour lancer l'attaque.
4. Utilisez la commande "john --show" pour afficher les mots de passe qui ont été
crackés
C. Hydra
Hydra est un outil de qui permet de tester la sécurité des systèmes en tentant de
deviner des mots de passe utilisateur. Il est capable de tester des dizaines de
mots de
passe à la fois
1. Utilisez la commande « hydra -h » sur le terminal et lisez attentivement le
contenu affiché
Pour faire fonctionner Hydra avec un protocole, nous aurons besoin de certains
paramètres tels que :
 un nom d’utilisateur (-l) ou une liste de noms d’utilisateur (-L),
 un mot de passe (-p) ou d’une liste de mots de passe (-P)
 une adresse IP cible associée au protocole.
La syntaxe générale est :
"hydra <serveur> <service> -l <utilisateur> -p <mot de passe>".
Pour lancer un test d'attaque sur un protocole, utilisez la syntaxe suivante :
hydra -l < nom d'utilisateur > -P < mot de passe > < protocole > : // < ip >
2. Pour un nom d’utilisateur « root » et se basant sur la liste rockyou.txt donner
la
commande pour tester le protocole ssh.
Partie III : Le balayage réseau (Scanning)
Cela consiste à utiliser un ensemble de procédures utilisées pour identifier des
hôtes,
des ports et des services qui tournent derrière ces ports.
Network Mapper (Nmap)
Nmap est un outil open source pour la cartographie de réseau et la sécurité des
systèmes d'exploitation. Il peut être utilisé pour scanner des hôtes et des
services sur un
réseau pour déterminer leurs adresses IP, les services en cours d'exécution et
d'autres
informations liées à la sécurité.
Nmap reconnaît 7 états de ports différents :
 ouvert (open)
 fermé (closed)
 filtré (filtered)
 ouvert/filtré (open|filtered)
 fermé/filtré (closed|filtered)
 sans réponse (unresponsive)
 déterminé (determined)
1 Exécution de la commande Nmap: Pour effectuer un scan simple, vous pouvez
exécuter la commande suivante en remplaçant <target> par l'adresse IP ou le
nom de domaine de l'hôte que vous souhaitez scanner : nmap <target>
2 Une fois que Nmap a terminé le scan, les résultats seront affichés dans le
terminal. Les résultats incluent des informations sur les hôtes tels que l'adresse
IP, les noms d'hôte et les services en cours d'exécution. Interpréter les résultats
obtenus.
3 Analyser le port de connexion « TCP » :
nmap @ip_cible –sT
4 Déterminer la version du service en cours d'exécution sur le port :
nmap @ip_cible –sV
NOTE !! API UTILISE DANS CETTE SERIE EST SWING
EXERCICE 1
Pour des questions de santé on recommande que la nourriture que vous mangez ait
moins de 30% de ses calories totales provenant de matières grasses. Développez une
application avec interface graphique qui calcule le pourcentage de calories qui
proviennent de matières grasses, pour cela il faut savoir le nombre de grammes de
matières grasses et le nombre des calories provenant de la nourriture en question.
Sachant que la matière grasse contient 9 calories par gramme.
Entrée :
➢ Calories servis dans la nourriture
➢ Quantité de matières grasses servis.
Calcul : pourcentage = ( (MG * 9) / CAL ) * 100
Sortie : Pourcentage de calories provenant de matières grasses.
Combien de composants seront utilisés dans GUI?
Quelles seront les composants reliés au listener?
Ecrire un programme implémentant une interface ci-dessous
Démarche
1- Suggérez une disposition des panneaux pour créer cette interface utilisateur
2- Ecrire un programme Java réalisant cette interface
EXERCICE 2
Soit une application qui calcule le poids idéal d'une personne à partir de son sexe
et sa taille (en cm). L'interface graphique utilise des boutons radio.
Les boutons radio produisent des événements, comme le font les boutons normaux. Une
application complète exige un listener pour répondre aux actions sur les boutons
radios. Pour cela il faut utiliser la méthode setActionCommand () pour assigner une
commande à chaque bouton radio, et la méthode getActionCommand() dans le listener
pour déterminer quel bouton a été activé.
1- Combien de groupes de boutons sont utilisés dans cette interface graphique?
2- Ecrire un programme Java réalisant cette interface
3- Utilisez la stratégie d’emplacement de BorderLayout ci-contre pour réaliser
l’interface
Sachant que le poids idéal est : 0.45359237*(H*H)/28.0 pour un homme
0.45359237*(H*H)/30.0 pour une femme
Avec H est la valeur associée à chaque intervalle de taille ci-contre : soient 60 ;
64, 68, 72 et 76
EXERCICE 3 :
On souhaite Ecrire un programme Java effectuant la conversion du dirham en diverses
devises : Dollars, Franc Swiss, yen japonais et en Euro. L’interface de cette
application est présentée dans la figure 1
2
Figure 1
Figure 2
Sachant qu’ 1DH = 0.0891 USD = 0.1229 EUR = 0.1102 CHF= 0.078 GBP = 9.4746 JPY
1- Ecrire une méthode convert() permettant de convertir le dirham en diverses
devises
2- Combien de composantes contenues dans cette fenêtre de la figure 1.
3- Lesquelles seront reliées à un listener?
4- Ecrire le programme java réalisant l’interface de la figure 1 et qui permet
cette conversion
L’interface de la figure 1 présente un sérieux problème. Lorsque l’utilisateur
redimensionne la fenêtre les composantes ne restent pas appariées et changent de
place (voir figure 2). On peut empêcher l’utilisateur de redimensionner la fenêtre
en utilisant la méthode : frm.setResizable(false), comme on peut aussi utiliser des
gestionnaires d’agacement et des panneaux.
5- Proposez une solution basée sur l’utilisation des panneaux (Panel) et les
gestionnaires d’agacement pour réaliser l’interface figure3
Figure 3
EXERCICE 4:
1- Suggérer une disposition des panneaux pour créer cette interface utilisateur
2- Ecrire un programme Java réalisant cette interface
EXERCISE 5 :
1- Ecrire un programme Java réalisant cet interface en utilisant Menu

Vous aimerez peut-être aussi