
Una herramienta de reconocimiento para capturar y mostrar SSIDs de la Lista de Redes Preferidas del dispositivo.

Sniffer de Lista de Redes Preferidas (PNLS) es una herramienta de auditoría Wi-Fi para Red Team con una interfaz web simple, capaz de interceptar SSID[^1] de la lista de redes preferidas (PNL)[^2] del dispositivo. Esto se logra mediante la captura de Solicitudes de Sonda en las cercanías, que luego se analizan para obtener el SSID y otra información, y finalmente se propagan a la interfaz web. La motivación principal de este proyecto fue investigar las Solicitudes de Sonda 802.11 y los riesgos de privacidad asociados con los datos que transmiten.
Fig. 1: Vista general del sistema PNLS
[!WARNING] Todo el contenido de este proyecto está destinado únicamente a fines de investigación en seguridad.
[!NOTE]
Este proyecto es parte de mi investigación en curso sobre Protección de la Privacidad en Redes Wi-Fi.
Para monitorear el trabajo en curso en PNLS, consulte el tablero del proyecto.
Esto es lo que necesitará para duplicar e implementar este proyecto, incluidos los componentes de hardware y software. Una vez que tenga su entorno de trabajo listo, diríjase a las secciones de configuración.
sudo airmon-ng start wlan0 [2].[!NOTE]
La imagen de Kali utiliza el kernel de Re4son, que incluye los controladores para tarjetas Wi-Fi externas y el firmware Nexmon para la tarjeta inalámbrica incorporada en RPi 3 y 4 [3].
Fig. 2: PNLS ejecutándose en una RPi 4 con una antena externa y un banco de baterías
Fig. 3: PNLS ejecutándose en una RPi 4 con una carcasa y una antena AWUS036ACS
Fig. 4: PNLS ejecutándose en una RPi 4 con una antena AWUS036ACM
Si no desea usar Docker, diríjase a la configuración sin Docker.
Configure rápidamente una instancia de desarrollo:
# Primero clone este repositorio.
git clone https://github.com/AleksaMCode/Preferred-Network-List-Sniffer.git
# Muévase a la carpeta raíz del proyecto.
cd Preferred-Network-List-Sniffer
# Construya la imagen del backend y del frontend.
docker compose build
# Inicie tanto el backend como el frontend.
docker compose up
# Muévase a la carpeta del sniffer.
cd sniffer
# Ejecute el servicio Sniffer.
sudo python3 sniffer.py
Actualmente, no hay imágenes multi-plataforma disponibles, y el proyecto solo soporta la arquitectura ARM64v8. Descargue las últimas imágenes preconstruidas desde el Registro de Contenedores de GitHub y ejecútelas localmente.
# Primero clone este repositorio.
git clone https://github.com/AleksaMCode/Preferred-Network-List-Sniffer.git
# Muévase a la carpeta raíz del proyecto.
cd Preferred-Network-List-Sniffer
# Descargue las imágenes preconstruidas.
docker pull ghcr.io/aleksamcode/pnls-backend-ghcr:latest
docker pull ghcr.io/aleksamcode/pnls-frontend-ghcr:latest
# Inicie tanto el backend como el frontend.
docker compose up
# Muévase a la carpeta del sniffer.
cd sniffer
# Ejecute el servicio Sniffer.
sudo python3 sniffer.py
Backend: para iniciar los servidores ASGI y Redis y ejecutar los servicios necesarios, consulte estas instrucciones.
Frontend: para ejecutar el servidor React, consulte estas instrucciones.
Aquí hay una captura de pantalla cuando todo se ejecutó "manualmente":