
Ein Reconnaissance-Tool zum Erfassen und Anzeigen von SSIDs aus der Liste der bevorzugten Netzwerke eines Geräts.

Sniffer für bevorzugte Netzwerklisten (PNLS) ist ein Red-Team-Wi-Fi-Auditing-Tool mit einer einfachen Web-Oberfläche, das in der Lage ist, SSIDs[^1] aus der bevorzugten Netzwerkliste (PNL)[^2] des Geräts abzufangen. Dies wird erreicht, indem Probe Requests in der nahen Umgebung gesnifft werden, die dann nach SSID und anderen Informationen durchsucht und schließlich an die Web-UI weitergegeben werden. Die Hauptmotivation für dieses Projekt war die Untersuchung von 802.11-Probe-Requests und der Datenschutzrisiken, die mit den von ihnen übertragenen Daten verbunden sind.
Abb. 1: PNLS-Systemüberblick
[!WARNING] Alle Inhalte dieses Projekts dienen ausschließlich Sicherheitsforschungszwecken.
[!NOTE]
Dieses Projekt ist Teil meiner laufenden Forschung zu Datenschutz in Wi-Fi-Netzwerken.
Um die laufenden Arbeiten am PNLS zu verfolgen, siehe das Projekt-Board.
Hier ist, was Sie benötigen, um dieses Projekt zu duplizieren und bereitzustellen, einschließlich der Hardware- und Softwarekomponenten. Sobald Ihre Arbeitsumgebung bereit ist, gehen Sie zu den Einrichtungsabschnitten.
sudo airmon-ng start wlan0 [2].[!NOTE]
Das Kali-Image verwendet den Kernel von Re4son, der die Treiber für externe Wi-Fi-Karten und die Nexmon-Firmware für die eingebaute WLAN-Karte auf dem RPi 3 und 4 enthält [3].
Abb. 2: PNLS läuft auf einem RPi 4 mit einer externen Antenne und einer Powerbank
Abb. 3: PNLS läuft auf einem RPi 4 mit einem Gehäuse und einer AWUS036ACS-Antenne
Abb. 4: PNLS läuft auf einem RPi 4 mit einer AWUS036ACM-Antenne
Wenn Sie Docker nicht verwenden möchten, gehen Sie zu Einrichtung ohne Docker.
Schnell eine Entwicklungsumgebung einrichten:
# 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
Derzeit sind keine Multi-Plattform-Images verfügbar, und das Projekt unterstützt nur die ARM64v8-Architektur. Laden Sie die neuesten vorgebauten Images aus der GitHub Container Registry herunter und führen Sie sie lokal aus.
# 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: Um den ASGI- und Redis-Server zu starten und die benötigten Dienste auszuführen, siehe diese Anleitung.
Frontend: Um den React-Server auszuführen, siehe diese Anleitung.
Hier ist ein Screenshot, als alles "manuell" ausgeführt wurde: