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

De Wiki d'activités IMA
(4.1. Configuration des DNS)
(5.3 Cassage de mot de passe WPA-PSK par force brute)
Ligne 85 : Ligne 85 :
  
 
   airodump-ng  --bssid 00:14:1B:60:8C:2B wlan0mon --channel 5 --write hand
 
   airodump-ng  --bssid 00:14:1B:60:8C:2B wlan0mon --channel 5 --write hand
 +
 +
On obtient:
 +
 +
[[Fichier:Handshake.png]]
  
 
==5.5  Intrusion sur un serveur d’application Web==
 
==5.5  Intrusion sur un serveur d’application Web==

Version du 30 novembre 2020 à 17:05

TP PRA Quentin Normand / Maxime Claudel - truffe

4. Services Internet

4.1. Configuration des DNS

Configuration commencée le 16/11, terminée le 30/11

Dans un premier temps il a fallu réserver un nom de domaine dans la section Glue Records sur gandi.net :

ns1.truffe.site

Configuration de bind

Installation du paquet nécessaire :

sudo apt-get install bind9

Changement dans le fichier /etc/resolv.conf pour avoir une connexion :

nameserver 8.8.8.8

Configuration des options de transfert d'information :

Dans le fichier /etc/bind/named.conf.options, on modifie comme ci-dessous.

options {
       directory "/var/cache/bind";
       listen-on-v6 { any; };
       allow-transfer { "allowed_to_transfer"; };
       };
acl "allowed_to_transfer" { 217.70.177.40/32; };

Configuration du DNS dans la zone truffe.site :

On travaille maintenant dans le fichier /etc/bind/named.conf.local.

On souhaite créer une zone truffe.site de type master.

On ajoute aussi le chemin vers son fichier de configuration (fichier à créer a posteriori).

Finalement, on autorise le transfert d'informations vers le DNS primaire associé à l'adresse suivante  : 217.70.177.40

zone "truffe.site" IN {
       type master;
       file "/etc/bind/db.truffe.site";
       allow-transfer {217.70.177.40;};
};

Configuration de la zone truffe.site :

En s'inspirant du fichier /etc/bind/db.local déjà présent, on crée un fichier /etc/bind/db.truffe.site.

On y ajoute les serveurs DNS principau et secondaires ns1.truffe.site et ns6.gandi.net ainsi que l'adresse ip de notre VM sous ns1.

Il faut également modifier localhost et root.localhost et incrémenter le Serial.

$TTL    604800
@       IN      SOA     ns1.truffe.site. postmaster.truffe.site. (
                             4         ; Serial
                        604800         ; Refresh
                         86400         ; Retry
                       2419200         ; Expire
                        604800 )       ; Negative Cache TTL
;
@       IN      NS      ns1.truffe.site
@       IN      NS      ns6.gandi.net
ns1     IN      A       193.48.57.177

5. Tests d'intrusion

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

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

On utilise encore une fois aircrack-ng.

On commence donc par les commandes suivantes:

 airmon-ng
 airmon-ng start wlx40a5ef05a110

L'interface réseau a été renommé suite à cela en wlan0mon.

On peut donc lancer la commande suivante:

 airodump-ng wlan0mon

On récupère ainsi le BSSID et le canal de krakotte12. On cherche alors à récupérer le handshake via la commande suivante:

 airodump-ng  --bssid 00:14:1B:60:8C:2B wlan0mon --channel 5 --write hand

On obtient:

Handshake.png

5.5 Intrusion sur un serveur d’application Web

L'objectif de cette partie est de se connecter en ssh en tant que root sur le serveur honey.plil.info.

Pour cela, dans un navigateur web, on examine l'application, et on tente une injection SQL dans le champ identifiant via la commande:

 'OR 1=1#

On obtient ainsi une liste d'utilisateurs avec les mots de passe associés.

On peut donc désormais se connecter à l'application avec l'identifiant admin et son mot de passe jesuislechef.

Par la suite, on a pu voir les différents manuels, et en ajouter un avec le chemin /etc/phpmyadmin/config-db. En téléchargeant le fichier nouvellement créé, on a pu récupérer le mot de passe gencovid19. En se connectant en root avec ce mot de passe à phpmyadmin on a pu rentrer dans la table users et récupérer le login rex et le mot de passe associé plainpassword.

On a donc pu se connecter en SSH au serveur:

 ssh rex@honey.plil.info

On a ensuite utilisé les commandes suivantes pour récupérer les fichiers /etc/passwd et /etx/shadow:

 scp rex@honey.plil.info:/etc/shadow shadow_rex
 scp rex@honey.plil.info:/etc/passwd passwd_rex

Ces deux fichiers vont nous permettre de récupérer le mot de passe root par force brute via l'utilitaire johnthereaper.

Cependant, grâce aux indications données, nous pouvons limité la force brute aux mots de passe formé de 2chaines identiques de 4 caractères. On va donc dans un premier temps créer un dictionnaire de mots de 4 caractères:

 crunch 4 4 abcdefghijklmnopqrstuvwxyz > dico

Puis le transformé en dictionnaire de mots de 8 caractères en doublant les mots présents:

 sed -i 's/\(.*\)/\1\1/'

Maintenant que nous avons un dictionnaire adéquat, nous pouvons nous consacrer au craquage du mot de passe pleinement. Nous allons regrouper passwd_rex et shadow_rex avec la commande suivante:

 unshadow /home/passwd_rex /home/shadow_rex | head > password

Puis utiliser la force brute avec la commande:

 john -w:dico password

On obtient alors le mot de passe root suivant: fortfort

On peut alors se connecter en SSH:

 ssh root@honey.plil.info

Puis ajouter un fichier:

 touch Normand_Claudel_grp12