Identificar um AP Malicioso e Portal Cativo

Beginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá os passos fundamentais para identificar um Ponto de Acesso (AP) malicioso e um portal cativo malicioso. Um AP malicioso é um ponto de acesso sem fio instalado em uma rede sem a autorização explícita do proprietário da rede. Atacantes frequentemente os utilizam para lançar ataques "man-in-the-middle" (homem no meio) para interceptar tráfego.

Um portal cativo é uma página web que os usuários devem visualizar e interagir antes de terem acesso a uma rede pública. Embora muitos hotspots legítimos os utilizem, atacantes podem criar os seus próprios para roubar credenciais (phishing).

Este laboratório simulará este cenário em um ambiente seguro. Você usará ferramentas de linha de comando para escanear redes, identificar uma rede suspeita de "evil twin" (gêmeo maligno) e analisar um portal cativo falso para identificá-lo como uma ameaça.

Escanear Redes Wi-Fi em um Dispositivo Cliente

Nesta etapa, você simulará o escaneamento de redes Wi-Fi disponíveis. Em um cenário real, você usaria ferramentas como nmcli, iwlist ou airodump-ng. Para este laboratório, preparamos um script chamado scan-wifi.sh que imita a saída de um escaneamento de rede. Isso nos permite realizar o laboratório sem a necessidade de hardware Wi-Fi físico.

Todos os arquivos para este laboratório estão localizados no diretório ~/project. Vamos executar o script para ver a lista de redes Wi-Fi simuladas.

Execute o seguinte comando no seu terminal:

~/project/scan-wifi.sh

Você deverá ver uma saída semelhante a esta, listando as redes disponíveis, sua força de sinal e tipo de segurança.

IN-USE  BSSID              SSID        MODE   CHAN  RATE        SIGNAL  BARS  SECURITY
*       AA:BB:CC:11:22:33  CorpWifi    Infra  6     54 Mbit/s   90      ▂▄▆█  WPA2
        AA:BB:CC:44:55:66  CorpWifi    Infra  11    54 Mbit/s   95      ▂▄▆█  --
        DE:F0:12:34:56:78  GuestWifi   Infra  1     54 Mbit/s   70      ▂▄▆_  WPA2

Observe Duas Redes com o Mesmo Nome (ESSID)

Nesta etapa, você analisará os resultados do escaneamento para identificar uma anomalia. O ESSID (Extended Service Set Identifier) é o nome público de uma rede Wi-Fi.

Observe atentamente a saída da etapa anterior. Você deverá notar que duas redes diferentes compartilham o mesmo SSID, "CorpWifi". Este é um sinal clássico de um potencial ataque "Evil Twin" (Gêmeo Maligno). Uma rede é a legítima e a outra é um AP malicioso configurado por um atacante.

A principal diferença está na coluna SECURITY. A rede legítima usa criptografia WPA2, enquanto a rede maliciosa está aberta (indicada por --). Atacantes frequentemente criam redes abertas porque os usuários são mais propensos a se conectar a elas sem precisar de uma senha.

Para tornar isso mais claro, vamos usar o comando grep para filtrar a saída e mostrar apenas as redes chamadas CorpWifi.

~/project/scan-wifi.sh | grep CorpWifi

Este comando produzirá a seguinte saída, destacando as duas redes.

*       AA:BB:CC:11:22:33  CorpWifi    Infra  6     54 Mbit/s   90      ▂▄▆█  WPA2
        AA:BB:CC:44:55:66  CorpWifi    Infra  11    54 Mbit/s   95      ▂▄▆█  --

Conectar à Versão Aberta (Não Criptografada) da Rede

Nesta etapa, simularemos a conexão à rede suspeita e aberta "CorpWifi". Em um cenário real, o sistema operacional do seu dispositivo cuidaria da conexão. Para nossa simulação, "conectar" envolverá iniciar um servidor web local que atuará como o portal cativo do AP malicioso.

Os arquivos para este portal falso estão localizados no diretório ~/project/portal. Executaremos um servidor web Python simples a partir desse diretório. Para manter nosso terminal livre para outros comandos, executaremos o servidor como um processo em segundo plano.

Primeiro, altere seu diretório atual para ~/project/portal:

cd ~/project/portal

Em seguida, inicie o servidor web Python em segundo plano usando o símbolo &:

python3 server.py &

Você verá um ID de processo e uma mensagem de confirmação, indicando que o servidor está em execução.

[1] 1234
Serving captive portal on port 8000

O servidor agora está em execução e escutando conexões na porta 8000, simulando o ambiente da rede maliciosa.

Observe o Redirecionamento Automático para uma Página de Login

Nesta etapa, você verá o portal cativo em ação. Após se conectar a uma rede com um portal cativo, qualquer tentativa de navegar na web é tipicamente interceptada e redirecionada para uma página de login ou termos de serviço.

Simularemos isso usando o comando curl para tentar acessar um site. Como nosso ambiente de rede simulado é controlado pelo servidor Python que acabamos de iniciar, qualquer solicitação HTTP em localhost:8000 será "capturada" e servida com o arquivo index.html do nosso portal.

Use curl para fazer uma solicitação ao servidor local. Isso imita a solicitação inicial de um navegador após se conectar à nova rede.

curl http://localhost:8000

O comando retornará o código-fonte HTML da página de login falsa. Em um navegador real, este código seria renderizado como um formulário de login gráfico.

<!DOCTYPE html>
<html>
  <head>
    <title>CorpWifi Login</title>
    <style>
      body {
        font-family: sans-serif;
        background: #f0f2f5;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100vh;
        margin: 0;
      }
      .login-box {
        background: white;
        padding: 20px 40px;
        border-radius: 8px;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        text-align: center;
      }
      input {
        margin: 10px 0;
        padding: 8px;
        width: 200px;
        border: 1px solid #ddd;
        border-radius: 4px;
      }
      button {
        padding: 10px 20px;
        background-color: #1877f2;
        color: white;
        border: none;
        border-radius: 5px;
        cursor: pointer;
        width: 100%;
      }
    </style>
  </head>
  <body>
    <div class="login-box">
      <h2>CorpWifi Access</h2>
      <p>Please log in to continue.</p>
      <input type="text" placeholder="Username" />
      <br />
      <input type="password" placeholder="Password" />
      <br />
      <button>Log In</button>
      <p style="font-size: 12px; color: #888; margin-top: 15px;">
        Powered by CorpWifi-Login.net
      </p>
    </div>
  </body>
</html>

Reconhecer que a URL não é um Domínio Legítimo

Nesta etapa final, você realizará a verificação crucial que confirma que este é um portal cativo malicioso. O objetivo de tal portal é enganá-lo para que insira suas credenciais em uma página falsa. A maneira mais confiável de identificar uma falsificação é inspecionar o nome de domínio (URL).

Em um navegador real, você verificaria a barra de endereços. Em nossa simulação, podemos inspecionar o conteúdo HTML em busca de pistas. Olhando para o HTML da etapa anterior, podemos encontrar uma linha de texto suspeita na parte inferior. Vamos usar grep para encontrá-la dentro do arquivo index.html.

Primeiro, vamos retornar ao diretório principal do projeto.

cd ~/project

Agora, procure por texto suspeito no arquivo HTML do portal:

grep 'CorpWifi-Login.net' portal/index.html

O comando encontrará e exibirá a linha contendo o domínio suspeito.

    <p style="font-size: 12px; color: #888; margin-top: 15px;">Powered by CorpWifi-Login.net</p>

O domínio CorpWifi-Login.net é altamente suspeito. Atacantes frequentemente registram domínios que soam oficiais, mas não são. Um portal corporativo legítimo seria hospedado no domínio oficial da empresa (por exemplo, wifi.corp.com). Esta descoberta confirma que a rede aberta é um AP malicioso, e a página de login é uma tentativa de phishing.

Resumo

Neste laboratório, você identificou com sucesso um AP malicioso e um portal cativo malicioso através de simulação. Você aprendeu um processo prático, passo a passo, para identificar ameaças comuns de Wi-Fi.

Você realizou o seguinte:

  • Escaneou redes Wi-Fi e identificou um "evil twin" (gêmeo maligno) não criptografado com o mesmo nome de uma rede segura.
  • Simulou a conexão ao AP malicioso iniciando um servidor local.
  • Observou como um portal cativo intercepta o tráfego da web e apresenta uma página de login.
  • Analisou o conteúdo da página de login para encontrar um nome de domínio suspeito e não legítimo, confirmando a tentativa de phishing.

A principal lição é ter sempre cautela com redes Wi-Fi abertas e analisar cuidadosamente a URL de qualquer página de login antes de inserir informações confidenciais.

Finalmente, vamos parar o processo do servidor em segundo plano. O %1 refere-se ao primeiro trabalho em segundo plano.

kill %1