
レッドチーム向けのモジュラー型WLAN監査フレームワーク。Deauthentication、Rogue AP、WPAハンドシェイクキャプチャモジュールを備えています。ワイヤレスネットワークの偵察とエクスプロイトのためのMetasploit風CLIを特徴としています。
Pinecone は WLAN ネットワークの監査ツールであり、レッドチームでの使用に適しています。モジュールによる拡張が可能で、Debian ベースのオペレーティングシステムで動作するように設計されています。Pinecone は特に Raspberry Pi での使用を想定しており、ポータブルな無線監査ボックスとして機能します。
このツールは教育および研究目的のみに設計されています。明示的な許可がある場合のみ使用してください。
Pinecone を実行するには、Debian ベースのオペレーティングシステムが必要です(Raspbian、Raspberry Pi Desktop、Kali Linux でテスト済みです)。Pinecone には以下の要件があります:
apt-get install python3 でインストールできます。apt-get install dnsmasq でインストールできます。apt-get install hostapd-wpe でインストールできます。お使いのディストリビューションのリポジトリに hostapd-wpe パッケージがない場合は、Kali Linux リポジトリのプリコンパイル済みパッケージ を使用してインストールするか、ソースコードからコンパイル してみてください。必要なパッケージをインストールした後、プロジェクトのルートフォルダで pip3 install -r requirements.txt を実行して、Pinecone に必要な Python パッケージをインストールできます。
Pinecone を起動するには、プロジェクトのルートフォルダから python3 pinecone.py を実行します:
root@kali:~/pinecone# python pinecone.py
[i] Database file: ~/pinecone/db/database.sqlite
pinecone >
Pinecone は Metasploit のようなコマンドラインインターフェースで制御します。help と入力すると利用可能なコマンドの一覧が表示され、help 'command' と入力すると特定のコマンドの詳細情報が表示されます:
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 'moduleID' コマンドを使用して、Pinecone モジュールをアクティブにします。Tab キーの自動補完機能を使用して、現在読み込まれているモジュールの一覧を表示できます:
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) >
各モジュールにはオプションがあり、モジュールがアクティブな状態で help run または run --help と入力すると確認できます。ほとんどのモジュールにはオプションのデフォルト値が設定されています(実行前に確認してください):
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)
モジュールがアクティブになると、run [options...] コマンドを使用して機能を開始できます。モジュールは実行状態のフィードバックを提供します:
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...
モジュールがバックグラウンドで実行されている場合(例:scripts/infrastructure/ap)、モジュールの実行中に stop コマンドを使用して停止できます:
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...
モジュールの使用が終わったら、back コマンドを使用して非アクティブにできます。また、再度 use コマンドを発行して別のモジュールをアクティブにすることもできます。
シェルコマンドは shell コマンドまたは ! ショートカットを使用して実行できます:
pinecone > !ls
LICENSE modules module_template.py pinecone pinecone.py README.md requirements.txt TODO.md
現在、Pinecone の偵察用 SQLite データベースは、プロジェクトルートフォルダ内の db/ ディレクトリに保存されています。Pinecone が使用するすべての一時ファイルは、同じくプロジェクトルートフォルダ内の tmp/ ディレクトリに保存されます。