
Linux上でのWi-Fi、Bluetooth、802.15.4、SDR/RF、NFC、およびルーター側またはネットワークMITMテスト向けの57個のスタンドアロンモジュールを備えたGTK4およびCLIワイヤレスセキュリティツールキット。
Linux 向けの GTK4 ワイヤレスセキュリティツールキット。Wi-Fi、Bluetooth、RF、ルーター側、ネットワーク MITM の作業をカバーする 57 個のモジュールを 1 つのインターフェースの背後にまとめています。
すべてのモジュールはスタンドアロンのシェルスクリプトです。GUI はそれらを表示するビューであり、コンテナではありません — インターフェースの背後にロックされているものは何もありません。
初期開発段階。 1 台のマシンと 1 つのアダプターで徹底的にテスト済みです。 実際に動作するもののセクションでは、それが何を意味するのかを 正直に説明しており、バグを報告する前に読む価値があります。
sudo bash wifisting.sh を実行すると、カテゴリ別にグループ化された番号付きメニューが表示されます。bash wifisting.sh --list は root 権限を必要とせずにモジュールの可用性を出力します。
ネイティブ GUI。 wifisting-gui は GTK4 + VTE 上に構築され、厳格な TSV プロトコルを通じて同じシェルモジュールを駆動します。約 15,000 行の C コードで、GTK と VTE より重いランタイム依存関係はありません。
モジュールコレクション。 50 以上のシェルスクリプトがあり、それぞれが自己完結型で、それぞれが自身のプロジェクトルートを自己特定し(HOME が /root になる pkexec 配下でも動作)、それぞれにオフラインで実行されハードウェアに触れない --selftest 動詞があります。
GUI と CLI は代替手段ではありません — それらは /tmp/wifisting/ 配下の状態を共有します。GUI の Recon タブでターゲットを選択すると、CLI がそれを認識します。CLI からスキャンを開始すると、GUI のステータスピルが更新されます。
ほとんどのワイヤレスツールは 1 つの領域に深く特化しています。aircrack-ng は Wi-Fi。bettercap はネットワーク MITM。BlueZ ツール群は Bluetooth。評価とは 5 つのツール、5 つの設定フォーマット、そしてターゲットの共有ビューがないことを意味します。
wifisting は意図的に広範です — レイヤーとプロトコルをまたぎ、1 か所にまとめています。また、Responder、mitm6、ntlmrelayx、mdk4、hcxdumptool を再実装するのではなくラップしているため、専門ツールは本来あるべき場所である下層に留まります。
もう 1 つの違いは、ほとんどのツールは動作したと伝えてくるということです。このツールは動作しなかったときにそれを伝えるように作られています。ターゲットが未変更のまま OK を報告するモジュールは、大きな音を立てて失敗するモジュールよりも悪いため、モジュールごとに --selftest があり、ハードウェアに依存するものは空の結果を返す代わりに何が不足しているかを伝えます。
フレームレベルのジャミング。deauth フラッドではなく、実際のリアクティブジャミング、キャリアセンス操作、FCS 破壊を、改変された Atheros ドライバーを通じて駆動します。これには modwifi をカーネル 7.0 に移植する必要があり、それがほとんど誰もこれを提供していない理由です。チャネルの残りには影響を与えずに、1 つのアクセスポイントのビーコンをジャミングできます。
実際の IE 長制御を伴う SSID オーバーフロー。SSID が 32 バイト制限を超え、同じバイトにインジェクションペイロードを運ぶビーコン。公開されている ESP32 ツールではこれができません — WiFi.softAP() は 32 で切り捨てるため、それらはすべてこれを将来の課題として挙げています。フレームを手作業で構築すれば、長さバイトが内容から独立するため、実際に重要なケースに対応できます。
Router Advertisement ポイズニング。mitm6 は DHCPv6 を扱い、Router Advertisement は意図的にスキップするため、DHCPv6 が動作していないネットワークはそれによる影響を受けません。これは RA/SLAAC を行います: 1 つの偽造パケットがすべてのホストのデフォルトルートとリゾルバーを再設定します。
クライアント分離バイパス。ゲートウェイバウンシング、ポートスティーリング、ブロードキャストリフレクション、さらにバイパスを維持するための NIC 間リレー。AirSnitch の研究 (NDSS'26) より。
USB Ethernet MITM。RNDIS ベースの PoisonTap スタイルで、USB ポート経由で実行します。
ルーターのリカバリとコンソール。リカバリモード TFTP、UART/U-Boot のガイダンス、オフラインフラッシュイメージの解析。ワイヤレスのツールでこれを見つけるのは珍しいです。
マルチノードキャプチャ。Pi、VM、ラップトップなど、多数のリモートノードを操作し、それらが観測した内容を相互に関連付けます。
私が最も重要だと主張したいのは、失敗したときにそれを伝えるように作られている点です。すべてのモジュールには --selftest があります。ハードウェアに依存するモジュールは、空の結果を返す代わりに、不足しているハードウェアを明示します。ターゲットに何も手を加えていないのに OK を報告するモジュールは、大きな音を立てて失敗するモジュールよりも悪く、それが私が追いかけているバグの種類です。
| モジュール | 説明 |
|---|---|
00_deps | インストール済みツールを検査し、不足しているパッケージをインストール |
01_iface | ワイヤレスインターフェースを検出し、モニターモードを制御 |
| モジュール | 説明 |
|---|---|
02_recon | ライブスキャン、ターゲット選択、CSV 解析 |
03_attack | Deauth、WPA/WPA2 ハンドシェイクキャプチャ、PMKID |
04_eviltwin | キャプティブポータルと認証情報キャプチャを備えたローグ AP |
08_pmkid_offline | オフラインでの PMKID 抽出と hashcat 変換 |
09_wardrive | カバレッジマッピングのための GPS タグ付きスキャン |
10_rogue_dhcp | 傍受のための悪意ある DHCP サーバー |
11_krack_kr00k | KRACK および Kr00k の鍵再インストール |
17_wps_attack | Pixie Dust および WPS PIN |
20_karma | すべてのプローブリクエストに応答してクライアントを誘い込む |
21_beacon_flood | ビーコンおよび認証フラッド、WIDS の混乱、Michael 対策 |
22_wifi_direct | P2P デバイス、サービス、グループオーナー交渉 |
23_captive_portal_builder | テンプレートからキャプティブポータルの HTML をレンダリング |
34_pmf_bypass | AP ごとの 802.11w 管理フレーム保護の状態 |
35_wifi6_attacks | HE 要素、BSS カラー衝突、TWT、空間再利用 |
47_wpa3_attack | トランジションダウングレード、Dragonblood、SAE キャプチャと辞書 |
48_wep_attack | 偽認証、ARP リプレイ、ChopChop、フラグメンテーション、鍵復元 |
53_jamming | modwifi ドライバによるフレームレベルのジャミング |
54_client_isolation | ゲートウェイバウンス、ポートスティーリング、ブロードキャストリフレクション、NIC 間リレー |
55_ssid_overflow | 32 バイト制限を超える巨大な SSID、同一バイト内へのインジェクション付き |
| モジュール | 説明 |
|---|---|
07_arp | ARP スプーフィングと MITM キャプチャ |
13_802.1x_relay | 802.1X 用の RADIUS リレー |
32_resolver_poison | LLMNR/NBT-NS/mDNS ポイズニング、NTLM リレー、mitm6、ルーターアドバタイズメント |
49_usb_mitm | RNDIS 経由の USB Ethernet MITM |
50_router_lan | TR-064、HNAP、UPnP/SSDP、SNMP、DNS リバインディング、CSRF |
51_router_web | 診断ページのインジェクション、rom-0 の開示、デフォルト認証情報 |
52_router_console | リカバリモード TFTP、UART/U-Boot のガイダンス、オフラインフラッシュ解析 |
| モジュール | 説明 |
|---|---|
05_bt_recon | デバイスの列挙とフィンガープリンティング |
06_bt_attack | BLE スプーフィングと Bluetooth 攻撃プリミティブ |
12_hid_injection | Bluetooth HID によるキーストロークインジェクション |
24_bt_mesh | BLE Mesh のスニッフィングと攻撃 |
36_ble_tracker_hunt | AirTag/SmartTag/Tile の検出と追跡検出 |
37_bt_classic_ssp | Secure Simple Pairing モデルと HCI ログの再構築 |
38_ble_adv_forge | iBeacon、Eddystone、Fast Pair のペイロード構築 |
39_ble_fuzz | 不正な BLE ペイロードのコーパス生成 |
| モジュール | 説明 |
|---|---|
26_zigbee | Zigbee のスニッフィングと攻撃(CC2531 / nRF52840) |
57_thread | Thread メッシュの解析とボーダールーターの検出 |
| モジュール | 説明 |
|---|---|
25_rf_spectrum | SDR スペクトラムスイープ、IQ キャプチャ、チャネル占有率 |
40_wifi_csi | チャネル状態情報の解析とモーション解析 |
42_subghz | Sub-GHz OOK パルス列のデコードとバンドリファレンス |
43_nfc_rfid | NDEF コーデックと MIFARE タグ構造の解析 |
44_lora_loraWAN | LoRa および LoRaWAN |
45_drone_remote_id | ASTM F3411 Remote ID のデコードと構築 |
| モジュール | 説明 |
|---|---|
14_wifi_ids | パッシブ監視とワイヤレス侵入検知 |
15_wifi_cve_scan | 既知の Wi-Fi CVE 露出についてネットワークをプローブ |
16_bt_cve_scan | 既知の CVE 露出について Bluetooth デバイスをプローブ |
18_capture_analysis | pcap の閲覧、ハッシュ抽出、hashcat の駆動 |
19_wordlist_manager | ワードリストとルールのダウンロード、構成、管理 |
27_firmware_iot | ファームウェア抽出、認証情報の収集、CVE スキャン |
27b_fw_update_audit | ファームウェア更新の監査 |
28_live_traffic | ライブトラフィック表示 |
30_fingerprint | クライアント識別、ランダム MAC 検出、相関分析 |
41_wifi_geolocate | BSSID と RSSI からの位置推定 |
46_public_wifi_audit | オープン、WEP、ダウングレード、イビルツインのリスクについて AP を評価 |
| モジュール | 説明 |
|---|---|
29_killchain | 多段階攻撃を連鎖させて再利用可能な実行にまとめる |
31_remote_node | リモートノード(Pi / VM / PC)のフリートを管理 |
インジェクションが可能なアダプタが必要です。
ここに挙げるものは、アプリのビルドや起動には必要ありません。しかし、これらのうち少なくとも 1 つがなければほとんどの機能は動作しないため、それぞれが何をもたらすのかを知っておく価値があります。
必須 — インジェクションが可能な Wi-Fi アダプタ。私が構築とテストに使用したのは Atheros AR9271 です:TP-Link WN722N v1、Alfa AWUS036NHA、Technoethical N150。
Intel アダプタは、インジェクションを含むあらゆる用途では動作しません。アプリは iwlwifi を検出すると、黙って失敗する代わりにその旨を通知しますが、動作を拒否します。モニターモードだけでは不十分です。これらのいずれかがない場合、インターフェースを閲覧してキャプチャを読むことくらいしかできません。
2 台目の Wi-Fi アダプタ — クライアント分離テスト用。このモジュールは、1 台を被害者、もう 1 台を攻撃者として、同時に 2 つのインターフェースがアソシエートされている必要があります。マネージドモードに対応したカードなら何でも 2 台目として使えます。インジェクションは不要です。