A captura de pacotes Wi-Fi permite que você confira detalhes e interações que de outra forma seriam mascarados antes de chegarem ao software em execução no dispositivo. Isso faz com que essas capturas sejam uma ferramenta importante para alguns tipos de bugs.
As principais etapas são:
- Encontre o canal certo para explorar.
- Capture o tráfego.
- Compartilhe a captura e um hash da sua senha da WLAN.
1. Determinar o canal e a largura corretos
As redes WLAN operam em:
- canal, normalmente referido com um número. 1 a 13 é para canais de 2,4 GHz, de 36 a 200 para canais de 5 GHz
- com largura específica (20 Mhz, 40 Mhz, 80 Mhz ou 160 MHz)
Cada ponto de acesso (por exemplo, roteador ou nó da rede mesh) na rede geralmente tem um canal exclusivo de 2,4 GHz e um canal de 5 GHz, e você precisa encontrar a que o dispositivo está conectado. Há várias opções:
Usar o painel de controle do roteador
Se você usa Nest WiFi, pule esta opção. A informação não vai ser exposta.
A maioria dos roteadores tem uma lista de dispositivos conectados e qual canal e largura eles estão usando.
- Encontre o endereço IP do roteador usando este guia.
- Acesse o endereço do roteador no navegador da Web, por exemplo, http://192.168.1.1.
- Faça login. Não sabe sua senha? Procure uma tag no roteador ou use Senhas do roteador.
Procure uma página com o nome "clientes" ou "dispositivos conectados". Por exemplo, a página do roteador Netgear pode ser semelhante à mostrada a seguir ou para dispositivos Eero.
Talvez seja necessário procurar outras informações nas configurações para mapear as informações da etapa 4 para um canal e uma largura de banda específicos. Por exemplo, um roteador Netgear:
Use seu Mac, se ele já estiver conectado ao mesmo canal
Mantenha pressionada a tecla Option no teclado e clique no ícone WLAN no canto superior direito da barra de status do Mac. Você verá o menu WLAN normal com mais algumas opções e informações. Veja os itens de menu indisponíveis e procure aquele que menciona o Canal:
`Channel 60 (DFS, 5GHz, 40MHz)`
Não foi possível encontrar o canal e a largura
Se os outros métodos não funcionarem, tente o seguinte:
Liste todos os canais que seus APs estão usando (normalmente dois para cada AP ou ponto da malha).
a. Recomendado: com um smartphone Android, você pode usar um app como o Wifiman ou o Aruba Utilitários.
a. Em um Mac, use
/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport-s
para listar as opções.Realize uma captura curta (até 15 segundos são suficientes) em cada um desses canais, seguindo as instruções abaixo.
Instale o Wireshark (para assistência, consulte Instalar o Wireshark).
Abra cada uma das capturas usando o Wireshark, aplique um filtro de exibição de
wlan.addr == YOUR_DEVICE'S_MAC
e veja se algum pacote é exibido.
2. Iniciar a captura
Importante: captura do handshake de quatro vias
Se a segurança estiver ativada para o Wi-Fi, você precisará conhecer as chaves de criptografia para descriptografar os pacotes capturados. As chaves de criptografia são derivadas de um handshake de quatro vias que ocorre quando o dispositivo se conecta à rede e são exclusivos para cada conexão entre um dispositivo e o AP.
Por isso, é NECESSÁRIO capturar o handshake de quatro vias para descriptografar os payloads de Wi-Fi. Se o dispositivo já estiver conectado à rede quando você iniciar a captura, desconecte e reconecte o dispositivo (ou o reinicie) quando a detecção for iniciada.
Capturar no Mac
Enquanto mantém a tecla Option no teclado pressionada, clique no ícone WLAN e, em seguida, selecione "Open Wireless Diagnostics...":
Na barra de menus "Wireless Diagnostics", selecione Window > Sniffer:
Defina o canal e a largura com os valores recuperados anteriormente (o exemplo da captura de tela é para o Canal 60 e a largura de 40 MHz):
Pressione Start
e digite sua senha. Agora, tente reproduzir o problema.
Captura o handshake de quatro vias de uma conexão, conforme observado em Como capturar o handshake de quatro vias.
Quando terminar, pressione Stop
. Um novo arquivo *.pcap
pode ser encontrado em /var/tmp
, que
contém todo o tráfego. Um exemplo de nome de arquivo é:
(null)_ch100_2018-11-06_10.52.01.pcap
.
Capturar no Linux
Desative o Wi-Fi. Isso pode ser feito das seguintes formas:
- Como usar a GUI (recomendado)
- Usando a CLI do Network Manager para pedir que ele pare de gerenciar a interface
WLAN:
sudo nmcli dev set <wlan-ifname> managed on
- Se estiver usando um gerenciador de rede alternativo, faça os ajustes necessários.
Salve esse script. Substitua
<wlan-ifname>
pelo nome da interface Wi-Fi. Neste documento, o nome do script ésetup-wifi-capture
.#!/usr/bin/env bash sudo ifconfig <wlan-ifname> down sudo rfkill unblock wifi sudo iwconfig <wlan-ifname> mode monitor sudo ifconfig <wlan-ifname> up sudo iw dev <wlan-ifname> set channel $@
Execute o script anterior e transmita o canal e a largura de banda mais alta para detectar. Por exemplo, o canal 153 com largura de banda de 80 MHz:
./setup-wifi-capture chan 153 80 MHz
Abra o Wireshark para capturar pacotes na interface wlan.
3. Compartilhar a captura
Use o Gerador de chave bruta WPA PSK para gerar um hash da sua senha. Assim, é possível descriptografar a captura sem saber sua senha em texto simples.
Também é necessário compartilhar o PSK gerado para que outras pessoas possam descriptografar a captura.
Apêndice
Instalar o Wireshark
É possível instalar o Wireshark usando o comando apt install wireshark no Linux ou fazer o download on-line no site do Wireshark.
Configurar o Wireshark para descriptografar o tráfego
Isso não é necessário para compartilhar os arquivos de captura. Faça isso apenas se você quiser examinar o tráfego descriptografado no Wireshark.
Com a segurança WPA2 no Wi-Fi, o WPA2-PSK não é usado diretamente para criptografia e descriptografia de tráfego. Ele é usado em um handshake de quatro vias, que você precisa capturar para descriptografar pacotes. No entanto, se você estiver apenas tentando capturar problemas com a conexão ao Wi-Fi ou quedas na conectividade, que podem ser extraídas dos frames de gerenciamento de Wi-Fi, não será necessário capturar o handshake de quatro vias. Em ambos os casos, não faz mal capturá-lo de qualquer maneira.
Abra o Wireshark e a página de preferências (menu do Wireshark > Preferências ou **Cmd + , **).
Encontre a seção "IEEE 802.11" na categoria "Protocolos" e verifique se a opção "Ativar descriptografia" está marcada:
Clique no botão Editar ao lado do rótulo Chaves de descriptografia.
Clique no botão "+" no canto inferior esquerdo e selecione a opção "wpa-pwd".
Clique na coluna de chave da linha recém-criada (ao lado da string wpa-pwd), digite o WPA2 PSK e o SSID no formato
<password>:<ssid>
. Por exemplo, se o nome da rede eraMyHomeNetwork
e o WPA2 PSK eramyp4ssword
, digitemyp4ssword:MyHomeNetwork
.Clique em OK para confirmar
Para mais informações, consulte o guia oficial do Wireshark (com capturas de tela) em How to Decrypt 802.11.
Se estiver usando tshark
, transmita os seguintes argumentos:
tshark -o wlan.enable_decryption:TRUE -o 'uat:80211_keys:"wpa-pwd","<psk>:<ssid>"'
Colorir dados do Wireshark 802.11
Há um perfil de cor 802.11 útil localizado em metageek.com: Wireshark Configuration Profile.