Modificar la configuración del servidor DNS en Fluxion

Beginner
Practicar Ahora

Introducción

Fluxion es una popular herramienta de investigación de seguridad y ingeniería social. Automatiza el proceso de creación de un punto de acceso Wi-Fi falso y un portal cautivo para capturar credenciales. Por defecto, Fluxion utiliza un servidor DNS upstream preconfigurado (como el 8.8.8.8 de Google) para su servicio DNS.

En algunos escenarios, es posible que desee cambiar este servidor DNS predeterminado. Por ejemplo, podría querer usar un servidor más rápido, uno con capacidades de filtrado específicas o un servidor DNS personalizado que usted controle.

En este laboratorio, aprenderá a localizar y modificar la configuración de dnsmasq dentro del script principal de Fluxion para cambiar la dirección del servidor DNS upstream.

En este paso, navegará al directorio que contiene el script principal de Fluxion. La lógica central y las configuraciones de Fluxion se almacenan en scripts de shell. El script principal que necesitamos modificar es fluxion.sh, que se encuentra dentro del directorio lib.

Primero, use el comando cd (change directory) para moverse al directorio fluxion/lib. Todos los archivos necesarios ya han sido clonados en su directorio ~/project.

cd ~/project/fluxion/lib

A continuación, use el comando ls para listar los archivos en el directorio actual y confirmar que fluxion.sh está presente.

ls

Debería ver fluxion.sh entre los archivos listados.

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

Abrir el script en un editor de texto

En este paso, abrirá el script fluxion.sh utilizando un editor de texto de línea de comandos. Usaremos nano, que es un editor simple y fácil de usar disponible en el entorno de LabEx.

Ejecute el siguiente comando para abrir fluxion.sh en nano:

nano fluxion.sh

Su terminal ahora mostrará el contenido del script dentro del editor nano. Puede navegar por el archivo usando las teclas de flecha. En el siguiente paso, buscaremos la sección de configuración relevante.

Como referencia, aquí hay algunos comandos básicos de nano:

  • Ctrl + W: Buscar texto.
  • Ctrl + X: Salir del editor.

Buscar la sección de configuración de 'dnsmasq'

Ahora que el script está abierto en nano, necesita encontrar la sección donde se configura dnsmasq. Fluxion utiliza dnsmasq para ejecutar un servidor DNS para el punto de acceso falso, que redirige todo el tráfico a la página del portal cautivo.

  1. Presione Ctrl + W para abrir el indicador de búsqueda en la parte inferior del editor.
  2. Escriba dnsmasq y presione Enter.

Esto lo llevará a la primera aparición de la palabra dnsmasq. Está buscando un bloque de código que inicia el servicio dnsmasq. Se verá similar al fragmento a continuación. Observe la opción --server, que especifica el servidor DNS de destino.

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

El comando real que se está ejecutando está dentro del script controller.sh, que a su vez llama a una función que contiene el comando dnsmasq con sus parámetros. La línea que necesitamos cambiar es donde se define el parámetro --server. Continúe buscando si es necesario hasta que encuentre la función que define el comando de inicio de dnsmasq, que contendrá la línea --server=8.8.8.8.

Cambiar la dirección del servidor DNS de destino

En este paso, modificará la dirección del servidor DNS. Debería haber localizado la línea que contiene la opción --server para dnsmasq. Por defecto, está configurada en el servidor DNS público de Google, 8.8.8.8.

La cambiaremos al servidor DNS público de Cloudflare, 1.1.1.1.

Utilice las teclas de flecha para navegar hasta la línea:

--server=8.8.8.8 \

Cámbiela a:

--server=1.1.1.1 \

Después de realizar el cambio, debe guardar el archivo y salir de nano.

  1. Presione Ctrl + X para salir.
  2. nano le preguntará si desea guardar el búfer modificado. Presione Y (Sí).
  3. nano le preguntará el nombre del archivo para escribir. El valor predeterminado es fluxion.sh, que es correcto. Presione Enter para confirmar.

Ahora ha modificado el script con éxito.

Relanzar el ataque y probar la resolución DNS

En un escenario del mundo real, el siguiente paso sería relanzar el ataque de Fluxion. El punto de acceso falso utilizaría entonces su servidor DNS recién configurado (1.1.1.1) para todas las consultas DNS de destino.

En este entorno de laboratorio, no podemos lanzar un ataque Wi-Fi completo. Sin embargo, podemos realizar una comprobación sencilla para asegurarnos de que nuestros cambios no han roto la sintaxis del script. Haremos esto ejecutando el script con la opción --help.

Primero, navegue de vuelta al directorio principal de fluxion:

cd ~/project/fluxion

Ahora, ejecute el script. Dado que Fluxion requiere privilegios de root para muchas de sus operaciones, debe usar sudo.

sudo ./fluxion.sh --help

Si el script es sintácticamente correcto, mostrará el menú de ayuda, confirmando que sigue siendo ejecutable después de su modificación.

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.

Esto confirma que su cambio fue exitoso y no introdujo ningún error.

Resumen

En este laboratorio, ha modificado con éxito el script principal de la herramienta Fluxion para cambiar su comportamiento.

Ha aprendido a:

  • Navegar por la estructura de directorios de un proyecto para encontrar archivos de configuración clave.
  • Utilizar un editor de texto de línea de comandos (nano) para ver y modificar un script de shell.
  • Localizar una configuración específica, en este caso, la configuración del servicio dnsmasq.
  • Cambiar el servidor DNS de destino del valor predeterminado 8.8.8.8 a 1.1.1.1.
  • Realizar una comprobación básica de sintaxis para asegurar que el script sigue siendo funcional después de la modificación.

Esta habilidad es valiosa para personalizar y adaptar herramientas de seguridad a sus requisitos de prueba específicos y condiciones de red.