
Uno strumento di ricognizione per catturare e visualizzare SSID dalla Preferred Network List del dispositivo.

Sniffer della Lista di Reti Preferite (PNLS) è uno strumento di auditing Wi-Fi per Red Team con una semplice interfaccia web, in grado di intercettare gli SSID[^1] dalla lista delle reti preferite (PNL)[^2] del dispositivo. Ciò è realizzato sniffando le Probe Request nelle vicinanze, che vengono poi analizzate per estrarre SSID e altre informazioni e infine propagate nell'interfaccia web. La motivazione principale di questo progetto è stata quella di esaminare le Probe Request 802.11 e i rischi per la privacy associati ai dati che trasmettono.
Fig. 1: Panoramica del sistema PNLS
[!WARNING] Tutto il contenuto di questo progetto è destinato esclusivamente a scopi di ricerca sulla sicurezza.
[!NOTE]
Questo progetto fa parte della mia ricerca in corso sulla Protezione della Privacy nelle Reti Wi-Fi.
Per monitorare il lavoro in corso sul PNLS, consulta la bacheca del progetto.
Ecco cosa ti servirà per duplicare e distribuire questo progetto, inclusi sia i componenti hardware che software. Una volta che il tuo ambiente di lavoro è pronto, vai alla sezione di configurazione.
sudo airmon-ng start wlan0 [2].[!NOTE]
L'immagine Kali utilizza il kernel di Re4son, che include i driver per schede Wi-Fi esterne e il firmware Nexmon per la scheda wireless integrata su RPi 3 e 4 [3].
Fig. 2: PNLS in esecuzione su un RPi 4 con antenna esterna e power bank
Fig. 3: PNLS in esecuzione su un RPi 4 con custodia e antenna AWUS036ACS
Fig. 4: PNLS in esecuzione su un RPi 4 con antenna AWUS036ACM
Se non vuoi usare Docker, vai alla configurazione senza Docker.
Configura rapidamente un'istanza di sviluppo:
# 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
Attualmente, le immagini multi-piattaforma non sono disponibili e il progetto supporta solo l'architettura ARM64v8. Scarica le ultime immagini precostruite dal GitHub Container Registry ed eseguile 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: per avviare i server ASGI e Redis e per eseguire i servizi necessari, consulta queste istruzioni.
Frontend: per eseguire il server React, consulta queste istruzioni.
Ecco uno screenshot di quando tutto è stato eseguito "manualmente":