Wi-Fiセキュリティの評価やペネトレーションテストにおいて、Aircrack-ngスイートは非常に強力なツール群です。その中でも、besside-ng-crawler
は、特定のタスクを自動化し、効率化するための便利なツールです。
このブログ記事では、besside-ng-crawler
の基本的な使い方と、それがどのようにWi-Fiセキュリティ評価プロセスに役立つかについて詳しく解説します。💪
⚠️ 重要:
この記事で紹介するツールや技術は、教育目的および自身が管理するネットワーク、または明示的な許可を得たネットワークのセキュリティ評価のみに使用してください。許可なく他者のネットワークにアクセスしたり、攻撃を試みたりすることは、法律で固く禁じられており、重大な罰則の対象となります。ツールは責任を持って倫理的に使用してください。
besside-ng-crawler とは何か? 🤔
besside-ng-crawler
は、Aircrack-ngスイートに含まれるコマンドラインツールの一つです。主な目的は、指定されたディレクトリ内にある複数のPCAP(パケットキャプチャ)ファイルを再帰的にスキャンし、その中からWPA/WPA2ネットワークに関連する重要なフレーム、特にEAPOL(Extensible Authentication Protocol over LAN)フレーム(これには4ウェイハンドシェイクが含まれます)とビーコンフレームを抽出して、一つのファイルにまとめることです。
大量のキャプチャファイルを手動で確認し、ハンドシェイクが含まれているかを探すのは非常に時間がかかる作業です。besside-ng-crawler
は、このプロセスを自動化し、後のaircrack-ng
によるパスワードクラック試行に必要なデータだけを効率的に集約します。
このツールは、besside-ng
(WEPクラックとWPAハンドシェイク収集を自動化するツール)などによって生成された複数のログファイルを処理するのに特に役立ちます。
関連ツール:
- Aircrack-ng: WEPおよびWPA/WPA2-PSKキーのクラッキングツール本体。
- Airodump-ng: 802.11フレームのキャプチャツール。周辺のアクセスポイントやクライアント情報を収集します。
- Aireplay-ng: パケットインジェクションツール。認証解除攻撃(Deauthentication Attack)などでハンドシェイクの取得を促進します。
- Airmon-ng: ワイヤレスインターフェースをモニターモードに設定/解除します。
- Besside-ng: 範囲内の全てのWEPネットワークのクラックとWPAハンドシェイクのログ記録を自動化するツール。
- Wpaclean: キャプチャファイルから不要なフレームを除去し、aircrack-ngで処理しやすいようにハンドシェイクをクリーンアップするツール。
前提条件と準備 🛠️
besside-ng-crawler
を使用する前に、以下の準備が必要です。
-
Aircrack-ngスイートのインストール:
besside-ng-crawler
はAircrack-ngの一部です。Kali Linuxなどのペネトレーションテスト用ディストリビューションには通常プリインストールされていますが、そうでない場合は公式サイトやパッケージマネージャからインストールする必要があります。一部のディストリビューションでは、標準リポジトリに含まれるAircrack-ngパッケージにbesside-ng
やbesside-ng-crawler
などの「実験的」ツールが含まれていない場合があります。その場合は、ソースからコンパイルするか、開発版をインストールする必要があるかもしれません。ソースから実験的機能を含めてビルドする場合(依存関係のインストールが必要):
依存パッケージとして
libpcap-dev
が必要になることがあります。 -
キャプチャファイル (PCAP):
airodump-ng
やbesside-ng
などで収集された、WPAハンドシェイクが含まれている可能性のあるPCAPファイルが必要です。これらのファイルが保存されているディレクトリを指定します。 - Linux環境: Aircrack-ngスイートは主にLinux向けに開発されていますが、macOSやWindows (CygwinやWSL経由) でも動作します。コマンド例はLinuxを想定しています。
基本的な使い方 🚀
besside-ng-crawler
の基本的な構文は非常にシンプルです。
- <入力ディレクトリ>: WPAハンドシェイクが含まれる可能性のあるPCAPファイルが保存されているディレクトリのパスを指定します。このディレクトリ内のサブディレクトリも再帰的に検索されます。
- <出力ファイル>: 抽出されたビーコンフレームとEAPOLフレームを保存する新しいPCAPファイルの名前を指定します。
実行例:
例えば、/home/user/captures
ディレクトリ内に複数のPCAPファイルがあり、そこからハンドシェイク関連フレームを抽出して /home/user/handshakes.cap
というファイルに保存したい場合、以下のコマンドを実行します。
コマンドが実行されると、指定された入力ディレクトリ内をスキャンし、見つかったPCAPファイルからWPAネットワークのビーコンフレームと全てのEAPOLフレームを抽出し、指定された出力ファイルに書き込みます。処理が完了すると、handshakes.cap
ファイルには、複数のアクセスポイントのハンドシェイク情報が混在した状態で保存されます。
このツール自体には多くのオプションはありません。主な機能は、指定されたディレクトリ構造から関連フレームをフィルタリングして集約することに特化しています。
抽出されたファイルの活用方法 ✨
besside-ng-crawler
によって生成された出力ファイル(例: handshakes.cap
)は、WPA/WPA2のパスワードクラック試行のための準備ができたデータセットとなります。このファイルには、複数のネットワークからのハンドシェイクが含まれている可能性があります。
次に、このファイルをaircrack-ng
に渡して、実際のクラック処理を行います。aircrack-ng
は、ファイル内の各ハンドシェイクを識別し、指定されたワードリスト(パスワード辞書)を使ってパスワードのブルートフォース攻撃または辞書攻撃を試みます。
/home/user/handshakes.cap
:besside-ng-crawler
で生成したファイル。-w /path/to/your/wordlist.txt
: パスワードクラック試行に使用するワードリストファイルのパス。
aircrack-ng
はファイル内のハンドシェイクを検出し、リスト表示します。ユーザーは通常、クラック対象のネットワークを選択するか、全てのネットワークに対して順に攻撃を試みます。
また、wpaclean
ツールを使用して、besside-ng-crawler
が出力したファイルをさらにクリーンアップすることも可能です。これにより、不完全なハンドシェイクや不要なフレームが除去され、aircrack-ng
での処理効率が向上することがあります。
上記のコマンドは、handshakes.cap
をクリーンアップし、結果をcleaned_handshakes.cap
に保存します。その後、cleaned_handshakes.cap
をaircrack-ng
で使用します。
WPAハンドシェイクについて理解する 🤝
besside-ng-crawler
が抽出するEAPOLフレームは、WPA/WPA2の認証プロセス、特に「4ウェイハンドシェイク」に不可欠な要素です。
4ウェイハンドシェイクとは?
これは、クライアントデバイス(例: スマートフォン、ラップトップ)がWPA/WPA2で保護されたアクセスポイントに接続する際に行われる4つのステップからなる認証プロセスです。このプロセスを通じて、クライアントとアクセスポイントは互いを認証し、データ通信を暗号化するための一時的な鍵(Pairwise Transient Key – PTK)を安全に生成・共有します。
4ウェイハンドシェイクの目的:
- アクセスポイントが、クライアントが正しい事前共有鍵(PSK)を知っていることを確認する。
- クライアントが、アクセスポイントが正しいPSKを知っていることを確認する。
- データ暗号化に使用する一時的な鍵(PTK)と、マルチキャスト/ブロードキャスト通信用の鍵(Group Temporal Key – GTK)を生成・配布する。
- リプレイ攻撃(過去の通信を再送する攻撃)を防ぐための仕組みを確立する。
aircrack-ng
がWPA/WPA2パスワードをクラックするためには、この4ウェイハンドシェイクの4つのメッセージ全て(または最低でも最初の2つ)をキャプチャする必要があります。besside-ng-crawler
は、キャプチャファイルの中からこれらの重要なEAPOLフレームを効率的に見つけ出し、集約する役割を果たします。
ハンドシェイク自体にはパスワードそのものは含まれていません。しかし、ハンドシェイクと既知のパスワード候補から計算される値を比較することで、正しいパスワードを推測することが可能になります。これがaircrack-ng
が行う辞書攻撃やブルートフォース攻撃の基本的な仕組みです。
besside-ng との関係性 🔄
besside-ng-crawler
は、しばしば besside-ng
と組み合わせて使われます。besside-ng
は、周辺のWi-Fiネットワークを自動的にスキャンし、WEPで暗号化されたネットワークがあればそれをクラックしようとし、WPA/WPA2ネットワークがあればそのハンドシェイクをキャプチャしてログファイル(デフォルトでは `besside.log` という名前のPCAPファイル)に保存するツールです。
besside-ng
は非常にアグレッシブなツールで、特定のターゲットを指定しない場合、範囲内の全てのネットワークに対して攻撃を試みます。これは法的な問題を引き起こす可能性が非常に高いため、使用には最大限の注意が必要です。通常は -b <BSSID>
オプションでターゲットを絞るべきです。
besside-ng
を長時間実行したり、異なる場所で複数回実行したりすると、複数のログファイルが生成されることがあります。これらのログファイルには、成功したWEPクラックの結果や、キャプチャされたWPAハンドシェイクが含まれます。
ここで besside-ng-crawler
の出番です。besside-ng
が生成した複数のログファイル(PCAP形式)が保存されているディレクトリを besside-ng-crawler
に入力として与えることで、それらのファイルからWPAハンドシェイクに関連するフレームだけを抽出し、一つのファイルにまとめることができます。これにより、後の aircrack-ng
による解析作業が容易になります。
🚨 警告:
besside-ng
は、許可なく使用すると違法となる可能性のある攻撃的な動作(例: 認証解除攻撃)を自動的に行います。自身が管理するネットワーク、または明確な許可を得たネットワーク以外では絶対に使用しないでください。
倫理的配慮と法的側面 ⚖️
besside-ng-crawler
自体は、既存のファイルからデータを抽出するだけのツールであり、直接的な攻撃を行うものではありません。しかし、その入力となるPCAPファイルは、多くの場合、airodump-ng
やbesside-ng
などの能動的な監視・攻撃ツールによって生成されます。
Aircrack-ngスイートに含まれるツールの使用は、以下の点に留意する必要があります。
- 許可の重要性: 他人のWi-Fiネットワークのトラフィックをキャプチャしたり、セキュリティをテストしたりする行為は、そのネットワークの所有者から書面による明確な許可を得ている場合にのみ合法かつ倫理的です。許可なくこれらのツールを使用することは、プライバシーの侵害や不正アクセスとみなされ、法的な処罰の対象となります。
- 目的の正当性: これらのツールは、自身のネットワークのセキュリティ強度を評価したり、企業や組織がペネトレーションテストを実施したりするために設計されています。悪意のある目的(パスワードの窃取、不正アクセスなど)での使用は断じて許されません。
- 影響の理解: 特に
aireplay-ng
やbesside-ng
のようなパケットインジェクション機能を持つツールは、ネットワークの正常な動作を妨害する可能性があります(例: 認証解除攻撃によるサービス妨害)。テストを行う際には、その影響を十分に理解し、最小限に留めるよう配慮する必要があります。
セキュリティツールは、防御を強化するために使われるべきであり、攻撃のために悪用されるべきではありません。責任ある使用を心がけてください。
まとめ 📝
besside-ng-crawler
は、Aircrack-ngスイートの中でも地味ながら便利なユーティリティです。大量のPCAPキャプチャファイルの中から、WPA/WPA2のパスワードクラックに必要なハンドシェイク情報を効率的に抽出し、集約することができます。
主な利点:
- 複数のキャプチャファイルからのハンドシェイク抽出を自動化。
besside-ng
などのツールで生成されたログの整理に役立つ。aircrack-ng
での解析作業の前処理を効率化。
ただし、このツールや関連ツールを使用する際は、常に法的な規制と倫理的なガイドラインを遵守することが不可欠です。許可されたネットワークに対してのみ、責任を持って使用してください。🔐
参考情報
- Aircrack-ng 公式サイト: https://www.aircrack-ng.org/
- Aircrack-ng Documentation (Wiki): https://www.aircrack-ng.org/doku.php
- Kali Linux Tools – aircrack-ng: https://www.kali.org/tools/aircrack-ng/ (besside-ng-crawlerに関する記述あり)