
Cadre modulaire d'audit WLAN pour les équipes rouges avec des modules de déauthentification, point d'accès rogue et capture de handshake WPA. Dispose d'une CLI de type Metasploit pour la reconnaissance et l'exploitation des réseaux sans fil.
Pinecone est un outil d'audit des réseaux WLAN, adapté à une utilisation par une red team. Il est extensible via des modules, et est conçu pour être exécuté sur des systèmes d'exploitation basés sur Debian. Pinecone est particulièrement orienté pour être utilisé avec un Raspberry Pi, en tant que boîtier d'audit sans fil portable.
Cet outil est conçu uniquement à des fins éducatives et de recherche. Ne l'utilisez qu'avec une autorisation explicite.
Pour exécuter Pinecone, vous avez besoin d'un système d'exploitation basé sur Debian (il a été testé sur Raspbian, Raspberry Pi Desktop et Kali Linux). Pinecone nécessite les éléments suivants :
apt-get install python3.apt-get install dnsmasq.apt-get install hostapd-wpe. Si votre dépôt de distribution ne contient pas de paquet hostapd-wpe, vous pouvez soit essayer de l'installer en utilisant un paquet précompilé du dépôt Kali Linux, soit le compiler à partir de son code source.Après avoir installé les paquets nécessaires, vous pouvez installer les dépendances Python pour Pinecone en utilisant pip3 install -r requirements.txt dans le dossier racine du projet.
Pour démarrer Pinecone, exécutez python3 pinecone.py depuis le dossier racine du projet :
root@kali:~/pinecone# python pinecone.py
[i] Database file: ~/pinecone/db/database.sqlite
pinecone >
Pinecone est contrôlé via une interface en ligne de commande de type Metasploit. Vous pouvez taper help pour obtenir la liste des commandes disponibles, ou help 'command' pour obtenir plus d'informations sur une commande spécifique :
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
Utilisez la commande use 'moduleID' pour activer un module Pinecone. Vous pouvez utiliser la complétion par tabulation pour voir la liste des modules actuellement chargés :
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) >
Chaque module a des options, qui peuvent être consultées en tapant help run ou run --help lorsqu'un module est activé. La plupart des modules ont des valeurs par défaut pour leurs options (vérifiez-les avant de les exécuter) :
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)
Lorsqu'un module est activé, vous pouvez utiliser la commande run [options...] pour démarrer sa fonctionnalité. Les modules fournissent un retour sur leur état d'exécution :
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 le module s'exécute en arrière-plan (par exemple, scripts/infrastructure/ap), vous pouvez l'arrêter en utilisant la commande stop lorsque le module est en cours d'exécution :
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...
Lorsque vous avez fini d'utiliser un module, vous pouvez le désactiver en utilisant la commande back. Vous pouvez également activer un autre module en redonnant la commande use.
Les commandes shell peuvent être exécutées avec la commande shell ou le raccourci ! :
pinecone > !ls
LICENSE modules module_template.py pinecone pinecone.py README.md requirements.txt TODO.md
Actuellement, la base de données SQLite de reconnaissance de Pinecone est stockée dans le répertoire db/ à l'intérieur du dossier racine du projet. Tous les fichiers temporaires que Pinecone doit utiliser sont stockés dans le répertoire tmp/ également sous le dossier racine du projet.