Simuler un phishing avec le SET

Beginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez à simuler une attaque de phishing à l'aide du Social Engineer Toolkit (SET) pour comprendre les techniques de collecte d'informations d'identification. Vous allez pratiquer l'installation de SET, la création de pages de connexion falsifiées et la capture d'informations d'identification pour analyser comment les attaquants exploitent les vulnérabilités humaines.

L'exercice illustre les méthodes de manipulation sociale dans le monde réel grâce à une expérience pratique de clonage de pages de phishing et de surveillance des informations d'identification. Vous verrez à quel point il est facile de tromper les utilisateurs pour qu'ils révèlent des informations sensibles sur des sites web falsifiés.


Skills Graph

Installer le SocialEngineer Toolkit

Dans cette étape, vous allez installer le SocialEngineer Toolkit (SET), un puissant framework de test de pénétration open-source conçu pour les attaques de manipulation sociale. Le SET propose divers vecteurs d'attaque tels que la collecte d'informations d'identification, les campagnes de phishing, etc. Pour les débutants, il est important de comprendre que le SET est un outil de sécurité légitime utilisé par les professionnels pour tester les vulnérabilités des systèmes, et non à des fins malveillantes.

  1. Tout d'abord, assurez-vous d'être dans le répertoire de travail par défaut. C'est là que nous allons télécharger et installer le SET pour organiser vos fichiers :

    cd ~/project
  2. Clonez le dépôt du SET depuis GitHub. Cette commande télécharge la dernière version du SET depuis sa source officielle :

    git clone https://github.com/trustedsec/social-engineer-toolkit.git
  3. Accédez au répertoire du SET. Après le téléchargement, nous devons entrer dans le dossier où le SET a été installé :

    cd social-engineer-toolkit
  4. Installez le SET à l'aide de l'installateur Python. La commande 'sudo' nous donne les privilèges d'administration nécessaires pour l'installation, tandis que 'python3' garantit que nous utilisons la bonne version de Python :

    sudo python3 setup.py install
  5. Attendez que l'installation soit terminée. Ce processus peut prendre quelques minutes car il installe tous les composants nécessaires. Vous devriez voir un affichage similaire à :

    [*] Social Engineer Toolkit (SET) has been installed.
    [*] You can now launch setoolkit by typing 'setoolkit' in your terminal.
  6. Vérifiez l'installation en vérifiant la version du SET. Cela confirme que le SET a été installé correctement et indique la version que vous utilisez :

    setoolkit --version

    Vous devriez voir un affichage indiquant le numéro de version installé, ce qui signifie que le SET est prêt à être utilisé.

Configurer une page de phishing

Dans cette étape, vous allez configurer une page de phishing à l'aide du Social Engineer Toolkit (SET) pour simuler une attaque de collecte d'informations d'identification. Le phishing est une attaque cybernétique courante où les attaquants créent des pages de connexion falsifiées pour voler les informations d'identification des utilisateurs. Le SET facilite la démonstration de fonctionnement de cette attaque dans un environnement contrôlé.

Nous allons créer une page de connexion falsifiée qui imite un service populaire. Cette page clonée ressemblera exactement au site web réel, mais toutes les informations d'identification saisies seront capturées par notre système au lieu d'être envoyées au service légitime.

  1. Tout d'abord, assurez-vous d'être dans le répertoire du SET. C'est là que le toolkit est installé sur votre système :

    cd ~/project/social-engineer-toolkit
  2. Lancez le toolkit SET avec des privilèges root. Le SET nécessite des droits d'administration pour configurer les paramètres réseau et les services web :

    sudo setoolkit
  3. Dans le menu du SET, nous allons naviguer parmi les options d'attaque :

    • Sélectionnez 1) Social-Engineering Attacks - C'est la catégorie principale pour les attaques de phishing
    • Ensuite, choisissez 2) Website Attack Vectors - Nous créons un site web falsifié
    • Sélectionnez 3) Credential Harvester Attack Method - Nous ciblons spécifiquement les informations d'identification de connexion
    • Choisissez 2) Site Cloner - Nous allons copier la conception d'un site web existant
  4. Lorsque vous êtes invité à saisir l'adresse IP pour le retour POST, appuyez sur Entrée pour utiliser la valeur par défaut (l'adresse IP de votre machine virtuelle). C'est là que les informations d'identification volées seront envoyées.

  5. Entrez l'URL à cloner (nous utiliserons un site de démonstration). Dans une intervention réelle, il s'agirait du site web cible que vous imitez :

    https://example.com
  6. Le SET clonera la page et configurera l'attaque de phishing. Le processus de clonage copie le HTML, le CSS et les images du site web pour le rendre authentique. Vous devriez voir un affichage similaire à :

    [*] Cloning the website: https://example.com
    [*] This could take a little bit...
    [*] Files have been imported to the Apache web root.
  7. La page de phishing est maintenant configurée et prête à être hébergée (ce que nous ferons à l'étape suivante). À ce stade, le SET a créé une réplique parfaite du site cible qui capturera toutes les informations d'identification saisies dans son formulaire de connexion.

Héberger la page falsifiée

Dans cette étape, nous allons rendre votre page de phishing accessible sur le réseau en l'hébergeant avec le serveur web Apache. Apache est un serveur web populaire qui servira votre page de connexion falsifiée à quiconque visite l'adresse IP de votre machine virtuelle. C'est ainsi que fonctionnent les attaques de phishing réelles - en imitant des sites web légitimes sur des serveurs contrôlés par les attaquants.

  1. Tout d'abord, nous devons installer Apache s'il n'est pas déjà présent sur votre système. Exécutez cette commande pour mettre à jour la liste de vos paquets et installer Apache :

    sudo apt-get update && sudo apt-get install -y apache2

    Le paramètre -y confirme automatiquement l'installation, vous n'avez donc pas besoin d'approuver manuellement.

  2. Après l'installation, vérifiez si Apache est en cours d'exécution avec :

    sudo service apache2 status

    Si le service n'est pas en cours d'exécution (ce qui est courant après une installation fraîche), démarrez-le avec :

    sudo service apache2 start
  3. Le Social Engineer Toolkit (SET) enregistre automatiquement les fichiers de votre page de phishing dans le répertoire web par défaut d'Apache. Vérifions que ces fichiers existent :

    ls /var/www/html

    Vous devriez voir index.html (la page principale de phishing) ainsi que d'autres fichiers qui donnent un aspect authentique à la page, comme des images et des feuilles de style du site web cloné.

  4. Pour permettre aux autres d'accéder à votre page de phishing, vous devez connaître l'adresse IP de votre machine virtuelle. Trouvez-la avec :

    hostname -I

    Notez cette adresse IP (nous la désignerons par YOUR_VM_IP) car vous en aurez besoin pour tester et partager le lien de phishing.

  5. Avant de partager la page, testez-la localement pour vous assurer qu'elle se charge correctement :

    curl http://localhost

    Cette commande récupère le contenu de la page. Vous devriez voir une sortie HTML correspondant à votre site cloné. Si vous obtenez une erreur, Apache peut ne pas fonctionner correctement.

  6. Votre page de phishing est maintenant en ligne et accessible à l'adresse :

    http://YOUR_VM_IP

    Tout le monde sur votre réseau qui visite cette adresse verra votre page de connexion falsifiée.

  7. Gardez Apache en cours d'exécution - ne fermez pas le terminal ni arrêtez le service. Dans les étapes suivantes, nous utiliserons cette page hébergée pour capturer les informations d'identification lorsque les victimes saisiront leurs données.

Capturer les informations d'identification

Dans cette étape, vous allez apprendre comment les attaques de phishing capturent les informations d'identification de connexion en simulant à la fois la perspective de l'attaquant et de la victime. Lorsque les victimes entrent involontairement leurs informations sur des pages de connexion falsifiées (comme celle que nous avons créée précédemment), le SET enregistre ces informations sensibles pour l'attaquant.

  1. Tout d'abord, vérifions que le SET est toujours en cours d'exécution depuis notre configuration précédente. Si vous l'avez fermé ou si la session a expiré, nous devons redémarrer l'outil. Cela garantit que notre serveur de phishing est actif et en attente de connexions de victimes :

    cd ~/project/social-engineer-toolkit
    sudo setoolkit
  2. Maintenant, nous allons configurer le SET pour capturer les informations d'identification. Dans le menu principal du SET, sélectionnez soigneusement ces options dans l'ordre :

    • 4) Create a Payload and Listener - Cela prépare le SET à recevoir des données
    • 2) Website Attack Vectors - Nous nous concentrons sur les attaques basées sur le web
    • 3) Credential Harvester Attack Method - Cible spécifiquement les informations d'identification de connexion
    • 1) Web Templates - Utilise des modèles de pages de phishing préfabriqués
  3. Gardez cette fenêtre de terminal ouverte - le SET surveille maintenant activement le trafic réseau et attend que les victimes soumettent leurs informations d'identification via notre page de connexion falsifiée.

  4. Simulons l'action d'une victime. Ouvrez un nouvel onglet de terminal (Ctrl+Shift+T dans la plupart des environnements Linux) et utilisez curl pour envoyer des informations d'identification de test à notre serveur de phishing local. Cela imite ce qui se passe lorsqu'une personne remplit et soumet un formulaire de connexion :

    curl -X POST -d "username=testuser&password=Test123!" http://localhost
  5. Vérifiez immédiatement votre terminal SET. Vous devriez voir une confirmation que les informations d'identification ont été capturées, affichées dans ce format clair :

    [*] WE GOT A HIT!
    Username: testuser
    Password: Test123!
  6. Le SET enregistre automatiquement toutes les informations d'identification capturées pour une revue ultérieure. Pour voir le journal complet de l'attaque, y compris notre entrée de test, exécutez :

    sudo cat /var/lib/set/logs/set.log
  7. Le fichier journal affichera vos informations d'identification de test ainsi que l'heure exacte à laquelle elles ont été capturées. Dans les attaques réelles, ce fichier contiendrait toutes les informations d'identification obtenues par phishing avec succès au fil du temps.

Examiner les données capturées

Maintenant que vous avez terminé la simulation de phishing, examinons les résultats. Cette étape finale vous montrera comment accéder et interpréter les données collectées par le Social Engineer Toolkit (SET), ainsi que comment nettoyer correctement votre environnement de test pour respecter les meilleures pratiques en matière de sécurité.

  1. Tout d'abord, nous allons afficher le fichier journal complet du SET, qui contient toutes les informations d'identification capturées dans leur format brut. Ce fichier est stocké dans un emplacement protégé du système, nous devons donc utiliser sudo :

    sudo cat /var/lib/set/logs/set.log

    Cette commande affiche le contenu du fichier journal principal du SET, où toutes les informations d'identification capturées sont automatiquement stockées pendant la simulation de phishing.

  2. Pour une meilleure organisation et pour des références futures, créons une copie de travail de ces données dans votre répertoire de projet. Nous allons également changer le propriétaire du fichier pour votre compte utilisateur de laboratoire :

    cd ~/project
    sudo cp /var/lib/set/logs/set.log captured_credentials.txt
    sudo chown labex:labex captured_credentials.txt

    La commande chown vous assure que vous avez les autorisations appropriées pour travailler avec ce fichier sans avoir besoin de sudo pour les opérations suivantes.

  3. Maintenant, affichons le rapport formaté que nous venons de créer :

    cat captured_credentials.txt

    Vous devriez voir une sortie structurée similaire à cet exemple, montrant les informations d'identification capturées ainsi que les horodatages et les informations sur la source :

    [*] 2023-11-15 14:30:22 - Credentials captured:
    Username: testuser
    Password: Test123!
    IP Address: 127.0.0.1
  4. Il est important de nettoyer votre environnement de test après avoir terminé l'exercice. Cela supprime la page de phishing que nous avons créée et arrête le serveur web :

    sudo rm /var/www/html/index.html
    sudo service apache2 stop

    Ces commandes garantissent qu'aucun matériel de test résiduel ne reste qui pourrait présenter des risques pour la sécurité.

  5. Enfin, documentons nos résultats en créant un rapport de synthèse qui compte le nombre d'informations d'identification capturées :

    echo "Phishing Test Results" > test_summary.txt
    echo "Total credentials captured: $(grep -c 'Username' captured_credentials.txt)" >> test_summary.txt
    cat test_summary.txt

    Cela crée un rapport simple montrant le nombre total de paires d'informations d'identification capturées pendant votre test. La commande grep -c compte le nombre de fois où 'Username' apparaît dans votre fichier de données capturées.

Résumé

Dans ce laboratoire, vous avez appris à simuler des attaques de phishing en utilisant le Social Engineer Toolkit (SET). Le processus a inclus l'installation du SET, la configuration de pages de phishing par la collecte d'informations d'identification (credential harvesting), et le clonage de sites web cibles pour créer des interfaces de connexion trompeuses.

Cet exercice vous a offert une expérience pratique avec des outils de test de pénétration et des techniques de social engineering. Vous avez exploré comment les attaquants capturent les informations d'identification et avez acquis une meilleure conscience des stratégies de défense contre de telles menaces de sécurité.