
Uma ferramenta de reconhecimento para capturar e exibir SSIDs da Lista de Redes Preferidas do dispositivo.

Preferred Network List Sniffer (PNLS) é uma ferramenta de auditoria Wi-Fi da Red Team com uma interface web simples, capaz de interceptar SSIDs[^1] da lista de redes preferidas (PNL)[^2] do dispositivo. Isso é feito capturando Probe Requests nas proximidades, que são então analisados para obter SSID e outras informações e, finalmente, propagados para a interface web. A motivação principal deste projeto foi investigar os Probe Requests 802.11 e os riscos de privacidade associados aos dados que eles transmitem.
Fig. 1: Visão geral do sistema PNLS
[!WARNING] Todo o conteúdo deste projeto é destinado apenas para fins de pesquisa em segurança.
[!NOTE]
Este projeto faz parte da minha pesquisa em andamento sobre Proteção de Privacidade em Redes Wi-Fi.
Para acompanhar o trabalho em andamento no PNLS, consulte o quadro do projeto.
Aqui está o que você precisará para duplicar e implantar este projeto, incluindo os componentes de hardware e software. Depois de ter seu ambiente de trabalho pronto, vá para as seções de configuração.
sudo airmon-ng start wlan0 [2].[!NOTE]
A imagem Kali usa o kernel do Re4son, que inclui os drivers para placas Wi-Fi externas e o firmware Nexmon para a placa sem fio integrada no RPi 3 e 4 [3].
Fig. 2: PNLS executando em um RPi 4 com antena externa e banco de bateria
Fig. 3: PNLS executando em um RPi 4 com uma caixa e uma antena AWUS036ACS
Fig. 4: PNLS executando em um RPi 4 com uma antena AWUS036ACM
Se você não quiser usar Docker, vá para configuração sem Docker.
Configure rapidamente uma instância de desenvolvimento:
# First clone this repo.
git clone https://github.com/AleksaMCode/Preferred-Network-List-Sniffer.git
# Move to the project root folder.
cd Preferred-Network-List-Sniffer
# Build backend and frontend image.
docker compose build
# Bring up both the backend and the frontend server.
docker compose up
# Move into the sniffer folder.
cd sniffer
# Run the Sniffer service.
sudo python3 sniffer.py
Atualmente, imagens multi-plataforma não estão disponíveis, e o projeto suporta apenas a arquitetura ARM64v8. Baixe as imagens pré-construídas mais recentes do GitHub Container Registry e execute-as localmente.
# First clone this repo.
git clone https://github.com/AleksaMCode/Preferred-Network-List-Sniffer.git
# Move to the project root folder.
cd Preferred-Network-List-Sniffer
# Download the prebuild images.
docker pull ghcr.io/aleksamcode/pnls-backend-ghcr:latest
docker pull ghcr.io/aleksamcode/pnls-frontend-ghcr:latest
# Bring up both the backend and the frontend server.
docker compose up
# Move into the sniffer folder.
cd sniffer
# Run the Sniffer service.
sudo python3 sniffer.py
Backend: para iniciar os servidores ASGI e Redis e executar os serviços necessários, veja estas instruções.
Frontend: para executar o servidor React, veja estas instruções.
Aqui está uma captura de tela quando tudo foi executado "manualmente":