Use a Opção 'Without a Spoofer' de SSL Stripping

Beginner
Pratique Agora

Introdução

O SSL stripping é um tipo de ataque Man-in-the-Middle (MITM) que força um navegador web a se conectar a um site através de uma conexão HTTP não criptografada, mesmo que o usuário pretendesse se conectar de forma segura via HTTPS. Isso permite que um atacante intercepte e leia todo o tráfego entre o usuário e o site.

Neste laboratório, você usará a ferramenta Wifiphisher para realizar um ataque de SSL stripping. Especificamente, você explorará a opção 'Without a spoofer' (Sem um spoofer), que se baseia na interceptação e modificação do tráfego sem o uso de um certificado SSL falso. Este exercício prático ajudará você a entender a mecânica deste ataque em um ambiente controlado e seguro.

Lançar o Ataque de Portal Cativo

Nesta etapa, você lançará a ferramenta Wifiphisher para criar um Ponto de Acesso (AP) falso e iniciar um ataque de portal cativo. Como o ambiente virtual LabEx não possui uma placa wireless física, usaremos opções específicas para simular o ataque.

Primeiro, abra um terminal. Executaremos o wifiphisher com sudo porque ele precisa de privilégios elevados para gerenciar interfaces de rede e serviços. Usaremos a opção --nojamming para evitar que ele tente interferir em redes WiFi reais e --essid "Free WiFi" para nomear nossa rede falsa. Também precisamos especificar um cenário de portal cativo; usaremos firmware-upgrade.

Execute o seguinte comando no seu terminal:

sudo wifiphisher --nojamming --essid "Free WiFi" -p firmware-upgrade

Após executar o comando, o Wifiphisher será iniciado. Ele detectará automaticamente suas interfaces de rede. Você pode ser solicitado a selecionar a interface para o AP e a interface para NAT. Para ambas as solicitações, você geralmente pode pressionar Enter para aceitar a escolha padrão, que geralmente é eth0.

Você verá uma saída semelhante a esta enquanto a ferramenta é inicializada:

[*] Starting Wifiphisher 1.4GIT ( https://wifiphisher.org ) at 2023-10-27 10:00
[+] Timezone detected. Setting channel hopping to the appropriate regulatory domain.
[+] Selecting eth0 for the AP interface.
[+] Selecting eth0 for the Internet-connected interface.
...

Ao ser solicitado sobre SSL, selecione a opção 'Without a spoofer'

Nesta etapa, você configurará o método de SSL stripping para o ataque. Após a configuração inicial, o Wifiphisher perguntará como você deseja lidar com o tráfego protegido por SSL/TLS. Esta é uma escolha crítica que determina a natureza do ataque man-in-the-middle.

O Wifiphisher apresentará uma solicitação com duas opções principais:

  1. With a spoofer (Com um spoofer): Este método gera um certificado SSL falso em tempo real e o apresenta ao cliente. Isso geralmente aciona um aviso de segurança no navegador do cliente.
  2. Without a spoofer (Sem um spoofer): Este método tenta rebaixar a conexão para HTTP simples sem usar nenhum certificado. Ele depende do navegador do cliente não impor uma conexão segura.

Você verá uma solicitação como esta no seu terminal:

[?] How do you want to handle SSL/TLS-protected traffic?
1. With a spoofer (Generate a fake cert on the fly and spoof the domain)
2. Without a spoofer (Downgrade to HTTP)
[1/2]:

Para este laboratório, estamos explorando a segunda opção. Digite 2 e pressione Enter.

2

Após fazer sua seleção, o Wifiphisher finalizará a configuração do AP falso e do portal cativo. Ele estará então pronto para aceitar conexões de clientes. O terminal exibirá mensagens indicando que os servidores proxy HTTP e HTTPS estão em execução.

[*] Starting the HTTP and HTTPS proxy servers...
[*] Starting AP...

Nesta etapa, discutiremos o mecanismo por trás da opção de SSL stripping 'Without a spoofer'. Não há comandos para executar aqui; esta seção é para sua compreensão conceitual.

O método 'Without a spoofer' é uma forma de ataque mais sutil. Veja como funciona:

  1. Requisição Inicial: Uma vítima se conecta à sua rede "Free WiFi" falsa. Ela abre o navegador e tenta navegar para um site seguro, por exemplo, https://example.com.
  2. Interceptação: O Wifiphisher, atuando como gateway, intercepta essa requisição antes que ela chegue à internet.
  3. Rebaixamento: Em vez de tentar se passar por example.com com um certificado falso, o Wifiphisher faz algo diferente. Ele encaminha a requisição do usuário para o https://example.com real, mas serve o conteúdo de volta à vítima através de uma conexão http:// simples.
  4. Reescrita de Conteúdo: Crucialmente, o Wifiphisher escaneia o conteúdo HTML que recebe do servidor real e reescreve todos os links. Qualquer link que era https://... é alterado para http://.... Isso mantém o usuário dentro da sessão não criptografada pelo maior tempo possível.

O sucesso deste ataque depende de dois fatores principais:

  • O usuário não notar que o ícone de cadeado do navegador está ausente.
  • O site alvo não usar HTTP Strict Transport Security (HSTS). O HSTS é uma política de segurança que os servidores web podem usar para informar aos navegadores que eles devem ser comunicados apenas via HTTPS. Se um navegador já recebeu um cabeçalho HSTS de um site anteriormente, ele se recusará a conectar via HTTP, frustrando este ataque.

Nesta etapa, simularemos um cliente se conectando ao AP falso e tentando acessar um site seguro. Em um cenário do mundo real, uma vítima conectaria seu dispositivo à rede "Free WiFi". Aqui, simularemos isso usando o comando curl em um novo terminal.

Primeiro, abra uma nova aba no terminal. Você pode fazer isso clicando no ícone + no painel do terminal. Este novo terminal atuará como nosso "cliente vítima".

Neste novo terminal, usaremos curl para tentar acessar um site HTTPS. Usaremos httpforever.com, um site projetado para fins de teste que não impõe HSTS. A flag -v (verbose) nos mostrará informações detalhadas sobre o processo de conexão.

Execute o seguinte comando no novo terminal:

curl -v https://httpforever.com

Como o Wifiphisher está controlando a rede, esta requisição será interceptada. Em vez de chegar ao httpforever.com real, ela será tratada por nossa ferramenta de ataque.

Observe se a Conexão é Rebaixada para HTTP

Nesta etapa, você observará os resultados do ataque nos terminais do cliente e do atacante para confirmar que a conexão foi rebaixada com sucesso.

Primeiro, observe a saída no seu terminal do cliente (onde você executou curl). A saída detalhada mostrará que sua requisição para https://httpforever.com resultou em um redirecionamento. Você verá um código de status 302 Found e um cabeçalho Location apontando para um endereço HTTP, que é a página do portal cativo.

A saída será algo como isto:

*   Trying 10.0.0.1:443...
* Connected to httpforever.com (10.0.0.1) port 443 (#0)
...
< HTTP/1.1 302 Found
< Location: http://10.0.0.2:8080/
< Content-Length: 0
< Date: Fri, 27 Oct 2023 10:05:00 GMT
< Server: Python/3.10 aiohttp/3.8.5
...

Note que o cabeçalho Location redireciona você para um endereço http://. Isso confirma o rebaixamento.

Em seguida, volte para o seu primeiro terminal onde o wifiphisher está em execução. Você verá novas entradas de log mostrando que um cliente se conectou e que suas requisições estão sendo tratadas. Ele registrará a requisição HTTP GET do cliente simulado.

[+] 192.168.1.100 victim-device connected to Free WiFi
[*] Sent a captive portal page to 192.168.1.100
[+] GET 192.168.1.100: http://httpforever.com/

Isso confirma que o atacante está interceptando com sucesso o tráfego em texto puro.

Para finalizar o laboratório, pare a ferramenta Wifiphisher mudando para o seu terminal e pressionando Ctrl+C.

Resumo

Neste laboratório, você demonstrou com sucesso um ataque de SSL stripping usando a opção 'Without a spoofer' no Wifiphisher.

Você aprendeu a:

  • Iniciar o Wifiphisher para criar um AP falso para um ataque de portal cativo.
  • Selecionar o método de SSL stripping 'Without a spoofer'.
  • Simular uma conexão de cliente usando curl em um terminal separado.
  • Observar as evidências do rebaixamento da conexão de HTTPS para HTTP analisando a saída tanto do cliente quanto da ferramenta do atacante.

Este exercício destaca a importância de mecanismos de segurança como o HSTS na proteção contra tais ataques de rebaixamento. Parabéns por completar este laboratório!