Close Menu
  • CCNA 1 – ITN v7
  • CCNA 2 – SRWE v7
  • CCNA 3 – ENSA v7
  • Banque de questions
Facebook X (Twitter) Instagram
CCNA Réponses – Questions et réponses aux ExamensCCNA Réponses – Questions et réponses aux Examens
  • Banque de questions
  • Contact
Subscribe
  • Home
  • CCNA 1
  • CCNA 2
  • CCNA 3
  • CyberOps Associate
CCNA Réponses – Questions et réponses aux ExamensCCNA Réponses – Questions et réponses aux Examens

17.2.6 – Travaux pratiques – Attaquer une base de données MySQL

29/05/2023Updated:08/07/2023Aucun commentaire Cyberops Associate
Copy Link Facebook Twitter WhatsApp Telegram Pinterest LinkedIn Email Reddit VKontakte

17.2.6 – Travaux pratiques – Attaquer une base de données mySQL

Remarque à l’intention de l’instructeur : la couleur de police rouge ou les surlignages gris indiquent que le texte n’apparaît que dans la copie de l’instructeur.

Objectifs

Au cours de ces travaux pratiques, vous aurez accès à un fichier PCAP provenant d’une précédente attaque contre une base de données SQL.

Partie 1: Ouvrir Wireshark et charger le fichier PCAP.

Partie 2: Examiner l’attaque par Injection SQL.

Partie 3: L’attaque par injection SQL continue…

Partie 4: L’attaque par injection SQL fournit des informations système.

Partie 5: L’attaque par injection SQL et les informations des tables.

Partie 6: L’attaque par injection SQL se termine.

Contexte/scénario

Les attaques par injection SQL permettent aux hackers de taper des instructions SQL dans un site web et de recevoir une réponse de la base de données. Ils peuvent ainsi altérer les données se trouvant dans la base de données, usurper des identités et commettre divers méfaits.

Un fichier PPCE a été créé pour que vous puissiez voir une précédente attaque contre une base de données SQL. Vous allez également voir des attaques de base de données SQL et répondre aux questions.

Ressources requises

  • Poste de travail CyberOps VM

Instructions

Utilisez Wireshark, un analyseur de paquets réseau courant, pour analyser le trafic réseau. Après avoir lancé Wireshark, ouvrez une capture réseau précédemment enregistrée pour étudier les différentes étapes d’une attaque par injection SQL contre une base de données SQL.

Partie 1 : Ouvrir Wireshark et charger le fichier PCAP.

Vous pouvez ouvrir l’application Wireshark de différentes manières sur un poste de travail Linux.

a. Démarrez le poste de travail virtuel CyberOps.

b. Cliquez sur Applications > CyberOPS > Wireshark sur le bureau et accédez à l’application Wireshark.

c. Dans l’application Wireshark, cliquez sur Open au milieu de l’application sous Files.

d. Dans le répertoire /home/analyst/ recherchez lab.support.files. Dans le répertoire lab.support.files recherchez et ouvrez le fichier SQL_Lab.pcap.

e. Le fichier PCAP s’ouvre dans Wireshark et affiche le trafic réseau capturé. Ce fichier de capture couvre une période de 8 minutes (441 secondes), soit la durée de cette attaque par injection SQL.

Quelles sont les deux adresses IP impliquées dans cette attaque par injection SQL selon les informations affichées ?

10.0.2.4 et 10.0.2.15

Partie 2 : Examiner l’attaque par Injection SQL.

Au cours de cette étape, vous allez visualiser le début d’une attaque.

a. Dans la capture Wireshark, cliquez avec le bouton droit de la souris sur la ligne 13 et sélectionnez Follow > HTTP Stream. La ligne 13 a été choisie, car il s’agit d’une requête GET HTTP. Cette fonction permet de suivre le flux de données tel que la couche application le voit et mène au test des requêtes à la recherche d’injection de code SQL.

Le trafic de la source s’affiche en rouge. La source a envoyé une requête GET à l’hôte 10.0.2.15. En bleu, l’appareil de destination répond à la source.

b. Dans le champ Find, saisissiez 1=1. Cliquez sur Find Next.

c. Le hacker a saisi une requête (1=1) dans une boîte de recherche d’ID d’utilisateur sur la cible 10.0.2.15 pour savoir si l’application est vulnérable à l’injection de code SQL. Au lieu de répondre avec un message d’échec de connexion, l’application répond avec un enregistrement d’une base de données. Le hacker a donc vérifié que la base de données répond lorsqu’il tape une commande SQL. La chaîne de recherche 1=1 crée une instruction SQL qui sera toujours vraie. Dans l’exemple, quelle que soit la requête saisie dans le champ, elle sera toujours vraie.

d. Fermez la fenêtre Follow HTTP Stream.

e. Cliquez sur Clear display filter pour afficher la conversation Wireshark entière.

Partie 3 : L’attaque par injection SQL continue…

Au cours de cette étape, vous allez voir la suite d’une attaque.

a. Dans la capture Wireshark, cliquez avec le bouton droit de la souris sur la ligne 19 et sélectionnez Follow > HTTP Stream.

b. Dans le champ Find, saisissiez 1=1. Cliquez sur Find Next.

c. Le hacker a saisi une requête (1′ or 1=1 union select database(), user()#) dans une boîte de recherche d’ID d’utilisateur sur la cible 10.0.2.15. Au lieu de répondre avec un message d’échec de connexion, l’application répond avec les informations suivantes :

Le nom de la base de données est dvwa et l’utilisateur de la base de données est root@localhost.

Plusieurs comptes d’utilisateurs sont également affichés.

d. Fermez la fenêtre Follow HTTP Stream.

e. Cliquez sur Clear display filter pour afficher la conversation Wireshark entière.

Partie 4 : L’attaque par injection SQL fournit des informations système.

Le hacker continue et commence à cibler des informations plus précises.

a. Dans la capture Wireshark, cliquez avec le bouton droit de la souris sur la ligne 22 et sélectionnez Follow > HTTP Stream. Le trafic source indiqué en rouge envoie la requête GET à l’hôte 10.0.2.15. En bleu, l’appareil de destination répond à la source.

b. Dans le champ Find, saisissiez 1=1. Cliquez sur Find Next.

c. Le hacker a saisi une requête (1′ or 1=1 union select null, version ()#) dans une boîte de recherche d’ID d’utilisateur sur la cible 10.0.2.15 pour trouver l’identifiant de la version. Notez l’identificateur de version à la fin de la sortie juste avant le </pre>.</div> code HTML de fermeture.

Quelle est la version ?

MySQL 5.7.12-0

d. Fermez la fenêtre Follow HTTP Stream.

e. Cliquez sur Clear display filter pour afficher la conversation Wireshark entière.

Partie 5 : L’attaque par injection SQL et les informations des tables.

Le hacker sait qu’il y a de nombreuses tables SQL contenant beaucoup d’informations. Le hacker essaie de les trouver.

a. Dans la capture Wireshark, cliquez avec le bouton droit de la souris sur la ligne 25 et sélectionnez Follow > HTTP Stream. La source est indiquée en rouge. L’appareil source a envoyé une requête GET à l’hôte 10.0.2.15. En bleu, l’appareil de destination répond à la source.

b. Dans le champ Find, saisissez les utilisateurs. Cliquez sur Find Next.

c. Le hacker a saisi une requête (1’or 1=1 union select null, table_name from information_schema.tables#) dans une boîte de recherche d’ID d’utilisateur sur la cible 10.0.2.15 pour voir toutes les tables de la base de données. Une sortie indiquant de nombreuses tables est générée, car le hacker a spécifié « null » sans plus de précision.

Qu’obtient le hacker avec la commande modifiée (1′ OR 1=1 UNION SELECT null, column_name FROM INFORMATION_SCHEMA.columns WHERE table_name=’users’) ?

La base de données répondrait avec une sortie beaucoup plus courte filtrée par l’occurrence du mot « utilisateurs ».

d. Fermez la fenêtre Follow HTTP Stream.

e. Cliquez sur Clear display filter pour afficher la conversation Wireshark entière.

Partie 6 : L’attaque par injection SQL se termine.

L’attaque se termine ayant permis au hacker de récupérer le meilleur butin possible : les valeurs de hash des mots de passe.

a. Dans la capture Wireshark, cliquez avec le bouton droit de la souris sur la ligne 28 et sélectionnez Follow > HTTP Stream. La source est indiquée en rouge. L’appareil source a envoyé une requête GET à l’hôte 10.0.2.15. En bleu, l’appareil de destination répond à la source.

b. Cliquez sur Find et tapez 1=1. Recherchez cette entrée. Lorsque le texte est trouvé, cliquez sur Cancel dans la zone de recherche de texte.

Le hacker a saisi une requête (1’or 1=1 union select user, password from users#) dans une boîte de recherche d’ID d’utilisateur sur la cible 10.0.2.15 pour extraire les noms d’utilisateurs et les valeurs de hash des mots de passe !

À quel utilisateur correspond la valeur de hash de mot de passe 8d3533d75ae2c3966d7e0d4fcc69216b ?

1337

c. Utilisez un site web tel que https://crackstation.net/ et copiez cette valeur dans le déchiffreur de valeur de hash de mots de passe pour le pirater.

Quel est le mot de passe en texte clair ?

charley

d. Fermez la fenêtre Follow HTTP Stream. Fermez les fenêtres ouvertes.

Questions de réflexion

1. Quel est le risque encouru lorsque des plates-formes utilisent le langage SQL ?

Les sites Web sont généralement pilotés par une base de données et utilisent le langage SQL. La gravité d’une attaque par injection SQL dépend de l’attaquant.

2. Naviguez sur Internet et recherchez comment «empêcher les attaques par injection SQL». Quelles sont les 2 méthodes ou mesures à appliquer pour empêcher les attaques par injection SQL ?

Les réponses varient, mais doivent inclure : filtrer les entrées de l’utilisateur, déployer un pare-feu d’application Web, désactiver les fonctionnalités/capacités de base de données inutiles, surveiller les instructions SQL, utiliser des paramètres avec des procédures stockées et utiliser des paramètres avec SQL dynamique.

Previous Article17.1.7 – Travaux pratiques – Explorer le trafic DNS
Next Article 17.2.7 – Travaux pratiques – Consulter les journaux du serveur

Articles liés

28.4.11 Vérifiez votre compréhension – Identifier le terme gestion des incidents

29/04/2025

28.4.2 Vérifiez votre compréhension – Identifier les éléments du plan de gestion des incidents

29/04/2025

28.3.4 Vérifiez votre compréhension – Identifier les caractéristiques du modèle Diamond

29/04/2025
S’abonner
Notification pour
guest

guest

0 Comments
Le plus récent
Le plus ancien Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
Examen Checkpoint CCNA v7
  • CCNA 1
  • CCNA 2
  • CCNA 3
Modules 1 – 3 Examen Checkpoint: Examen sur la connectivité des réseaux de base et les communications
Modules 4 – 7 Examen Checkpoint: Examen sur les concepts d’Ethernet
Modules 8 – 10 Examen Checkpoint: Examen sur la communication entre les réseaux
Modules 11 – 13 Examen Checkpoint: Examen sur l’adressage IP
Modules 14 – 15 Examen Checkpoint: Examen sur les communications des applications du réseau
Modules 16 – 17 Examen Checkpoint: Examen sur la création et la sécurisation d’un réseau de petit taille
ITNv7 Practice Final Exam – Examen blanc final
CCNA 1 Examen final du cours ITNv7
Modules 1 - 4 Examen Checkpoint: Examen des Concepts de Commutation, des VLAN et du Routage Inter-VLAN
Modules 5 - 6 Examen Checkpoint: Examen de Réseaux Redondants
Modules 7 - 9 Examen Checkpoint: Examen des réseaux disponibles et fiables
Modules 10 - 13 Examen Checkpoint: Examen de sécurité de couche 2 et de réseau sans fil (WLAN)
Modules 14 - 16 Examen Checkpoint: Concepts de Routage et Examen de Configuration
SRWEv7 Practice Final Exam – Examen blanc final
CCNA 2 Examen final du cours SRWEv7
Modules 1 – 2 Examen Checkpoint: Concepts et examen de configuration de l’OSPF
Modules 3 – 5 Examen Checkpoint: Examen de la sécurité des réseaux
Modules 6 – 8 Examen Checkpoint: Examen des concepts WAN
Modules 9 – 12 Examen Checkpoint: Examen d’optimisation, de surveillance et de dépannage des réseaux
Modules 13 – 14 Examen Checkpoint: Examen des technologies de réseau émergentes
ENSAv7 Practice Final Exam – Examen blanc final
CCNA 3 Examen final du cours ENSAv7
Examen blanc de certification CCNA (200-301)
© 2025 ccnareponses.
  • Banque de questions
  • A Propos
  • Politique de confidentialité
  • Copyright policy
  • Contact

Type above and press Enter to search. Press Esc to cancel.

Défiler vers le haut
wpDiscuz