はじめに
この実験では、「隠蔽」された SSID(Service Set Identifier)を持つ Wi-Fi ネットワークを標的とするプロセスを学びます。SSID の隠蔽は、ネットワークがその名前をブロードキャストせず、標準的な Wi-Fi スキャンでは見えなくなる基本的なセキュリティ対策です。しかし、これは堅牢なセキュリティ機能ではなく、SSID は容易に発見される可能性があります。
ここでは、aircrack-ngスイートのツールを使用して、まず隠蔽されたネットワークの名前を発見し、次に自動化されたソーシャルエンジニアリングツールキットであるFluxionを使用して標的とします。この実験は教育目的のみであり、ワイヤレス侵入テストにおける一般的な手法を実証します。シミュレートされたワイヤレス環境内で作業を行います。
ネットワークのスキャンと隠蔽ネットワーク(ESSID なし)の特定
このステップでは、まず必要なツールのインストールから始め、次に利用可能なワイヤレスネットワークのスキャンを行います。私たちの目標は、名前(ESSID)をブロードキャストしていないネットワークを特定することです。
まず、ターミナルを開き、パッケージリストを更新してから、スキャンに必要なツールが含まれるaircrack-ngスイートをインストールします。
sudo apt-get update
sudo apt-get install -y aircrack-ng
この実験では、wlan0という名前のシミュレートされたワイヤレスインターフェイスを使用します。ネットワークをスキャンするには、まずこのインターフェイスを「モニターモード」にする必要があります。このモードにより、カードは特定のチャネル上のすべての Wi-Fi トラフィックをキャプチャできるようになります。これにはairmon-ngを使用します。
sudo airmon-ng start wlan0
このコマンドは、通常wlan0monという名前の新しい仮想インターフェイスを作成し、これがモニターモードになります。
次に、airodump-ngを使用して、モニターモードインターフェイスを使用して近くのすべてのネットワークをスキャンします。
sudo airodump-ng wlan0mon
しばらくすると、ネットワークのリストが表示されます。ESSIDが空白または<length: 0>と表示されているエントリを探します。これが隠蔽されたネットワークです。
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
1A:2B:3C:4D:5E:6F -30 10 0 0 6 54e WPA2 CCMP PSK <length: 0>
AA:BB:CC:DD:EE:FF -55 25 5 1 11 54e WPA2 CCMP PSK MyHomeWiFi
上記の出力から、BSSID 1A:2B:3C:4D:5E:6Fを持つネットワークが私たちの標的です。そのBSSIDとCH(チャネル)をメモしてください。スキャンを停止するにはCtrl+Cを押します。
クライアントの接続を待ち、ESSID を明らかにするために「airodump-ng」を使用する
このステップでは、隠蔽されたネットワークにスキャン対象を絞り込み、その実際の名前(ESSID)を明らかにします。隠蔽されたネットワークの名前は、クライアントデバイスがそれに接続するか、接続を試みる際に明らかになります。この情報は、隠蔽されたネットワークの特定のチャネルと BSSID を監視することでキャプチャできます。
前のステップで特定した隠蔽ネットワークの BSSID とチャネルを指定して、再度airodump-ngコマンドを使用します。これにより、キャプチャプロセスがより効率的になります。<BSSID>と<CHANNEL>をメモした値に置き換えてください。
sudo airodump-ng --bssid 1A:2B:3C:4D:5E:6F --channel 6 wlan0mon
最初は、ESSIDは引き続き隠蔽されているように表示されます。クライアントが接続するのを待つ必要があります。このシミュレートされた環境では、クライアントは数秒後に自動的に接続します。
クライアントが接続すると、airodump-ngはアソシエーションフレームをキャプチャし、ネットワーク名を表示します。出力が更新され、ネットワークの名前が表示されます。
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
1A:2B:3C:4D:5E:6F -30 35 15 2 6 54e WPA2 CCMP PSK MyHiddenNet
BSSID STATION PWR Rate Lost Frames Probe
1A:2B:3C:4D:5E:6F 00:11:22:33:44:55 -40 0 - 1 0 15
ご覧のとおり、ESSID はMyHiddenNetとして明らかにされました。この名前をメモしてください。これで、隠蔽されたネットワークの正体を暴くことに成功しました。スキャンを停止するにはCtrl+Cを押します。
Fluxion を起動し、明らかになった ESSID を手動で入力する
このステップでは、攻撃フェーズで使用するツールであるFluxionをインストールして起動します。隠蔽されたネットワークの ESSID が判明したので、Fluxion がそれを正しくターゲットするように設定できます。
まず、GitHub からFluxionリポジトリを~/projectディレクトリにクローンします。
git clone https://github.com/FluxionNetwork/fluxion.git
次に、新しく作成されたfluxionディレクトリに移動します。
cd fluxion
Fluxion には、必要なすべての依存関係をチェックしてインストールするためのインストーラースクリプトがあります。sudo権限で実行してください。
sudo ./fluxion.sh -i
インストールが完了したら、Fluxion を起動できます。
sudo ./fluxion.sh
Fluxion が起動し、最初に言語を選択するように求められます。英語の場合は1と入力して Enter キーを押します。
次に、ワイヤレスアダプターを選択するように求められます。リストにwlan0monが表示されるはずです。対応する番号を入力して Enter キーを押して選択します。
その後、Fluxion はスキャナーメニューを表示します。ターゲットをスキャンするオプションを選択します。例えば、1. All channelsです。Fluxion はスキャンを開始し、すぐにairodump-ngと同様の利用可能なネットワークのリストを表示します。
BSSID で隠蔽ネットワークを選択する
このステップでは、Fluxion によって提供されたリストからターゲットネットワークを選択し、以前に発見した ESSID を手動で入力します。
前のステップのスキャンが完了すると、Fluxion はネットワークのリストを表示します。このリストからターゲットネットワークを見つけます。それは BSSID(1A:2B:3C:4D:5E:6F)で識別されますが、ESSID 列はまだ空の可能性があります。
[+] Select a target.
[ID] [BSSID] [CH] [PWR] [ENC] [ESSID]
[01] [1A:2B:3C:4D:5E:6F] [06] [-30] [WPA2]
[02] [AA:BB:CC:DD:EE:FF] [11] [-55] [WPA2] MyHomeWiFi
ターゲットネットワークに対応する番号(上記の例では1)を入力して Enter キーを押します。
Fluxion は、ネットワークが隠蔽された ESSID を持っていることを検出したため、手動で入力するように求めます。
[*] The selected network has a hidden ESSID, please enter it manually.
>
ステップ 2 で発見した ESSID(MyHiddenNet)を入力して Enter キーを押します。
次に、Fluxion はキャプチャされたハンドシェイクなどの攻撃関連ファイルを保存する場所を尋ねます。デフォルトの場所を受け入れるには、単に Enter キーを押すだけでかまいません。その後、Fluxion は攻撃選択メニューに進みます。
ハンドシェイクスヌーパーまたはキャプティブポータル攻撃に進む
この最終ステップでは、ターゲットが選択され、その ESSID が提供された状態で、Fluxion は攻撃オプションのメニューを表示します。ハンドシェイクがどのようにキャプチャされるかを理解するために、パッシブ攻撃を選択します。
Fluxion の攻撃メニューにはいくつかの選択肢があります。最も一般的な 2 つは次のとおりです。
- Handshake Snooper: この攻撃は、クライアントがアクセスポイントと認証する際に発生する WPA/WPA2 4 ウェイハンドシェイクをパッシブに傍受します。クライアントが再接続するように強制することでプロセスを高速化するために、デアセンティケーション攻撃と組み合わせることができます。
- Captive Portal: フェイクアクセスポイント(Evil Twin)とフェイクログインページを作成し、ユーザーを騙して Wi-Fi パスワードを入力させる、より積極的な攻撃です。
この実験では、Fluxion がハンドシェイクをキャプチャする準備をする様子を見るために、Handshake Snooperを選択します。
攻撃メニューから、Handshake Snooperのオプションを選択します。
[+] Select an attack.
[1] Handshake snooper
[2] Captive Portal
1と入力して Enter キーを押します。
次に、Fluxion はハンドシェイクをどのようにキャプチャしたいかを尋ねます。パッシブな方法とアクティブな方法(デアセンティケータを使用)の 2 つのオプションが提供されます。アクティブな方法はより高速です。デアセンティケータを使用するオプション(例:aircrack-ng)を選択します。
Fluxion は攻撃を開始します。クライアントを監視し、デアセンティケーションパケットを送信するために複数のターミナルウィンドウを開き、クライアントが再接続したときにハンドシェイクをキャプチャするのを待ちます。この段階に到達することが、この実験の目的です。実際のシナリオでは、ハンドシェイクファイルがキャプチャされるのを待ちます。
まとめ
この実験では、隠蔽された SSID を持つ Wi-Fi ネットワークをターゲットにすることに成功しました。SSID を隠蔽しても、ネットワーク名は容易に明らかになるため、効果的なセキュリティ対策ではないことを学びました。
一連のワークフローを実践しました。
airodump-ngを使用して、隠蔽されたネットワークをスキャンおよび特定しました。- ターゲットの BSSID とチャンネルにスキャンを集中させ、その ESSID を明らかにする(de-cloak)作業を行いました。
Fluxionフレームワークを起動しました。- 発見した ESSID を手動で提供することにより、Fluxion で隠蔽されたネットワークをターゲットにしました。
- 認証情報(credentials)のキャプチャ準備として、
Handshake Snooper攻撃を開始しました。
これらのスキルは、無線セキュリティ監査において基本的であり、攻撃者が単純な隠蔽ベースの防御をどのように回避できるかを示しています。これらの操作を任意のネットワークに対して実行する前に、必ず明示的な許可を得てください。
