TP sysres IMA5sc 2020/2021 G8 : Différence entre versions

De Wiki d'activités IMA
(5.3 Cassage de mot de passe WPA-PSK par force brute)
(5.3 Cassage de mot de passe WPA-PSK par force brute)
Ligne 142 : Ligne 142 :
 
  $ airodump-ng wlp1s0mon --bssid 00:14:1B:60:8C:27 --ch 9 -w capture
 
  $ airodump-ng wlp1s0mon --bssid 00:14:1B:60:8C:27 --ch 9 -w capture
  
Cette commande nous permet de scanner le réseau, et donc d'obtenir un handshake. Nous laissons tourner cette commande en boucle jusqu'a temps d'obtenir le handshake en question.
+
Cette commande nous permet d'obtenir un handshake. Nous la laissons tourner en boucle jusqu'à ce que nous obtenions ce fameux handshake.
  
 
[[Fichier:Handshake1.png | 600px]]
 
[[Fichier:Handshake1.png | 600px]]
  
Maintenant que nous avons obtenu le handshake, nous allons faire une attaque par bruteforce. Pour cela, nous générerons tout d'abord toutes les combinaisons de mots de passes possibles de taille 8, composés uniquement de chiffre dans un dictionnaire.  
+
Maintenant que nous avons obtenu le handshake, nous allons faire une attaque par bruteforce. Pour cela, nous générerons tout d'abord toutes les combinaisons possibles de mots de passe de taille 8, composés uniquement de chiffre.  
  
 
Pour construire ce dictionnaire, nous utilisons la commande crunch (que nous avons au préalable installée):
 
Pour construire ce dictionnaire, nous utilisons la commande crunch (que nous avons au préalable installée):

Version du 5 novembre 2020 à 14:36

2. Installation des systèmes d’exploitation

2.1 Installation dans la machine virtuelle Xen

SSH sur capbreton

Puis création de la machine virtuelle :

xen-create-image --hostname=piedbleu --ip=100.64.0.22 --netmask=255.255.255.0 --password=pasglop --dir=/usr/local/xen --dist=buster --gateway=100.64.0.5 --force

On renomme les LVM avec lv rename :

lvrename /dev/storage/piedbleu1 /dev/storage/piedbleu-home
lvrename /dev/storage/piedbleu2 /dev/storage/piedbleu-var

On obtient (lvdispaly) :

--- Logical volume ---
 LV Path                /dev/storage/piedbleu-home
 LV Name                piedbleu-home
 VG Name                storage
 LV UUID                UIBfvf-NW8A-iag9-WwcT-HiZu-53UW-u4DRMA
 LV Write Access        read/write
 LV Creation host, time capbreton, 2020-10-12 16:38:58 +0100
 LV Status              available
 # open                 1
 LV Size                10.00 GiB
 Current LE             2560
 Segments               1
 Allocation             inherit
 Read ahead sectors     auto
 - currently set to     256
 Block device           254:12
  
 --- Logical volume ---
 LV Path                /dev/storage/piedbleu-var
 LV Name                piedbleu-var
 VG Name                storage
 LV UUID                yZPi6c-xffl-2PgT-YuXk-DYma-X15f-Uci6C1
 LV Write Access        read/write
 LV Creation host, time capbreton, 2020-10-12 16:39:03 +0100
 LV Status              available
 # open                 1
 LV Size                10.00 GiB
 Current LE             2560
 Segments               1
 Allocation             inherit
 Read ahead sectors     auto
 - currently set to     256
 Block device           254:13


Ensuite, on modifie le fichier : /etc/xen/piedbleu.cfg

Dans la catégorie "Disk device(s)", partie "disk", on ajoute les lignes suivantes :

phy:/dev/storage/piedbleu-home,xvda3,w',
phy:/dev/storage/piedbleu-var,xvda4,w',

Dans la catégorie "Networking", on ajoute :

bridge=IMA5sc

Ensuite, on lance la VM :

xl create -c /etc/xen/piedbleu.cfg

Par la suite, pour accéder à la VM, on fera :

xl console piedbleu

Dans la VM, on formate xvda3, xvda4 en ext 4 :

mkfs.ext4 /dev/xvda3
mkfs.ext4 /dev/xvda4

On modifie le fstab en ajoutant :

/dev/xvda3 /home defaults 0 2
/dev/xvda4 /var defaults 0 2

Et après on les monte :

mount -a 

puis on fait un lsblk pour vérifier.

On obtient :

Lsblk-g8-2021.png

5. Tests d’intrusion

5.2 Cassage de clef WEP d’un point d’accès WiFi

Nous commençons tout d’abord par installer le paquet aircrack :

$ apt-get install aircrack-ng

À partir de là, nous listons la liste des interfaces wifi disponibles : (pour repérer le nom du réseau sans fil correspondant à notre binôme) :

$ airmon-ng

Screen1.png


On remarque que notre carte wifi est désignée par le nom wlp1s0mon qui correspond à l’interface.

Nous passons ensuite notre interface en mode monitor, pour écouter le trafic wifi aux alentours.

$ airmon-ng start wlp1s0mon


On peux ensuite lancer le scan des réseaux wifi environnants :

$ airodump-ng --encrypt wep wlp1s0mon

Screen2.png


On repère le point d’accès qui correspond au réseau wifi qui nous intéresse ( cracotte 08). on récupère le bssid : 04:DA:D2:9C:50:57 , et le chanel : 3.

On capture ensuite les paquets émis par le point d’accès cible :

$ airodump-ng --write mon_fichier --channel 3 --bssid 04:DA:D2:9C:50:57 wlp1s0mon

Screen3.png


On se concentre sur l’indicateur #Data qui permet de savoir le nombre de paquets data collecté. Une fois que ce nombre atteint 30000, on lance dans un autre terminal le crack de la clé :

$ aircrack-ng -z mon_fichier-01.cap

Screen4.png


On voit que le programme a réussi à trouver la clé ( message « Key Found »).

5.3 Cassage de mot de passe WPA-PSK par force brute

Nous allons dans cette partie continuer à utiliser aircrack. Les premières étapes sont similaires à celles pour le cassage d'une clé WEP. Nous commençons par lister les interfaces wifi disponibles (airmon-ng), puis on passe l'interface en mode monitor (airmon-ng start wlp1s0mon).

On lance ensuite le scan des réseaux wifi WPA PSK environnants :

$ airodump-ng --encrypt wpa-psk wlp1s0mon

Screen6.png

Cette commande nous permet d'obtenir des informations supplémentaires sur les réseaux wifi, comme le BSSID, le Channel, l'AUTH ( le mode d'authentification), ainsi que l'ESSID ( le nom du routeur ).

Nous utilisons alors le BSSID ainsi que le Channel du réseau wifi kracotte03 dans la commande suivante:

$ airodump-ng wlp1s0mon --bssid 00:14:1B:60:8C:27 --ch 9 -w capture

Cette commande nous permet d'obtenir un handshake. Nous la laissons tourner en boucle jusqu'à ce que nous obtenions ce fameux handshake.

Handshake1.png

Maintenant que nous avons obtenu le handshake, nous allons faire une attaque par bruteforce. Pour cela, nous générerons tout d'abord toutes les combinaisons possibles de mots de passe de taille 8, composés uniquement de chiffre.

Pour construire ce dictionnaire, nous utilisons la commande crunch (que nous avons au préalable installée):

$ crunch 8 8 -o 12345678 > motdepasse.txt

Nous spécifions ici la longueur minimum et maximum du mot de passe (8), les caractères à utiliser (012345678), puis nous effectuons une redirection vers motdepasse.txt.

Ensuite, nous effectuons l'attaque par bruteforce avec la commande suivante :

$ aircrak-ng -a2 -b 00:14:1B:60:8C:27 -w motdepasse.txt *.cap

Comme la méthode bruteforce prend du temps, nous lançons l'attaque la nuit, en ssh sur notre zabeth. 4h plus tard, nous obtenons le mot de passe de la kracotte :

WPA-5.png

5.4 Attaque de type "homme au milieu" par usurpation ARP

Installez le paquetage dsniff sur votre eeePC. Transformez votre eeePC en routeur en mettant la variable noyau /proc/sys/net/ipv4/ip_forward à 1. Insérez votre eeePC entre la machine fixe d’un autre binome et le routeur utilisé par cette machine fixe en utilisant la commande arpspoof. Lancez le sniffeur réseau wireshark sur l’eeePC pendant que l’autre binôme se connecte sur un site web HTTP avec des formulaires HTML. Que constatez-vous ? Essayez aussi de relever les paquets réseau pendant que l’autre binôme utilise un logiciel de conversation instantanée.

5.5 Intrusion sur un serveur d’application Web

Injection SQL sur honey.plil.info, dans le login et le password, on écrit :

' OR 1 = 1 --

Ensuite, on fait un nmap :

nmap -T4 -A honey.plil.info

On obtient :

Nmap-g8-2021 1.2.png


A partir de ces informations, on réalise plusieurs attaques et exploitations de failles, mauvaise configuration, mot de passe faible, etc. Au final, nous avons réussi à trouver le mot de passe root du serveur. Nous y laissons la trace de notre passage "I was here IMA5 G8" :

Hack-honey.png

6. Réalisations

6.2 Chiffrement de données

Pour chiffrer la partition de notre clé USB et pouvoir y écrire des fichiers, on exécute les commandes suivantes :

$ fdisk -l # on répère la clé USB
$ fdisk /dev/sdb # on formate la clé en une seule partition
$ cryptsetup luksFormat /dev/sdb1 # on chiffre l'unique partition de la clé USB
$ cryptsetup luksOpen /dev/sdb1 myusbkey # on déchiffre la partition
$ mkfs.ext4 /dev/mapper/myusbkey # on formatte la partition en EXT4

Ensuite, on monte la clé USB, et on la peuple :

$ mkdir /mnt/USB 
$ mount -t ext4 /dev/mapper/myusbkey /mnt/USB
$ touch /mnt/USB/mytestfile.txt

Une fois que l'on a fini, on démonte le système de fichier proprement :

$ umount /mnt/USB
$ cryptsetup luksClose myusbkey