
Marco modular de auditoría WLAN para equipos rojos con módulos de desautenticación, AP falso y captura de handshake WPA. Cuenta con una CLI similar a Metasploit para reconocimiento y explotación de redes inalámbricas.
Pinecone es una herramienta de auditoría de redes WLAN, adecuada para uso de equipos rojos. Es extensible mediante módulos y está diseñada para ejecutarse en sistemas operativos basados en Debian. Pinecone está especialmente orientada a ser usada con una Raspberry Pi, como una caja de auditoría inalámbrica portátil.
Esta herramienta está diseñada solo con fines educativos y de investigación. Úsela únicamente con permiso explícito.
Para ejecutar Pinecone, necesita un sistema operativo basado en Debian (se ha probado en Raspbian, Raspberry Pi Desktop y Kali Linux). Pinecone tiene los siguientes requisitos:
apt-get install python3.apt-get install dnsmasq.apt-get install hostapd-wpe. Si el repositorio de su distribución no tiene un paquete hostapd-wpe, puede intentar instalarlo usando un paquete precompilado del repositorio de Kali Linux, o compilarlo desde su código fuente.Después de instalar los paquetes necesarios, puede instalar los requisitos de paquetes de Python para Pinecone usando en la carpeta raíz del proyecto.
pip3 install -r requirements.txtPara iniciar Pinecone, ejecute python3 pinecone.py desde la carpeta raíz del proyecto:
root@kali:~/pinecone# python pinecone.py
[i] Database file: ~/pinecone/db/database.sqlite
pinecone >
Pinecone se controla mediante una interfaz de línea de comandos similar a Metasploit. Puede escribir help para obtener la lista de comandos disponibles, o help 'comando' para obtener más información sobre un comando específico:
pinecone > help
Documented commands (type help <topic>):
========================================
alias help load pyscript set shortcuts use
edit history py quit shell unalias
Undocumented commands:
======================
back run stop
pinecone > help use
Usage: use module [-h]
Interact with the specified module.
positional arguments:
module module ID
optional arguments:
-h, --help show this help message and exit
Use el comando use 'moduleID' para activar un módulo de Pinecone. Puede usar la auto-completación con Tab para ver la lista de módulos cargados actualmente:
pinecone > use
attack/deauth daemon/hostapd-wpe report/db2json scripts/infrastructure/ap
daemon/dnsmasq discovery/recon scripts/attack/wpa_handshake
pinecone > use discovery/recon
pcn module(discovery/recon) >
Cada módulo tiene opciones, que se pueden ver escribiendo help run o run --help cuando un módulo está activado. La mayoría de los módulos tienen valores predeterminados para sus opciones (verifíquelos antes de ejecutar):
pcn module(discovery/recon) > help run
usage: run [-h] [-i INTERFACE]
optional arguments:
-h, --help show this help message and exit
-i INTERFACE, --iface INTERFACE
monitor mode capable WLAN interface (default: wlan0)
Cuando un módulo está activado, puede usar el comando run [opciones...] para iniciar su funcionalidad. Los módulos proporcionan retroalimentación de su estado de ejecución:
pcn script(attack/wpa_handshake) > run -s TEST_SSID
[i] Sending 64 deauth frames to all clients from AP 00:11:22:33:44:55 on channel 1...
................................................................
Sent 64 packets.
[i] Monitoring for 10 secs on channel 1 WPA handshakes between all clients and AP 00:11:22:33:44:55...
Si el módulo se ejecuta en segundo plano (por ejemplo, scripts/infrastructure/ap), puede detenerlo usando el comando stop cuando el módulo esté en ejecución:
pcn script(infrastructure/ap) > run
net.ipv4.ip_forward = 1
[i] Creating NAT rules in iptables for forwarding wlan0 -> eth0...
[i] Starting hostapd-wpe and dnsmasq...
Configuration file: ~/pinecone/tmp/hostapd-wpe.conf
Using interface wlan0 with hwaddr 00:11:22:33:44:55 and ssid "PINECONEWIFI"
wlan0: interface state UNINITIALIZED->ENABLED
wlan0: AP-ENABLED
pcn script(infrastructure/ap) > stop
[i] Stopping hostapd-wpe and dnsmasq...
net.ipv4.ip_forward = 0
[i] Flushing NAT table in iptables...
Cuando termine de usar un módulo, puede desactivarlo usando el comando back. También puede activar otro módulo emitiendo el comando use nuevamente.
Los comandos del shell pueden ejecutarse con el comando shell o el atajo !:
pinecone > !ls
LICENSE modules module_template.py pinecone pinecone.py README.md requirements.txt TODO.md
Actualmente, la base de datos SQLite de reconocimiento de Pinecone se almacena en el directorio db/ dentro de la carpeta raíz del proyecto. Todos los archivos temporales que Pinecone necesita usar se almacenan en el directorio tmp/ también bajo la carpeta raíz del proyecto.