
Framework modulare per audit WLAN per red team con moduli di deauthentication, rogue AP e cattura di handshake WPA. Include una CLI in stile Metasploit per ricognizione e sfruttamento di reti wireless.
Pinecone è uno strumento di audit per reti WLAN, adatto per l'uso in red team. È estensibile tramite moduli ed è progettato per essere eseguito su sistemi operativi basati su Debian. Pinecone è particolarmente indicato per l'uso con un Raspberry Pi, come box portatile per audit wireless.
Questo strumento è progettato solo per scopi educativi e di ricerca. Usalo solo con autorizzazione esplicita.
Per eseguire Pinecone, è necessario un sistema operativo basato su Debian (è stato testato su Raspbian, Raspberry Pi Desktop e Kali Linux). Pinecone ha i seguenti requisiti:
apt-get install python3.apt-get install dnsmasq.apt-get install hostapd-wpe. Se il repository della tua distribuzione non include il pacchetto hostapd-wpe, puoi provare a installarlo usando un pacchetto precompilato dal repository di Kali Linux, oppure compilarlo dal suo codice sorgente.Dopo aver installato i pacchetti necessari, puoi installare i requisiti Python di Pinecone usando pip3 install -r requirements.txt nella cartella principale del progetto.
Per avviare Pinecone, esegui python3 pinecone.py dalla cartella principale del progetto:
root@kali:~/pinecone# python pinecone.py
[i] Database file: ~/pinecone/db/database.sqlite
pinecone >
Pinecone è controllato tramite un'interfaccia a riga di comando simile a Metasploit. Puoi digitare help per ottenere l'elenco dei comandi disponibili, oppure help 'comando' per avere maggiori informazioni su un comando specifico:
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
Usa il comando use 'IDmodulo' per attivare un modulo di Pinecone. Puoi usare l'autocompletamento con Tab per vedere l'elenco dei moduli attualmente caricati:
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) >
Ogni modulo ha delle opzioni, che possono essere visualizzate digitando help run o run --help quando un modulo è attivato. La maggior parte dei moduli ha valori predefiniti per le loro opzioni (controllali prima di eseguirli):
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)
Quando un modulo è attivato, puoi usare il comando run [opzioni...] per avviarne la funzionalità. I moduli forniscono feedback sullo stato di esecuzione:
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...
Se il modulo viene eseguito in background (ad esempio, scripts/infrastructure/ap), puoi fermarlo usando il comando stop mentre il modulo è in esecuzione:
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...
Quando hai finito di usare un modulo, puoi disattivarlo usando il comando back. Puoi anche attivare un altro modulo usando di nuovo il comando use.
I comandi shell possono essere eseguiti con il comando shell o con la scorciatoia !:
pinecone > !ls
LICENSE modules module_template.py pinecone pinecone.py README.md requirements.txt TODO.md
Attualmente, il database SQLite di ricognizione di Pinecone è memorizzato nella directory db/ all'interno della cartella principale del progetto. Tutti i file temporanei di cui Pinecone necessita sono memorizzati nella directory tmp/, anch'essa sotto la cartella principale del progetto.