Modifier la configuration du serveur DNS dans Fluxion

Beginner
Pratiquer maintenant

Introduction

Fluxion est un outil populaire d'audit de sécurité et de recherche en ingénierie sociale. Il automatise le processus de création d'un faux point d'accès Wi-Fi et d'un portail captif pour capturer des identifiants. Par défaut, Fluxion utilise un serveur DNS en amont préconfiguré (comme le 8.8.8.8 de Google) pour son service DNS.

Dans certains scénarios, vous pourriez vouloir changer ce serveur DNS par défaut. Par exemple, vous pourriez vouloir utiliser un serveur plus rapide, un serveur avec des capacités de filtrage spécifiques, ou un serveur DNS personnalisé que vous contrôlez.

Dans ce laboratoire, vous apprendrez comment localiser et modifier la configuration de dnsmasq dans le script principal de Fluxion pour changer l'adresse du serveur DNS en amont.

Dans cette étape, vous allez naviguer vers le répertoire contenant le script principal de Fluxion. La logique principale et les configurations de Fluxion sont stockées dans des scripts shell. Le script principal que nous devons modifier est fluxion.sh, qui se trouve dans le répertoire lib.

Tout d'abord, utilisez la commande cd (change directory) pour vous déplacer dans le répertoire fluxion/lib. Tous les fichiers nécessaires ont déjà été clonés dans votre répertoire ~/project.

cd ~/project/fluxion/lib

Ensuite, utilisez la commande ls pour lister les fichiers du répertoire courant afin de confirmer que fluxion.sh est présent.

ls

Vous devriez voir fluxion.sh parmi les fichiers listés.

controller.sh  fluxion.sh  installer.sh  parser.sh  prober.sh  scanner.sh

Ouvrir le script dans un éditeur de texte

Dans cette étape, vous allez ouvrir le script fluxion.sh à l'aide d'un éditeur de texte en ligne de commande. Nous utiliserons nano, qui est un éditeur simple et convivial disponible dans l'environnement LabEx.

Exécutez la commande suivante pour ouvrir fluxion.sh dans nano :

nano fluxion.sh

Votre terminal affichera maintenant le contenu du script à l'intérieur de l'éditeur nano. Vous pouvez naviguer dans le fichier à l'aide des touches fléchées. Dans l'étape suivante, nous rechercherons la section de configuration pertinente.

À titre de référence, voici quelques commandes de base de nano :

  • Ctrl + W : Rechercher du texte.
  • Ctrl + X : Quitter l'éditeur.

Rechercher la section de configuration de 'dnsmasq'

Maintenant que le script est ouvert dans nano, vous devez trouver la section où dnsmasq est configuré. Fluxion utilise dnsmasq pour exécuter un serveur DNS pour le faux point d'accès, qui redirige tout le trafic vers la page du portail captif.

  1. Appuyez sur Ctrl + W pour ouvrir l'invite de recherche en bas de l'éditeur.
  2. Tapez dnsmasq et appuyez sur Entrée.

Cela vous amènera à la première occurrence du mot dnsmasq. Vous recherchez un bloc de code qui démarre le service dnsmasq. Il ressemblera à l'extrait ci-dessous. Notez l'option --server, qui spécifie le serveur DNS en amont.

...
## Start the DNS server (dnsmasq)
"$FLUXION_LIB_DIR/controller.sh" dnsmasq start "$interface" \
  "$gateway" "$portal_address" "$channel" "$essid" &> /dev/null &
...

La commande réelle exécutée se trouve dans le script controller.sh, qui à son tour appelle une fonction contenant la commande dnsmasq avec ses paramètres. La ligne que nous devons modifier est celle où le paramètre --server est défini. Continuez à chercher si nécessaire jusqu'à ce que vous trouviez la fonction qui définit la commande de démarrage de dnsmasq, qui contiendra la ligne --server=8.8.8.8.

Changer l'adresse du serveur DNS en amont

Dans cette étape, vous allez modifier l'adresse du serveur DNS. Vous devriez avoir localisé la ligne contenant l'option --server pour dnsmasq. Par défaut, elle est définie sur le serveur DNS public de Google, 8.8.8.8.

Nous allons la changer pour le serveur DNS public de Cloudflare, 1.1.1.1.

Utilisez vos touches fléchées pour naviguer jusqu'à la ligne :

--server=8.8.8.8 \

Changez-la en :

--server=1.1.1.1 \

Après avoir effectué la modification, vous devez enregistrer le fichier et quitter nano.

  1. Appuyez sur Ctrl + X pour quitter.
  2. nano vous demandera si vous souhaitez enregistrer le tampon modifié. Appuyez sur Y pour Oui.
  3. nano vous demandera ensuite le nom du fichier à écrire. Le nom par défaut est fluxion.sh, ce qui est correct. Appuyez sur Entrée pour confirmer.

Vous avez maintenant modifié le script avec succès.

Relancer l'attaque et tester la résolution DNS

Dans un scénario réel, la prochaine étape consisterait à relancer l'attaque Fluxion. Le faux point d'accès utiliserait alors votre serveur DNS nouvellement configuré (1.1.1.1) pour toutes les requêtes DNS en amont.

Dans cet environnement de laboratoire, nous ne pouvons pas lancer une attaque Wi-Fi complète. Cependant, nous pouvons effectuer une vérification simple pour nous assurer que nos modifications n'ont pas corrompu la syntaxe du script. Nous allons le faire en exécutant le script avec l'option --help.

Tout d'abord, retournez dans le répertoire principal de fluxion :

cd ~/project/fluxion

Maintenant, exécutez le script. Comme Fluxion nécessite des privilèges root pour bon nombre de ses opérations, vous devez utiliser sudo.

sudo ./fluxion.sh --help

Si le script est syntaxiquement correct, il affichera le menu d'aide, confirmant qu'il est toujours exécutable après votre modification.

fluxion 6.8 (rev. 20210101)

  usage: fluxion.sh [-i] [-k] [-d] [-h] [-v]

  options:
    -i, --install          Install dependencies.
    -k, --check-karma      Check if karma patch is applied.
    -d, --debug            Enable debug mode.
    -h, --help             Print this help screen.
    -v, --version          Print version and exit.

Cela confirme que votre modification a réussi et n'a introduit aucune erreur.

Résumé

Dans ce laboratoire, vous avez modifié avec succès le script principal de l'outil Fluxion pour changer son comportement.

Vous avez appris à :

  • Naviguer dans la structure des répertoires d'un projet pour trouver les fichiers de configuration clés.
  • Utiliser un éditeur de texte en ligne de commande (nano) pour visualiser et modifier un script shell.
  • Localiser une configuration spécifique, dans ce cas, les paramètres du service dnsmasq.
  • Changer le serveur DNS en amont du 8.8.8.8 par défaut au 1.1.1.1.
  • Effectuer une vérification syntaxique de base pour s'assurer que le script reste fonctionnel après modification.

Cette compétence est précieuse pour personnaliser et adapter les outils de sécurité afin qu'ils correspondent à vos exigences de test spécifiques et aux conditions de votre réseau.