Introdução
Bem-vindo a este laboratório sobre a execução do Fluxion em um ambiente headless. Fluxion é uma ferramenta popular de auditoria de segurança e pesquisa em engenharia social. É frequentemente utilizada para tarefas que podem levar um tempo considerável para serem concluídas.
Um ambiente "headless" é um sistema que opera sem uma interface gráfica de usuário (GUI) e é tipicamente gerenciado remotamente através de uma rede. Ao executar tarefas longas em uma máquina remota, você corre o risco de interrupção se sua conexão de rede cair.
Neste laboratório, você aprenderá a usar o SSH (Secure Shell) para acesso remoto e o tmux (um multiplexador de terminal) para criar uma sessão persistente. Essa configuração permite que você inicie uma tarefa como um escaneamento do Fluxion, desconecte-se da máquina remota e tenha a tarefa continuando a ser executada em segundo plano. Você pode reconectar-se mais tarde para verificar o progresso.
Simularemos todo esse processo dentro do ambiente LabEx. Primeiro, instalaremos o Fluxion e, em seguida, percorreremos os passos para usar o tmux para gerenciar o processo do Fluxion.
Conecte-se via SSH à sua máquina Kali Linux
Em um cenário real, o primeiro passo seria usar um cliente SSH para se conectar do seu computador local ao servidor remoto (que pode ser uma máquina Kali Linux ou qualquer outra distribuição Linux). O comando seria algo como ssh user@remote_ip_address.
Para este laboratório, simularemos este processo. O terminal que você está usando atualmente representa sua sessão remota no servidor. O software necessário, Fluxion, já foi baixado para o diretório ~/project/fluxion pelo script de configuração.
Nesta etapa, vamos navegar para o diretório do Fluxion para nos prepararmos para os próximos passos.
Execute o seguinte comando para mudar seu diretório atual:
cd ~/project/fluxion
Você pode verificar se está no diretório correto executando o comando ls, que deve listar o conteúdo do repositório do Fluxion.
ls
CHANGELOG.md fluxion.sh README.md
CONTRIBUTORS.md install requirements.txt
docs LICENSE sites
files Makefile tmp
Use 'tmux' ou 'screen' para criar uma sessão persistente
Agora que estamos "na" máquina remota e no diretório correto, precisamos criar uma sessão persistente. Isso garante que qualquer comando que executarmos dentro desta sessão continuará a ser executado mesmo que sejamos desconectados. Usaremos o tmux, um poderoso multiplexador de terminal.
Nesta etapa, você criará uma nova sessão tmux chamada fluxion_session. Esta sessão nomeada é fácil de identificar e de se reconectar posteriormente.
Execute o seguinte comando para iniciar uma nova sessão tmux:
tmux new -s fluxion_session
Após executar este comando, seu terminal parecerá quase o mesmo, mas você agora está dentro de uma sessão tmux. Você notará uma barra de status verde na parte inferior da tela, que indica que o tmux está ativo. Quaisquer comandos que você executar agora estarão dentro desta sessão persistente.
Execute 'fluxion.sh' dentro da sessão tmux/screen
Com nossa sessão tmux persistente ativa, podemos agora executar o Fluxion com segurança. Como estamos dentro do tmux, o processo do Fluxion estará protegido contra quaisquer desconexões de rede potenciais.
Já estamos no diretório ~/project/fluxion da Etapa 1. O executável principal do Fluxion é o script fluxion.sh. Ele requer privilégios de root para gerenciar interfaces de rede e executar suas ferramentas de ataque, portanto, devemos executá-lo com sudo.
Execute o seguinte comando para iniciar o Fluxion:
sudo ./fluxion.sh
O Fluxion será iniciado e poderá realizar uma verificação das ferramentas necessárias. Como as instalamos no script de configuração, ele deve prosseguir diretamente para o menu principal. Você será primeiro solicitado a escolher um idioma.
Realize um ataque como de costume através do terminal SSH
Agora que o Fluxion está em execução, você pode interagir com sua interface baseada em menu como faria em um terminal normal.
Primeiro, o Fluxion pedirá para você selecionar um idioma. Digite 1 e pressione Enter para selecionar Inglês.
[#] Select your language:
[1] English
...
[*] Language> 1
Em seguida, o Fluxion irá escanear por interfaces sem fio. No ambiente virtual LabEx, não há hardware sem fio físico. Portanto, o Fluxion relatará que não consegue encontrar nenhuma interface adequada e sairá. Este é o comportamento esperado para este laboratório.
Em um cenário do mundo real em uma máquina com uma placa sem fio compatível, você veria uma lista de interfaces (como wlan0) e prosseguiria para selecionar um vetor de ataque.
Para este laboratório, o objetivo é simplesmente ver o programa em execução. Após o Fluxion exibir o erro sobre adaptadores sem fio ausentes e sair, você retornará ao prompt de comando dentro da sua sessão tmux. Agora vamos executá-lo novamente e prosseguir imediatamente para a próxima etapa para praticar o desanexamento enquanto ele está "em execução".
Por favor, execute o script novamente:
sudo ./fluxion.sh
Assim que vir o menu de seleção de idioma, você pode prosseguir para a próxima etapa. Deixaremos ele em execução neste menu para simular um processo de longa duração.
Desanexe da sessão e deixe o ataque rodar em segundo plano
Este é o passo mais crítico. Com o Fluxion rodando dentro da nossa sessão tmux, podemos agora "desanexar" da sessão. Isso o retornará ao seu terminal principal, mas a sessão tmux — e o Fluxion dentro dela — continuarão a rodar em segundo plano.
Para desanexar da sessão tmux, pressione a seguinte combinação de teclas:
Pressione Ctrl+b, solte as teclas e, em seguida, pressione d (de detach/desanexar).
Você verá uma mensagem [detached (from session fluxion_session)] e retornará ao seu shell normal.
Como você pode ter certeza de que a sessão ainda está em execução? Você pode listar todas as sessões tmux ativas com o comando tmux ls.
tmux ls
Você deverá ver sua sessão listada na saída:
fluxion_session: 1 windows (created ...) [159x41]
Isso confirma que o Fluxion ainda está rodando em segundo plano. Você poderia agora fechar sua conexão SSH com segurança, e o processo continuaria.
Para retornar à sessão e verificar seu status, você se "anexa" a ela usando seu nome.
tmux attach -t fluxion_session
Você será instantaneamente retornado à sessão tmux, exatamente de onde parou, com o menu de idioma do Fluxion visível. Para finalizar o laboratório, você pode agora pressionar Ctrl+C para sair do Fluxion, e então digitar exit e pressionar Enter para fechar a sessão tmux.
Resumo
Neste laboratório, você aprendeu com sucesso uma habilidade crucial para qualquer administrador de sistemas remoto ou testador de penetração: executar processos em um ambiente headless (sem interface gráfica) de forma persistente.
Você aprendeu:
- O conceito de um ambiente headless e por que sessões persistentes são necessárias para tarefas de longa duração.
- Como simular uma conexão remota e navegar pelo sistema de arquivos.
- Como usar
tmuxpara criar uma nova sessão nomeada (tmux new -s). - Como iniciar um programa como o Fluxion dentro de uma sessão
tmux. - O comando chave (
Ctrl+b,d) para desanexar de uma sessãotmux, deixando o processo em execução. - Como listar sessões ativas (
tmux ls) e reanexar a uma sessão em execução (tmux attach -t) para retomar seu trabalho.
Esta técnica não se limita ao Fluxion; pode ser usada para qualquer ferramenta de linha de comando ou script que precise ser executado por um período prolongado em uma máquina remota.
