Modificar a Configuração do Servidor DNS no Fluxion

KubernetesBeginner
Pratique Agora

Introdução

Fluxion é uma ferramenta popular de auditoria de segurança e pesquisa em engenharia social. Ele automatiza o processo de criação de um ponto de acesso Wi-Fi falso e um portal cativo para capturar credenciais. Por padrão, o Fluxion usa um servidor DNS upstream pré-configurado (como o 8.8.8.8 do Google) para seu serviço de DNS.

Em alguns cenários, você pode querer alterar este servidor DNS padrão. Por exemplo, você pode querer usar um servidor mais rápido, um com capacidades de filtragem específicas, ou um servidor DNS personalizado que você controla.

Neste laboratório, você aprenderá como localizar e modificar a configuração do dnsmasq dentro do script principal do Fluxion para alterar o endereço do servidor DNS upstream.

Nesta etapa, você navegará até o diretório que contém o script principal do Fluxion. A lógica central e as configurações para o Fluxion são armazenadas em scripts shell. O script principal que precisamos modificar é o fluxion.sh, que está localizado dentro do diretório lib.

Primeiro, use o comando cd (change directory) para mover para o diretório fluxion/lib. Todos os arquivos necessários já foram clonados no seu diretório ~/project.

cd ~/project/fluxion/lib

Em seguida, use o comando ls para listar os arquivos no diretório atual e confirmar que o fluxion.sh está presente.

ls

Você deverá ver o fluxion.sh entre os arquivos listados.

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

Abra o script em um editor de texto

Nesta etapa, você abrirá o script fluxion.sh usando um editor de texto de linha de comando. Usaremos o nano, que é um editor simples e amigável disponível no ambiente LabEx.

Execute o seguinte comando para abrir o fluxion.sh no nano:

nano fluxion.sh

Seu terminal agora exibirá o conteúdo do script dentro do editor nano. Você pode navegar pelo arquivo usando as teclas de seta. Na próxima etapa, procuraremos a seção de configuração relevante.

Para referência, aqui estão alguns comandos básicos do nano:

  • Ctrl + W: Pesquisar texto.
  • Ctrl + X: Sair do editor.

Procure a seção de configuração do 'dnsmasq'

Agora que o script está aberto no nano, você precisa encontrar a seção onde o dnsmasq é configurado. O Fluxion usa o dnsmasq para executar um servidor DNS para o ponto de acesso falso, que redireciona todo o tráfego para a página do portal cativo.

  1. Pressione Ctrl + W para abrir o prompt de pesquisa na parte inferior do editor.
  2. Digite dnsmasq e pressione Enter.

Isso o levará à primeira ocorrência da palavra dnsmasq. Você está procurando por um bloco de código que inicia o serviço dnsmasq. Ele se parecerá com o trecho abaixo. Observe a opção --server, que especifica o servidor DNS upstream.

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

O comando real que está sendo executado está dentro do script controller.sh, que por sua vez chama uma função contendo o comando dnsmasq com seus parâmetros. A linha que precisamos alterar é onde o parâmetro --server é definido. Continue pesquisando, se necessário, até encontrar a função que define o comando de inicialização do dnsmasq, que conterá a linha --server=8.8.8.8.

Altere o endereço do servidor DNS upstream

Nesta etapa, você modificará o endereço do servidor DNS. Você deve ter localizado a linha que contém a opção --server para o dnsmasq. Por padrão, ele está configurado para o servidor DNS público do Google, 8.8.8.8.

Alteraremos para o servidor DNS público da Cloudflare, 1.1.1.1.

Use suas teclas de seta para navegar até a linha:

--server=8.8.8.8 \

Altere para:

--server=1.1.1.1 \

Após fazer a alteração, você precisa salvar o arquivo e sair do nano.

  1. Pressione Ctrl + X para sair.
  2. O nano perguntará se você deseja salvar o buffer modificado. Pressione Y para Sim.
  3. O nano então perguntará o nome do arquivo para escrever. O padrão é fluxion.sh, que está correto. Pressione Enter para confirmar.

Você agora modificou o script com sucesso.

Reinicie o ataque e teste a resolução DNS

Em um cenário do mundo real, o próximo passo seria reiniciar o ataque do Fluxion. O ponto de acesso falso usaria então seu servidor DNS recém-configurado (1.1.1.1) para todas as consultas DNS upstream.

Neste ambiente de laboratório, não podemos iniciar um ataque Wi-Fi completo. No entanto, podemos realizar uma verificação simples para garantir que nossas alterações não quebraram a sintaxe do script. Faremos isso executando o script com o flag --help.

Primeiro, navegue de volta para o diretório principal do fluxion:

cd ~/project/fluxion

Agora, execute o script. Como o Fluxion requer privilégios de root para muitas de suas operações, você deve usar sudo.

sudo ./fluxion.sh --help

Se o script estiver sintaticamente correto, ele exibirá o menu de ajuda, confirmando que ele ainda é executável após sua modificação.

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.

Isso confirma que sua alteração foi bem-sucedida e não introduziu nenhum erro.

Resumo

Neste laboratório, você modificou com sucesso o script principal da ferramenta Fluxion para alterar seu comportamento.

Você aprendeu a:

  • Navegar pela estrutura de diretórios de um projeto para encontrar arquivos de configuração chave.
  • Usar um editor de texto de linha de comando (nano) para visualizar e modificar um script shell.
  • Localizar uma configuração específica, neste caso, as configurações do serviço dnsmasq.
  • Alterar o servidor DNS upstream do padrão 8.8.8.8 para 1.1.1.1.
  • Realizar uma verificação básica de sintaxe para garantir que o script permaneça funcional após a modificação.

Essa habilidade é valiosa para personalizar e adaptar ferramentas de segurança para atender aos seus requisitos de teste específicos e condições de rede.