Easside-ngは、有名な無線LANセキュリティ評価ツールスイート Aircrack-ng に含まれるツールの1つです。このツールの主な目的は、WEP (Wired Equivalent Privacy) で暗号化されたアクセスポイント (AP) に対して、そのWEPキーを知らなくても通信を可能にすることです。
「WEPキーを知らずに通信できるなんて、魔法みたい!」🧙♂️ と思うかもしれませんが、実際には特定の技術的ステップを踏んで実現されます。このブログ記事では、easside-ngがどのように機能するのか、その使い方、そして重要な注意点について詳しく解説していきます。
この記事で紹介する技術やツールは、教育目的および自身が管理するネットワーク、または明示的な許可を得たネットワークのセキュリティ評価のみに使用してください。許可なく他者のネットワークにアクセスしたり、攻撃を試みたりすることは、電波法、不正アクセス禁止法などの法律に違反し、重大な法的責任を問われる可能性があります。 絶対に不正な目的で使用しないでください。
Easside-ng の動作原理 🤔
Easside-ngは、いくつかの巧妙なステップを経て、WEPキーなしでの通信を実現します。その核となるのは「フラグメンテーション攻撃」と「Buddy-ngサーバー」の利用です。
- ネットワーク探索と認証・関連付け: まず、easside-ngは周囲のWEPで暗号化されたネットワークを探します。ターゲットが見つかると、そのAPに対して認証 (Authentication) と関連付け (Association) を試みます。ここまでは通常のクライアント接続と同様の手順です。
- PRGAの取得 (フラグメンテーション攻撃): 関連付けに成功した後、APから送信されるデータパケットを1つ傍受します。このパケットから得られるわずかな情報を元に、「フラグメンテーション攻撃」と呼ばれるテクニックを開始します。これは、既知の内容を持つ小さなデータ(フラグメント)をAPに送信し、その応答を解析することで、APが暗号化に使用するキーストリーム (PRGA: Pseudo Random Generation Algorithm) の一部を推測・取得する攻撃手法です。Easside-ngは、この攻撃によって約1500バイトのPRGAを取得しようとします。取得したPRGAは `prga.log` のようなファイルに保存されることがあります。
- Buddy-ngサーバーとの連携: ここがEasside-ngのユニークな点です。Easside-ngは、インターネット経由でアクセス可能な「Buddy-ng」というヘルパーサーバーと連携します。
- パケットの加工と注入: ユーザーがAP経由で送信したいデータ(例えば、インターネット上のウェブサイトへのリクエスト)があるとします。Easside-ngはこのデータを、先ほど取得したPRGAを使って暗号化 *しません*。代わりに、特殊な加工を行います。
- 送信したいパケットを暗号化せずに用意します。
- 宛先IPアドレスがBuddy-ngサーバーであるような、空のデータを持つ小さなフラグメントを作成し、これを取得したPRGAで暗号化します。
- これら2つのフラグメント(PRGAで暗号化された宛先情報フラグメントと、暗号化されていないデータ本体フラグメント)を結合し、1つの fragmented packet として無線ネットワークに注入(送信)します。
- APによる復号と転送: ターゲットのAPはこの fragmented packet を受信します。APはWEPの仕様に従い、各フラグメントを(自身のWEPキーで)復号し、再結合します。再結合されたパケットの宛先IPアドレスはBuddy-ngサーバーになっているため、APはこれをインターネット上のBuddy-ngサーバーへ転送します。重要なのは、APが「善意で」我々が送信したかったデータを復号してくれた という点です。
- Buddy-ngサーバーからの返送: Buddy-ngサーバーはAPからUDPで復号されたパケットを受け取ります。そして、その内容をTCP経由で元のeasside-ngが動作しているマシンに送り返します。
- TAPインターフェース経由での通信: Easside-ngはBuddy-ngサーバーから受け取った復号済みデータを、ローカルマシン上に作成された仮想ネットワークインターフェース(TAPインターフェース、通常 `at0` など)に渡します。これにより、あたかもユーザーが直接APと(WEPキーなしで)通信しているかのように見せかけることができます。
この一連の流れにより、WEPキーそのものを知らなくても、APを踏み台にして外部(Buddy-ngサーバー経由)と通信することが可能になります。
必要なもの (前提条件) 🛠️
Easside-ngを使用するには、いくつかの準備が必要です。
- 対応する無線LANアダプター: モニターモード (Monitor Mode) とパケットインジェクション (Packet Injection) に対応した無線LANアダプターが必要です。すべてのアダプターが対応しているわけではないため、Aircrack-ngの互換性リストなどを確認することをお勧めします。
- Aircrack-ng スイートがインストールされた環境: Kali Linux や Parrot Security OS などのペネトレーションテスト用Linuxディストリビューションには、通常プリインストールされています。他のLinux環境では手動でインストールが必要です。Windowsでも動作しますが、設定が複雑になる場合があります。
- Buddy-ng サーバー: Easside-ngが動作するマシンと、ターゲットAPの両方からアクセス可能な(通常はインターネット上の)サーバーが必要です。このサーバー上で `buddy-ng` プロセスを実行し、デフォルトではTCP/UDPのポート6969番がファイアウォールでブロックされていない必要があります。
- 基本的な知識: Wi-Fiの基本的な仕組み(SSID, BSSID, チャンネル, WEP暗号化)、Linuxコマンドラインの操作、ネットワークの基礎知識があるとスムーズです。
- 法的・倫理的な正当性: 最も重要です。 テストを行うネットワークの所有者から、書面による明確な許可を得ている必要があります。
Easside-ng の使い方ステップ・バイ・ステップ 🚶♀️
ここでは、特定のAPをターゲットにする場合の基本的な使い方を説明します。
ステップ1: Buddy-ng サーバーの起動
まず、インターネットからアクセス可能なサーバー上で `buddy-ng` を起動します。これは非常にシンプルです。
buddy-ng
これにより、デフォルトでTCP/UDPポート6969で待ち受け状態になります。このサーバーのグローバルIPアドレスを控えておきます。
ステップ2: 無線LANアダプターをモニターモードにする
`airmon-ng` を使用して、無線LANアダプターをモニターモードに移行します。`wlan0` は実際のインターフェース名に置き換えてください(例: `wlan1`, `wlp2s0` など)。
# まず、干渉する可能性のあるプロセスを停止します (推奨)
sudo airmon-ng check kill
# モニターモードを開始します
sudo airmon-ng start wlan0
これにより、`wlan0mon` のような名前の新しいモニターモード用インターフェースが作成されるのが一般的です。以降はこのインターフェース名を使用します。
ステップ3: ターゲットAPの情報収集 (任意だが推奨)
`airodump-ng` を使って、ターゲットとするWEPネットワークの情報を収集します。
sudo airodump-ng wlan0mon
このコマンドを実行すると、周辺のAPと接続しているクライアントの一覧が表示されます。ターゲットとするAPの以下の情報をメモします。
- BSSID: APのMACアドレス (例: `00:11:22:33:44:55`)
- CH: APが動作しているチャンネル (例: `6`)
- ESSID: APのネットワーク名 (例: `MyWEPNetwork`)
`airodump-ng` は Ctrl+C で停止できます。
ステップ4: Easside-ng の実行
いよいよ `easside-ng` を実行します。収集した情報とBuddy-ngサーバーのIPアドレスを指定します。
sudo easside-ng -f <ESSID> -m <BSSID> -c <Channel> -s <Buddy-Server-IP> -i <Monitor-Interface>
具体的な例:
sudo easside-ng -f "MyWEPNetwork" -m 00:11:22:33:44:55 -c 6 -s 198.51.100.10 -i wlan0mon
各オプションの意味は以下の通りです (よく使われるもの):
オプション | 説明 | 必須/任意 |
---|---|---|
-f <ESSID> |
ターゲットAPのESSID (ネットワーク名) を指定します。ESSIDにスペースが含まれる場合は引用符で囲みます。 | 必須 (ターゲットを絞らないスキャンモードの場合を除く) |
-m <BSSID> |
ターゲットAPのBSSID (MACアドレス) を指定します。指定すると、特定のAPのみを対象とします。 | 任意 (指定を推奨) |
-c <Channel> |
ターゲットAPが動作しているチャンネルを指定します。指定しない場合、easside-ngがチャンネルホッピングして探します。 | 任意 (指定を推奨) |
-s <Buddy-Server-IP> |
起動しているBuddy-ngサーバーのIPアドレスを指定します。 | 必須 |
-i <Monitor-Interface> |
モニターモードになっている無線LANインターフェース名を指定します。 | 必須 |
-v |
冗長 (Verbose) モード。より詳細な動作状況を表示します。デバッグに役立ちます。 | 任意 |
-n |
インターネットIPのみを決定します。 | 任意 |
-I <Source-IP> |
無線LAN上で使用する送信元IPアドレスを指定します。(古いバージョンのドキュメントには `-i` として記載されている場合あり) | 任意 |
-r <Router-IP> |
APのルーターIPアドレスを指定します。 | 任意 |
コマンドを実行すると、easside-ngはターゲットAPへの接続、PRGAの取得、TAPインターフェース (`at0` など) の設定を試みます。すべてが成功すると、`at0` インターフェース経由で通信が可能になります。
ステップ5: 通信の確認
Easside-ngが正常に動作し、TAPインターフェース (`at0`) が設定されると、このインターフェースにIPアドレスを割り当てて通信を試みることができます。通常、easside-ngはターゲットネットワークのIPスキームを自動検出し、適切なIP (例: `xxx.xxx.xxx.123`) を提案または設定しようとします。
# at0 インターフェースにIPアドレスを設定 (easside-ngが自動設定しない場合)
# 例: sudo ip addr add 192.168.1.123/24 dev at0
# 例: sudo ip link set up dev at0
# ping などで通信を確認
ping <APのルーターIPなど> -I at0
うまく設定されれば、あたかもWEPキーを知っているかのように、ターゲットAPを経由した通信が可能になります。
重要な考慮事項と限界 🧐
Easside-ngは興味深いツールですが、その限界と注意点を理解しておくことが非常に重要です。
- WEP専用: Easside-ngは WEP 暗号化に特化しています。WPA, WPA2, WPA3 といった現代の主流なセキュリティプロトコルには全く効果がありません。 WEP自体が非常に古い技術であり、深刻な脆弱性を持つため、現在ではほとんど使用されていません。したがって、easside-ngが実環境で役立つ場面は極めて限定的です。
- Buddy-ngサーバーが必須: このツールは外部のBuddy-ngサーバーとの連携が前提です。適切なサーバーを用意し、ネットワーク的に到達可能である必要があります。
- APのインターネット接続が必要: ターゲットのAPがインターネットに接続されていない場合、Buddy-ngサーバーとの通信ができないため、easside-ngは機能しません。
- フラグメンテーション攻撃への依存: PRGAを取得するためにフラグメンテーション攻撃に依存しますが、APによってはこの攻撃が対策されている場合があります。
- 検出可能性: 不正な認証試行や特殊なパケットの注入は、無線侵入検知システム (WIDS) や侵入防止システム (WIPS) によって検出される可能性があります。
- 不安定さ: Easside-ngはAircrack-ngスイートの中でも「実験的 (experimental)」なツールとして位置づけられることがあります。環境によっては動作が不安定になる可能性も考慮する必要があります。
- 倫理的・法的リスク: 再三強調しますが、許可なく他者のネットワークに対してこのツールを使用することは違法です。教育目的や自身の管理下にあるネットワークでのテストに限定してください。
まとめ 📝
Easside-ngは、WEPで暗号化されたアクセスポイントに対し、WEPキーを知らなくても通信経路を確立するという、ユニークな機能を持つツールです。フラグメンテーション攻撃によってPRGAを取得し、Buddy-ngサーバーと連携してAPにパケットを復号させることでこれを実現します。
しかし、その適用範囲は脆弱なWEPに限定され、現代のWPA/WPA2/WPA3環境では役に立ちません。また、Buddy-ngサーバーの準備やターゲットAPの条件など、動作にはいくつかの前提条件があります。
Easside-ngは、WEPの脆弱性や無線LAN通信の仕組みを学ぶ上で興味深いツールですが、その利用は常に法的・倫理的な範囲内に留め、責任ある行動を心がけてください。🔒👍
参考情報
- Aircrack-ng Official Website – Easside-ng Documentation: https://www.aircrack-ng.org/doku.php?id=easside-ng
- Kali Linux Tools – aircrack-ng: https://www.kali.org/tools/aircrack-ng/
コメント