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.
Navegar para 'attacks/Captive Portal/sites'
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.
- Selecione o seu idioma (por exemplo, digite
1para Inglês). - 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.htmlbá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.
