Introducción
Bienvenido a este laboratorio sobre la ejecución de Fluxion en un entorno sin cabeza (headless). Fluxion es una popular herramienta de auditoría de seguridad e investigación de ingeniería social. Se utiliza a menudo para tareas que pueden requerir una cantidad significativa de tiempo para completarse.
Un entorno "sin cabeza" (headless) es un sistema que opera sin una interfaz gráfica de usuario (GUI) y se gestiona típicamente de forma remota a través de una red. Al ejecutar tareas largas en una máquina remota, corre el riesgo de interrupción si su conexión de red se cae.
En este laboratorio, aprenderá a utilizar SSH (Secure Shell) para el acceso remoto y tmux (un multiplexor de terminal) para crear una sesión persistente. Esta configuración le permite iniciar una tarea como un escaneo de Fluxion, desconectarse de la máquina remota y que la tarea continúe ejecutándose en segundo plano. Puede volver a conectarse más tarde para comprobar el progreso.
Simularemos todo este proceso dentro del entorno LabEx. Primero instalaremos Fluxion y luego repasaremos los pasos para usar tmux para gestionar el proceso de Fluxion.
Acceder por SSH a su máquina Kali Linux
En un escenario del mundo real, el primer paso sería utilizar un cliente SSH para conectarse desde su ordenador local al servidor remoto (que podría ser una máquina Kali Linux o cualquier otra distribución de Linux). El comando se vería algo así como ssh usuario@direccion_ip_remota.
Para este laboratorio, simularemos este proceso. La terminal que está utilizando actualmente representa su sesión remota en el servidor. El software necesario, Fluxion, ya ha sido descargado en el directorio ~/project/fluxion por el script de configuración.
En este paso, navegaremos al directorio de Fluxion para prepararnos para los siguientes pasos.
Ejecute el siguiente comando para cambiar su directorio actual:
cd ~/project/fluxion
Puede verificar que se encuentra en el directorio correcto ejecutando el comando ls, que debería listar el contenido del repositorio de Fluxion.
ls
CHANGELOG.md fluxion.sh README.md
CONTRIBUTORS.md install requirements.txt
docs LICENSE sites
files Makefile tmp
Usar 'tmux' o 'screen' para crear una sesión persistente
Ahora que estamos "en" la máquina remota y en el directorio correcto, necesitamos crear una sesión persistente. Esto asegura que cualquier comando que ejecutemos dentro de esta sesión continuará ejecutándose incluso si nos desconectamos. Utilizaremos tmux, un potente multiplexor de terminal.
En este paso, creará una nueva sesión de tmux llamada fluxion_session. Esta sesión con nombre es fácil de identificar y volver a adjuntar más tarde.
Ejecute el siguiente comando para iniciar una nueva sesión de tmux:
tmux new -s fluxion_session
Después de ejecutar este comando, su terminal se verá casi igual, pero ahora estará dentro de una sesión de tmux. Notará una barra de estado verde en la parte inferior de la pantalla, que indica que tmux está activo. Cualquier comando que ejecute ahora estará dentro de esta sesión persistente.
Iniciar 'fluxion.sh' desde la sesión de tmux/screen
Con nuestra sesión persistente de tmux activa, ahora podemos iniciar Fluxion de forma segura. Como estamos dentro de tmux, el proceso de Fluxion estará protegido de cualquier posible desconexión de red.
Ya estamos en el directorio ~/project/fluxion desde el Paso 1. El ejecutable principal de Fluxion es el script fluxion.sh. Requiere privilegios de root para gestionar las interfaces de red y ejecutar sus herramientas de ataque, por lo que debemos ejecutarlo con sudo.
Ejecute el siguiente comando para iniciar Fluxion:
sudo ./fluxion.sh
Fluxion se iniciará y puede realizar una comprobación de las herramientas necesarias. Dado que las instalamos en el script de configuración, debería proceder directamente al menú principal. Primero se le pedirá que elija un idioma.
Realizar un ataque como de costumbre a través de la terminal SSH
Ahora que Fluxion se está ejecutando, puede interactuar con su interfaz basada en menús tal como lo haría en una terminal normal.
Primero, Fluxion le pedirá que seleccione un idioma. Escriba 1 y presione Enter para seleccionar Inglés.
[#] Select your language:
[1] English
...
[*] Language> 1
A continuación, Fluxion escaneará las interfaces inalámbricas. En el entorno virtual de LabEx, no hay hardware inalámbrico físico. Por lo tanto, Fluxion informará que no puede encontrar ninguna interfaz adecuada y saldrá. Este es el comportamiento esperado para este laboratorio.
En un escenario del mundo real en una máquina con una tarjeta inalámbrica compatible, vería una lista de interfaces (como wlan0) y procedería a seleccionar un vector de ataque.
Para este laboratorio, el objetivo es simplemente ver el programa en ejecución. Después de que Fluxion muestre el error sobre la falta de adaptadores inalámbricos y salga, volverá al prompt de comandos dentro de su sesión de tmux. Ahora lo reiniciaremos e inmediatamente procederemos al siguiente paso para practicar la desconexión mientras se está "ejecutando".
Por favor, ejecute el script de nuevo:
sudo ./fluxion.sh
Una vez que vea el menú de selección de idioma, puede proceder al siguiente paso. Lo dejaremos ejecutándose en este menú para simular un proceso de larga duración.
Desvincularse de la sesión y dejar que el ataque se ejecute en segundo plano
Este es el paso más crítico. Con Fluxion ejecutándose dentro de nuestra sesión de tmux, ahora podemos "desvincularnos" de la sesión. Esto le devolverá a su terminal principal, pero la sesión de tmux, y Fluxion dentro de ella, continuarán ejecutándose en segundo plano.
Para desvincularse de la sesión de tmux, presione la siguiente combinación de teclas:
Presione Ctrl+b, suelte las teclas y luego presione d (de detach/desvincular).
Verá un mensaje [detached (from session fluxion_session)] y volverá a su shell normal.
¿Cómo puede estar seguro de que la sesión todavía se está ejecutando? Puede listar todas las sesiones activas de tmux con el comando tmux ls.
tmux ls
Debería ver su sesión listada en la salida:
fluxion_session: 1 windows (created ...) [159x41]
Esto confirma que Fluxion todavía se está ejecutando en segundo plano. Ahora podría cerrar su conexión SSH de forma segura y el proceso continuaría.
Para volver a la sesión y comprobar su estado, se "adjunta" a ella usando su nombre.
tmux attach -t fluxion_session
Volverá instantáneamente a la sesión de tmux, justo donde lo dejó, con el menú de idioma de Fluxion visible. Para finalizar el laboratorio, ahora puede presionar Ctrl+C para salir de Fluxion, y luego escribir exit y presionar Enter para cerrar la sesión de tmux.
Resumen
En este laboratorio, ha aprendido con éxito una habilidad crucial para cualquier administrador de sistemas remoto o probador de penetración: ejecutar procesos en un entorno sin cabeza (headless) de forma persistente.
Ha aprendido:
- El concepto de un entorno sin cabeza y por qué las sesiones persistentes son necesarias para tareas de larga duración.
- Cómo simular una conexión remota y navegar por el sistema de archivos.
- Cómo usar
tmuxpara crear una nueva sesión con nombre (tmux new -s). - Cómo lanzar un programa como Fluxion desde dentro de una sesión de
tmux. - El comando clave (
Ctrl+b,d) para desvincularse de una sesión detmux, dejando el proceso en ejecución. - Cómo listar sesiones activas (
tmux ls) y volver a adjuntarse a una sesión en ejecución (tmux attach -t) para reanudar su trabajo.
Esta técnica no se limita a Fluxion; se puede utilizar para cualquier herramienta de línea de comandos o script que necesite ejecutarse durante un período prolongado en una máquina remota.
