Introduction
Bienvenue dans ce laboratoire sur l'exécution de Fluxion dans un environnement sans interface graphique (headless). Fluxion est un outil populaire d'audit de sécurité et de recherche en ingénierie sociale. Il est souvent utilisé pour des tâches qui peuvent prendre un temps considérable à être complétées.
Un environnement "sans interface graphique" (headless) est un système qui fonctionne sans interface utilisateur graphique (GUI) et qui est généralement géré à distance sur un réseau. Lorsque vous exécutez des tâches longues sur une machine distante, vous risquez une interruption si votre connexion réseau est perdue.
Dans ce laboratoire, vous apprendrez à utiliser SSH (Secure Shell) pour l'accès à distance et tmux (un multiplexeur de terminal) pour créer une session persistante. Cette configuration vous permet de démarrer une tâche telle qu'un scan Fluxion, de vous déconnecter de la machine distante, et de laisser la tâche continuer à s'exécuter en arrière-plan. Vous pourrez vous reconnecter plus tard pour vérifier la progression.
Nous allons simuler l'intégralité de ce processus au sein de l'environnement LabEx. Nous installerons d'abord Fluxion, puis nous passerons en revue les étapes d'utilisation de tmux pour gérer le processus Fluxion.
Connexion SSH à votre machine Kali Linux
Dans un scénario réel, la première étape consisterait à utiliser un client SSH pour se connecter depuis votre ordinateur local au serveur distant (qui pourrait être une machine Kali Linux ou toute autre distribution Linux). La commande ressemblerait à quelque chose comme ssh user@remote_ip_address.
Pour ce laboratoire, nous allons simuler ce processus. Le terminal que vous utilisez actuellement représente votre session distante sur le serveur. Le logiciel nécessaire, Fluxion, a déjà été téléchargé dans le répertoire ~/project/fluxion par le script de configuration.
Dans cette étape, naviguons dans le répertoire Fluxion pour nous préparer aux étapes suivantes.
Exécutez la commande suivante pour changer votre répertoire actuel :
cd ~/project/fluxion
Vous pouvez vérifier que vous êtes dans le bon répertoire en exécutant la commande ls, qui devrait lister le contenu du dépôt Fluxion.
ls
CHANGELOG.md fluxion.sh README.md
CONTRIBUTORS.md install requirements.txt
docs LICENSE sites
files Makefile tmp
Utiliser 'tmux' ou 'screen' pour créer une session persistante
Maintenant que nous sommes "sur" la machine distante et dans le bon répertoire, nous devons créer une session persistante. Cela garantit que toute commande que nous exécutons dans cette session continuera de s'exécuter même si nous sommes déconnectés. Nous utiliserons tmux, un puissant multiplexeur de terminal.
Dans cette étape, vous allez créer une nouvelle session tmux nommée fluxion_session. Cette session nommée est facile à identifier et à rattacher plus tard.
Exécutez la commande suivante pour démarrer une nouvelle session tmux :
tmux new -s fluxion_session
Après avoir exécuté cette commande, votre terminal semblera presque identique, mais vous êtes maintenant à l'intérieur d'une session tmux. Vous remarquerez une barre de statut verte en bas de l'écran, qui indique que tmux est actif. Toutes les commandes que vous exécuterez maintenant seront dans cette session persistante.
Lancer 'fluxion.sh' depuis la session tmux/screen
Avec notre session tmux persistante active, nous pouvons maintenant lancer Fluxion en toute sécurité. Parce que nous sommes à l'intérieur de tmux, le processus Fluxion sera protégé de toute déconnexion réseau potentielle.
Nous sommes déjà dans le répertoire ~/project/fluxion depuis l'Étape 1. L'exécutable principal de Fluxion est le script fluxion.sh. Il nécessite des privilèges root pour gérer les interfaces réseau et exécuter ses outils d'attaque, nous devons donc l'exécuter avec sudo.
Exécutez la commande suivante pour démarrer Fluxion :
sudo ./fluxion.sh
Fluxion démarrera et pourra effectuer une vérification des outils requis. Comme nous les avons installés dans le script de configuration, il devrait passer directement au menu principal. Il vous sera d'abord demandé de choisir une langue.
Effectuer une attaque comme d'habitude via le terminal SSH
Maintenant que Fluxion est en cours d'exécution, vous pouvez interagir avec son interface à base de menus comme vous le feriez dans un terminal normal.
Tout d'abord, Fluxion vous demandera de sélectionner une langue. Tapez 1 et appuyez sur Entrée pour sélectionner l'anglais.
[#] Select your language:
[1] English
...
[*] Language> 1
Ensuite, Fluxion recherchera les interfaces sans fil. Dans l'environnement virtuel LabEx, il n'y a pas de matériel sans fil physique. Par conséquent, Fluxion signalera qu'il ne trouve aucune interface appropriée et se terminera. C'est un comportement attendu pour ce laboratoire.
Dans un scénario réel sur une machine dotée d'une carte sans fil compatible, vous verriez une liste d'interfaces (comme wlan0) et vous pourriez sélectionner un vecteur d'attaque.
Pour ce laboratoire, l'objectif est simplement de voir le programme s'exécuter. Après que Fluxion ait affiché l'erreur concernant les adaptateurs sans fil manquants et se soit terminé, vous reviendrez à l'invite de commande dans votre session tmux. Nous allons maintenant le relancer et passer immédiatement à l'étape suivante pour nous entraîner à nous détacher pendant qu'il est "en cours d'exécution".
Veuillez exécuter à nouveau le script :
sudo ./fluxion.sh
Une fois que vous voyez le menu de sélection de la langue, vous pouvez passer à l'étape suivante. Nous le laisserons en cours d'exécution à ce menu pour simuler un processus de longue durée.
Détacher de la session et laisser l'attaque s'exécuter en arrière-plan
C'est l'étape la plus critique. Avec Fluxion en cours d'exécution dans notre session tmux, nous pouvons maintenant nous "détacher" de la session. Cela vous ramènera à votre terminal principal, mais la session tmux — et Fluxion à l'intérieur — continuera de s'exécuter en arrière-plan.
Pour vous détacher de la session tmux, appuyez sur la combinaison de touches suivante :
Appuyez sur Ctrl+b, relâchez les touches, puis appuyez sur d (pour detach).
Vous verrez un message [detached (from session fluxion_session)] et vous serez de retour dans votre shell habituel.
Comment être sûr que la session est toujours en cours d'exécution ? Vous pouvez lister toutes les sessions tmux actives avec la commande tmux ls.
tmux ls
Vous devriez voir votre session listée dans la sortie :
fluxion_session: 1 windows (created ...) [159x41]
Cela confirme que Fluxion est toujours en cours d'exécution en arrière-plan. Vous pourriez maintenant fermer votre connexion SSH en toute sécurité, et le processus continuerait.
Pour revenir dans la session afin de vérifier son état, vous vous y "attachez" en utilisant son nom.
tmux attach -t fluxion_session
Vous serez instantanément ramené à la session tmux, exactement là où vous vous étiez arrêté, avec le menu de langue de Fluxion visible. Pour terminer le laboratoire, vous pouvez maintenant appuyer sur Ctrl+C pour quitter Fluxion, puis taper exit et appuyer sur Entrée pour fermer la session tmux.
Résumé
Dans ce laboratoire, vous avez acquis avec succès une compétence cruciale pour tout administrateur système à distance ou testeur d'intrusion : l'exécution persistante de processus dans un environnement sans tête (headless).
Vous avez appris :
- Le concept d'un environnement sans tête et pourquoi les sessions persistantes sont nécessaires pour les tâches de longue durée.
- Comment simuler une connexion à distance et naviguer dans le système de fichiers.
- Comment utiliser
tmuxpour créer une nouvelle session nommée (tmux new -s). - Comment lancer un programme comme Fluxion depuis une session
tmux. - La commande clé (
Ctrl+b,d) pour se détacher d'une sessiontmux, laissant le processus s'exécuter. - Comment lister les sessions actives (
tmux ls) et se rattacher à une session en cours d'exécution (tmux attach -t) pour reprendre votre travail.
Cette technique ne se limite pas à Fluxion ; elle peut être utilisée pour tout outil en ligne de commande ou script qui doit s'exécuter pendant une période prolongée sur une machine distante.
