Criar uma Página de Login HTML Personalizada para o Fluxion

Beginner
Pratique Agora

Introdução

Fluxion é uma poderosa ferramenta de auditoria de segurança e pesquisa em engenharia social. Uma de suas funcionalidades mais conhecidas é o ataque de Portal Cativo (Captive Portal), que cria um ponto de acesso Wi-Fi falso e uma página de login para capturar credenciais. Embora o Fluxion venha com várias páginas de login pré-construídas, a criação de uma página personalizada pode tornar suas tentativas de engenharia social muito mais convincentes e adaptadas a um alvo específico.

Neste laboratório, você aprenderá o processo passo a passo para criar sua própria página de login HTML personalizada e integrá-la ao Fluxion. Você navegará pela estrutura de diretórios do Fluxion, criará um novo site, escreverá um formulário de login HTML básico e garantirá que ele se comunique corretamente com o backend do Fluxion.

Nesta etapa, você navegará até o diretório onde o Fluxion armazena seus modelos de portal cativo. Compreender essa estrutura de diretórios é o primeiro passo para adicionar sua própria página personalizada. Todas as operações começarão a partir do diretório ~/project.

Primeiro, vamos entrar no diretório fluxion que foi clonado para você durante o processo de configuração.

cd ~/project/fluxion

Agora, navegue mais profundamente na estrutura de diretórios para encontrar os sites de portal cativo.

cd attacks/Captive\ Portal/sites/

Observe o uso de uma barra invertida \ para escapar o espaço no nome do diretório Captive Portal.

Finalmente, liste o conteúdo deste diretório para ver os modelos de portal existentes. Isso lhe dará uma ideia de como eles estão organizados.

ls -l

Você deverá ver uma lista de diretórios, cada um representando um modelo de página de login diferente.

total 80
drwxr-xr-x 2 labex labex 4096 Dec 12 12:00 ASUS_dark_desktop
drwxr-xr-x 2 labex labex 4096 Dec 12 12:00 Brand_Generic_Alternative_Login_EN
drwxr-xr-x 2 labex labex 4096 Dec 12 12:00 Brand_Generic_Login_EN
drwxr-xr-x 2 labex labex 4096 Dec 12 12:00 D-Link_EN
drwxr-xr-x 2 labex labex 4096 Dec 12 12:00 Linksys_EN
... (e muitos outros)

Você está agora no local correto para criar seu próprio portal.

Criar um Novo Diretório para o Seu Portal Personalizado

Nesta etapa, você criará um diretório dedicado para o seu novo portal personalizado. O Fluxion identifica os portais disponíveis escaneando por diretórios dentro da pasta sites. Cada diretório deve conter um arquivo index.html para ser reconhecido como um portal válido.

Da sua localização atual (~/project/fluxion/attacks/Captive Portal/sites/), use o comando mkdir para criar um novo diretório. Vamos chamá-lo de MyCustomPortal.

mkdir MyCustomPortal

Após criar o diretório, você pode verificar se ele existe listando novamente o conteúdo do diretório sites.

ls

Você deverá ver MyCustomPortal entre os outros diretórios de portal.

ASUS_dark_desktop
Brand_Generic_Alternative_Login_EN
Brand_Generic_Login_EN
...
MyCustomPortal
...

Este novo diretório abrigará todos os arquivos da sua página de login personalizada, começando com o arquivo principal index.html.

Criar um Arquivo 'index.html' com um Formulário de Login

Nesta etapa, você criará o arquivo principal do seu portal: index.html. Este arquivo conterá a estrutura HTML para um formulário de login simples que será apresentado ao usuário.

Primeiro, navegue até o seu diretório recém-criado.

cd MyCustomPortal

Agora, use o editor de texto nano para criar e editar o arquivo index.html.

nano index.html

Dentro do editor nano, cole o seguinte código HTML básico. Este código cria uma página simples com um título, um cabeçalho e um formulário com um campo de senha e um botão de envio.

<!DOCTYPE html>
<html>
  <head>
    <title>Network Login</title>
  </head>
  <body>
    <h1>Please log in to continue</h1>
    <form>
      <p>Password:</p>
      <input type="password" name="pass" />
      <br /><br />
      <input type="submit" value="Login" />
    </form>
  </body>
</html>

Após colar o código, salve o arquivo e saia do nano pressionando Ctrl+X, depois Y e, finalmente, Enter.

Você criou a parte visual da sua página de login. Na próxima etapa, você a configurará para enviar corretamente os dados capturados para o Fluxion.

Garantir que o Formulário Envie para '/login'

Nesta etapa, você modificará o formulário HTML para garantir que ele se comunique corretamente com o backend do Fluxion. Para que o Fluxion intercepte as credenciais, o formulário deve enviar seus dados para um caminho específico (/login) usando um método específico (POST).

Abra o arquivo index.html novamente com o nano.

nano index.html

Localize a tag <form>. Você precisa adicionar dois atributos a ela: method="POST" e action="/login". O atributo method="POST" informa ao navegador para enviar os dados do formulário no corpo da requisição HTTP, e action="/login" especifica o endpoint para onde os dados devem ser enviados. O servidor web do Fluxion escuta neste endpoint para capturar as credenciais.

Modifique seu arquivo index.html para que fique assim:

<!DOCTYPE html>
<html>
  <head>
    <title>Network Login</title>
  </head>
  <body>
    <h1>Please log in to continue</h1>
    <form method="POST" action="/login">
      <p>Password:</p>
      <input type="password" name="pass" />
      <br /><br />
      <input type="submit" value="Login" />
    </form>
  </body>
</html>

Observe as alterações na tag <form>. O atributo name="pass" no campo de entrada também é importante, pois é a chave que o Fluxion usa para identificar a senha enviada.

Salve o arquivo e saia do nano (Ctrl+X, Y, Enter). Seu portal personalizado está agora funcionalmente completo e pronto para ser usado pelo Fluxion.

Reiniciar o Fluxion e Selecionar o Seu Portal Personalizado

Nesta etapa final, você iniciará o Fluxion para confirmar que ele reconhece o seu portal personalizado recém-criado.

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

cd ~/project/fluxion

Agora, execute o script principal do Fluxion com privilégios de sudo. São necessários direitos administrativos para operações de rede.

sudo ./fluxion.sh

Na primeira execução, o Fluxion pode realizar uma verificação de dependências. Se ele solicitar a instalação de ferramentas ausentes, pressione Enter para prosseguir. Assim que as verificações forem concluídas, você será apresentado ao menu principal.

  1. Selecione o seu idioma (por exemplo, digite 1 para Inglês).
  2. No menu de ataques, escolha Captive Portal.

O Fluxion então escaneará o diretório attacks/Captive Portal/sites/ e apresentará uma lista de portais disponíveis. Percorra esta lista e você deverá ver o seu MyCustomPortal como uma das opções.

Você pode selecioná-lo para confirmar que funciona. Como este é um ambiente virtual sem uma placa sem fio física, você não poderá concluir o ataque, mas ver o seu portal na lista confirma que você o integrou com sucesso.

Você pode sair do Fluxion a qualquer momento pressionando Ctrl+C.

Resumo

Parabéns! Você criou e integrou com sucesso uma página de login HTML personalizada no Fluxion.

Neste laboratório, você aprendeu a:

  • Navegar pela estrutura de diretórios interna do Fluxion para localizar os sites do portal cativo.
  • Criar um novo diretório para abrigar os arquivos do seu portal personalizado.
  • Escrever um arquivo index.html básico contendo um formulário de login.
  • Configurar criticamente o formulário para enviar dados (POST) para o endpoint /login, permitindo que o Fluxion capture as credenciais.
  • Iniciar o Fluxion e verificar se o seu portal personalizado é reconhecido e está disponível para uso em um ataque de Portal Cativo.

Esta habilidade permite que você crie páginas de login muito mais direcionadas e críveis para suas avaliações de segurança, aumentando significativamente a eficácia potencial dos seus engajamentos de engenharia social. Você pode aprimorar ainda mais suas páginas adicionando CSS para estilo e JavaScript para conteúdo dinâmico.