Scanneur réseau, cracheur de mots de passe, Ubuntu Linux, balayage réseau, Virtualbox, accès SSH, logiciel PuTTY
Objectifs du TP :
- Configurer l'accès SSH sur un Ubuntu Linux
- Écrire un script de balayage réseau (port scanner)
- Écrire un script de brute force de mot de passe et tenter de se connecter à Ubuntu via SSH
[...] Acquérir les "bannières" des services scannés méthode recv() et decode() sur votre instance de la classe Socket Comparer ces bannières à une liste de vulnérabilités Vous pouvez utiliser ce fichier (vérifier l'existence du fichier): https://drive.google.com/file/d/1-hB0xFY0w7m4qEOfw1MhO4za-P60AEYc/view?usp=sharing Afficher si le port est vulnérable Votre script doit être bien organisé avec les fonctions suivantes : vefifier_ip() obtenir_banniere() verifier_ports() scan() Chacune des ces fonctions doivent être documentées à l'aide de l'extension Doc String dans VSCode Utiliser le module termcolor ou colorama pour colorer l'affichage Exemple de déroulement du script à l'aide de pseudo-code: Demander une liste des adresses ip à scanner Valider que les adresses ip saisies sont valides Demander une liste des ports à scanner Valider que les ports sont valides (numérique, entre 1 et 65536) Tenter d'ouvrir un socket pour chaque combinaison d'adresse ip:port Recevoir ( recv() ) l'information advenant une connexion réussi (ce qu'on appel bannière) Ouvrir un fichier texte en lecture contenant une liste des vulnérabilités connues Comparer les bannières avec la liste des vulnérabilité connue et afficher si le port est vulnérable Script de brute force ssh avec attaque par dictionnaire Votre script doit : Établir une connexion SSH avec la cible (module paramiko) Demander l'adresse IP à attaquer Vérifier la validité de l'adresse IPv4 (x.x.x.x) Demander le nom d'utilisateur à utiliser Interagir avec un fichier de mots de passe local Assurez-vous que le fichier existe. Automatiser les tentatives de connexion SSH Essayer, avec le nom d'utilisateur demandé à l'étape 1.b chaque mot de passe de manière séquentielle. Si vous parvenez à ouvrir une connexion, c'est que vous avez trouvé le mot de passe. [...]
[...] Notes Partout où il est écrit da, vous devez remplacer par les numéros de demande d'admission des membres de l'équipe. Exemple : 1234567_7654321 Attention à la nomenclature Un fichier nommé clé.txt, contenant votre clé publique généré avec PuTTYgen Contenu du fichier /etc/passwd de votre Ubuntu, nommé da_da_passwd.txt Contenu du fichier /home/da_da/.ssh/authorized_keys de votre Ubuntu, renommé da_da_authorized_keys.txt Une redirection du résultat de la commande ls -la sur le dossier /home/da_da, nommé da_da_ls_la_01.txt Une redirection du résultat de la commande ls -la sur le dossier /home/da_da/.ssh, nommé da_da_ls_la_02.txt Votre script de reconnaissance, nommé da_da_script01.py Votre script de bruteforce, nommée da_da_script02.py Configurer l'accès SSH vers Ubuntu Linux Créer un utilisateur sur Ubuntu Linux Générer une pair de clé privée/publique pour la connexion SSH depuis un système Windows 10 avec PuTTYgen, transférer votre clé publique sur Ubuntu Tester la connexion par clé Créer un utilisateur sur Ubuntu Linux Sur Ubuntu, utilisez la ligne de commande pour créer un utilisateur ayant les caractéristiques suivantes : Nom d'utilisateur : da_da Mot de Passe : da_da Répertoire personnel : /home/da_da https://docs.google.com/document/d/12qJ5cPmelhTKMDBLN2jBAFRUtKLPlXnguL8I3_Vl8CA/edit?usp=sharing Générer une paire de clés privée/publique pour la connexion SSH depuis un système Windows 10 avec PuTTY Référez-vous à la documentation du logiciel PuTTY et PuTTYgen pour générer une paire de clé publique / privée. [...]
[...] Tester la connexion par clé Si tout s'est bien passé vous devriez pouvoir établir la connexion ssh sans saisir de mot de passe. Script de reconnaissance Pour fin de test vous pouvez utiliser l'adresse ip public suivante : 44.228.249.3 (vulnweb.com) Votre script python doit : Prendre une ou plusieurs adresses ip valides en paramètre (adresses séparées par une virgule) Exemple: 192.168.0.1,192.168.0.2,192.168.0.3 Vérifier la validité de l'adresse IPv4 (x.x.x.x) Vérifier qu'il ne s'agit pas d'une adresse réservée, de multicast ou de loopback, etc . [...]
[...] Scanneur réseau et cracheur de mots de passe Topologie Objectifs Prérequis Notes À remettre Configurer l'accès SSH vers Ubuntu Linux Créer un utilisateur sur Ubuntu Linux Générer une pair de clé privée/publique pour la connexion SSH depuis un système Windows 10 avec PuTTY Transférer votre clé publique sur Ubuntu Tester la connexion par clé Script de reconnaissance Script de brute force ssh avec attaque par dictionnaire Grille de correction Topologie Objectifs Configurer l'accès SSH sur un Ubuntu Linux Écrire un script de balayage réseau (port scanner) Écrire un script de bruteforce de mot de passe et tenter de se connecter à Ubuntu via SSH Prérequis Ces étapes sont pour faciliter votre travail. L'important c'est que votre machine attaquante puisse communiquer avec vos victimes. Dans Virtualbox, créer une nouvelle machine virtuelle Ubuntu Linux. Utiliser les commandes suivantes pour générer un identifiant unique pour votre nouvelle machine : sudo rm /etc/machine-id systemd-machine-id-setup Dans virtualbox, créer un nouveau réseauNAT nommé da_da et connecté les cartes réseaux de Kali et Ubuntu à se réseauNAT. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture