
Estrutura modular de auditoria WLAN para equipes vermelhas com módulos de desautenticação, AP falso e captura de handshake WPA. Possui uma CLI semelhante ao Metasploit para reconhecimento e exploração de redes sem fio.
Pinecone é uma ferramenta de auditoria de redes WLAN, adequada para uso em red team. É extensível por meio de módulos e foi projetada para ser executada em sistemas operacionais baseados em Debian. Pinecone é especialmente orientada para uso com um Raspberry Pi, como uma caixa de auditoria sem fio portátil.
Esta ferramenta foi projetada apenas para fins educacionais e de pesquisa. Use-a somente com permissão explícita.
Para executar o Pinecone, você precisa de um sistema operacional baseado em Debian (foi testado no Raspbian, Raspberry Pi Desktop e Kali Linux). O Pinecone possui os seguintes requisitos:
apt-get install python3.apt-get install dnsmasq.apt-get install hostapd-wpe. Se o repositório da sua distribuição não tiver um pacote hostapd-wpe, você pode tentar instalá-lo usando um pacote pré-compilado do repositório Kali Linux, ou compilar a partir do código-fonte.Após instalar os pacotes necessários, você pode instalar os requisitos de pacotes Python para o Pinecone usando pip3 install -r requirements.txt na pasta raiz do projeto.
Para iniciar o Pinecone, execute python3 pinecone.py a partir da pasta raiz do projeto:
root@kali:~/pinecone# python pinecone.py
[i] Database file: ~/pinecone/db/database.sqlite
pinecone >
O Pinecone é controlado por uma interface de linha de comando semelhante ao Metasploit. Você pode digitar help para obter a lista de comandos disponíveis, ou help 'command' para obter mais informações sobre um 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 o comando use 'moduleID' para ativar um módulo Pinecone. Você pode usar a auto-completação com Tab para ver a lista de módulos carregados atualmente:
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 possui opções, que podem ser visualizadas digitando help run ou run --help quando um módulo está ativado. A maioria dos módulos tem valores padrão para suas opções (verifique-os antes de executar):
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 um módulo está ativado, você pode usar o comando run [options...] para iniciar sua funcionalidade. Os módulos fornecem feedback do seu estado de execução:
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 o módulo roda em segundo plano (por exemplo, scripts/infrastructure/ap), você pode pará-lo usando o comando stop quando o módulo estiver em execução:
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 você terminar de usar um módulo, pode desativá-lo usando o comando back. Você também pode ativar outro módulo emitindo o comando use novamente.
Comandos do shell podem ser executados com o comando shell ou com o atalho !:
pinecone > !ls
LICENSE modules module_template.py pinecone pinecone.py README.md requirements.txt TODO.md
Atualmente, o banco de dados SQLite de reconhecimento do Pinecone é armazenado no diretório db/ dentro da pasta raiz do projeto. Todos os arquivos temporários que o Pinecone precisa usar são armazenados no diretório tmp/ também sob a pasta raiz do projeto.