はじめに:aireplay-ngとは? 🤔
aireplay-ng
は、Aircrack-ngスイートに含まれる強力なコマンドラインツールの一つです。主にWi-Fi(無線LAN)ネットワークのセキュリティテスト、特にWEPやWPA/WPA2-PSKキーのクラッキングに必要なトラフィックを生成(フレームインジェクション)するために使用されます。
このツールは、特定のパケットを無線ネットワークに送信することで、アクセスポイント(AP)やクライアントの挙動を操作し、セキュリティ評価に必要なデータを効率的に収集する手助けをします。例えば、クライアントの認証を強制的に解除したり(Deauthentication)、特定のパケットを再送したりすることが可能です。
⚠️ 重要: aireplay-ng
を含むAircrack-ngスイートのツールは、非常に強力であり、許可なく他人のネットワークに使用することは法律で禁止されています。必ず自身が管理するネットワーク、または明示的に許可を得たネットワークに対してのみ、教育・研究・セキュリティ評価の目的で使用してください。不正利用は深刻な法的結果を招く可能性があります。
利用前の準備 🛠️
aireplay-ng
を使用するには、いくつかの準備が必要です。
- Aircrack-ngスイートのインストール:
aireplay-ng
はAircrack-ngの一部です。Kali Linuxなどのペネトレーションテスト用ディストリビューションには通常プリインストールされていますが、そうでない場合はインストールが必要です。Debian/Ubuntu系では以下のコマンドでインストールできます。sudo apt update sudo apt install aircrack-ng
- 互換性のある無線LANアダプタ: 全ての無線LANアダプタが
aireplay-ng
の機能(特にパケットインジェクション)に対応しているわけではありません。アダプタがモニターモード (Monitor Mode) とパケットインジェクション (Packet Injection) に対応している必要があります。対応状況はアダプタのチップセットやドライバに依存します。 - モニターモードへの切り替え:
aireplay-ng
を使用する前に、無線LANアダプタをモニターモードに設定する必要があります。これは通常、同じAircrack-ngスイート内のairmon-ng
ツールを使って行います。# ネットワークマネージャーなどの干渉する可能性のあるプロセスを確認・停止 sudo airmon-ng check kill # インターフェース名(例: wlan0)を確認 iwconfig # モニターモードを開始(例: wlan0 を mon0 または wlan0mon に変更) sudo airmon-ng start wlan0
注意:
- インターフェース名は環境によって異なります(
wlan0
,wlan1
,ath0
など)。 - モニターモードのインターフェース名もドライバによって異なります(
mon0
,wlan0mon
など)。iwconfig
コマンドで確認してください。 airmon-ng check kill
は関連プロセスを強制終了するため、通常のネットワーク接続が切断される可能性があります。
- インターフェース名は環境によって異なります(
基本的な使い方 ⌨️
aireplay-ng
の基本的な構文は以下の通りです。
aireplay-ng <options> <interface>
<options>
: 実行する攻撃の種類や、ターゲットAP/クライアントなどを指定するオプション。<interface>
: モニターモードに設定された無線LANインターフェース名(例:wlan0mon
)。
詳細なオプションはaireplay-ng --help
で確認できますが、主要な攻撃モードとオプションについては後述します。
主要な攻撃モード ⚔️
aireplay-ng
には様々な攻撃モードがあり、それぞれ特定の目的のために使用されます。主な攻撃モードは以下の通りです。
モード番号 | オプション | 攻撃名 | 説明と主な用途 |
---|---|---|---|
0 | -0 <count> | Deauthentication (認証解除) | 指定したクライアント、または全てのクライアントに対して認証解除フレームを送信し、APから強制的に切断させます。WPA/WPA2のハンドシェイクをキャプチャする目的で、クライアントに再接続を促すためによく使われます。 |
1 | -1 <delay> | Fake Authentication (偽装認証) | APに対して偽の認証要求を送信し、自身(攻撃者)のMACアドレスをAPに関連付けさせます。一部の攻撃(ARPリプレイなど)は、APに関連付けられたMACアドレスからパケットを送信する必要があるため、その前準備として使用されます。WEP環境で主に使用されます。 |
2 | -2 [-p fctrl] [-b bssid] [-d dmac] [-s smac] [-m len] [-n len] [-f file] [-r file] | Interactive Packet Replay (対話型パケットリプレイ) | キャプチャしたパケット(pcapファイルから読み込み)を選択し、対話的に変更して再送信します。特定のパケットを再利用したい場合に有効ですが、他の攻撃モードほど一般的ではありません。 |
3 | -3 [-b bssid] [-h smac] [-x nbpps] [-r file] | ARP Request Replay Attack (ARPリクエストリプレイ攻撃) | キャプチャしたARPリクエストパケットをAPに対して再送信します。APがそのARPリクエストに応答してARPリプライをブロードキャスト/ユニキャストする際、新しい初期化ベクトル(IV)を持つWEP暗号化パケットが生成されます。これにより、WEPキー解析に必要なIVを大量かつ迅速に収集できます。WEPクラッキングを高速化するための最も効果的な攻撃の一つです。 |
4 | -4 [-h smac] [-b bssid] [-x nbpps] | KoreK ChopChop Attack | WEPで暗号化されたデータパケットの一部を推測し、解読を試みる攻撃です。成功すると、暗号化されたパケットの内容(平文)とそれに対応するPRGA(Pseudo Random Generation Algorithm)キー ストリームの一部(XORファイル)を取得できます。このXORファイルを使って、packetforge-ngでARPリクエストなどの任意のパケットを偽造し、ARPリプレイ攻撃(Attack 3)を開始できます。クライアントが接続されていない場合や、ARPパケットが流れていない状況でWEPクラッキングを開始するのに役立ちます。 |
5 | -5 [-b bssid] [-h smac] [-m len] [-k ip] [-l ip] [-x nbpps] | Fragmentation Attack (フラグメンテーション攻撃) | WEPのフラグメンテーション(パケット分割)機能の仕組みを利用して、PRGAキー ストリームを取得する攻撃です。ChopChop攻撃と同様に、得られたPRGA(XORファイル)を使って任意のパケットを偽造し、ARPリプレイ攻撃(Attack 3)を開始できます。ChopChopよりも高速で、より長いキー ストリームを取得できる可能性がありますが、APによっては動作しない場合があります。 |
6 | -6 [-h smac] [-b bssid] [-d dmac] [-m len] [-n len] | Cafe Latte Attack | クライアント側からのARPリクエストを利用してWEPキーをクラックする攻撃です。APではなく、Windowsクライアントの脆弱性を突きます。攻撃者が偽のAPとなり、クライアントからのARP要求を待ち受け、それを加工して大量のWEPパケットを生成させます。 |
7 | -7 [-h smac] [-b bssid] [-d dmac] [-m len] [-n len] | Client-oriented Fragmentation Attack (クライアント指向フラグメンテーション攻撃) | フラグメンテーション攻撃(Attack 5)の変種で、APではなくクライアントをターゲットにします。 |
8 | -8 [-h smac] [-a ap_mac] [-c client_mac_list] | WPA Migration Mode Attack | 特定の古いAPに見られた、WPAとWEPの移行モードの脆弱性を突く攻撃です。現在ではあまり一般的ではありません。 |
9 | -9 [-a bssid] [-i iface] | Injection Test (インジェクションテスト) | 無線LANアダプタとドライバがパケットインジェクション(フレーム注入)に対応しているか、またターゲットAPがインジェクションされたパケットを受信できる範囲にあるかを確認するためのテストモードです。他の攻撃を行う前に、環境が適切かを確認するのに役立ちます。 |
これらの攻撃モードは、状況に応じて使い分けられます。例えば、WEPキーのクラッキングでは、まずAttack 9でインジェクションを確認し、次にAttack 1で偽装認証を行い、ARPパケットが流れればAttack 3、流れなければAttack 4やAttack 5でARPパケットを生成してからAttack 3を実行する、といった流れが一般的です。
実践的な利用例 🚀
ここでは、よく使われる攻撃モードの具体的なコマンド例をいくつか紹介します。以下の例では、モニターモードインターフェース名をwlan0mon
、ターゲットAPのBSSID(MACアドレス)を00:11:22:33:44:55
、クライアントのMACアドレスをAA:BB:CC:DD:EE:FF
としています。実際の環境に合わせて変更してください。
例1: Deauthentication Attack (Attack 0) – 特定クライアントの切断
特定のクライアント(AA:BB:CC:DD:EE:FF)をAP(00:11:22:33:44:55)から10回切断させます。WPA/WPA2ハンドシェイク取得が目的の場合、これと並行してairodump-ng
でパケットキャプチャを実行します。
sudo aireplay-ng -0 10 -a 00:11:22:33:44:55 -c AA:BB:CC:DD:EE:FF wlan0mon
-0 10
: Deauthentication攻撃を10回実行。回数を0にすると無限に送信します。-a 00:11:22:33:44:55
: ターゲットAPのBSSID。-c AA:BB:CC:DD:EE:FF
: ターゲットクライアントのMACアドレス。省略すると接続されている全クライアントに送信します(ブロードキャストDeauthentication)。
例2: Fake Authentication (Attack 1)
AP(00:11:22:33:44:55)に対して、自身(インターフェースwlan0mon
のMACアドレス)で偽装認証を行います。遅延は600ミリ秒(デフォルト)、ESSIDは自動検出を試みます。
sudo aireplay-ng -1 0 -a 00:11:22:33:44:55 -h <Your_MAC_Address> wlan0mon
-1 0
: Fake Authentication攻撃を実行。遅延0はデフォルト値(600ms)を使用。-a 00:11:22:33:44:55
: ターゲットAPのBSSID。-h <Your_MAC_Address>
: 自身の無線LANアダプタのMACアドレス。省略するとaireplay-ng
が現在のMACアドレスを使用します。変更したい場合に指定します。-e <ESSID>
: ターゲットAPのESSID(ネットワーク名)。ESSIDが隠蔽されている場合などに指定が必要になることがあります。
認証が成功すると “Association successful :-)” のようなメッセージが表示されます。
例3: ARP Request Replay Attack (Attack 3)
AP(00:11:22:33:44:55)に関連付けられた状態(Fake Auth成功後など)で、キャプチャしたARPリクエストを再送信し、WEPクラッキング用のIVを収集します。送信元MACアドレスとしてAA:BB:CC:DD:EE:FF
(偽装認証したMACや接続中クライアントのMAC)を使用します。
sudo aireplay-ng -3 -b 00:11:22:33:44:55 -h AA:BB:CC:DD:EE:FF wlan0mon
-3
: ARP Request Replay Attackを実行。-b 00:11:22:33:44:55
: ターゲットAPのBSSID。-h AA:BB:CC:DD:EE:FF
: 送信元として使用するMACアドレス。APに関連付けられている必要があります。
この攻撃を実行する前に、airodump-ng
でARPリクエストを含むパケットをキャプチャしておく必要があります。aireplay-ng
は周囲のトラフィックをリッスンし、ARPリクエストを見つけるとそれを再送信し始めます。成功すると、airodump-ng
の#Data
カウンタが急速に増加します。
例4: Injection Test (Attack 9)
ターゲットAP(00:11:22:33:44:55)に対してパケットインジェクションが可能かテストします。
sudo aireplay-ng -9 -a 00:11:22:33:44:55 wlan0mon
-9
: Injection Testを実行。-a 00:11:22:33:44:55
: テスト対象のAPのBSSID。-e <ESSID>
: ESSIDが必要な場合に指定。
成功すると “Injection is working!” のようなメッセージと、APからの応答率などが表示されます。
重要なオプション ⚙️
各攻撃モード特有のオプション以外にも、多くのモードで共通して使用される重要なオプションがあります。
オプション | 説明 |
---|---|
-b <bssid> | ターゲットアクセスポイントのMACアドレス(BSSID)を指定します。ほとんどの攻撃で必要です。 |
-d <dmac> | 宛先MACアドレスを指定します。通常は接続先APや特定のクライアントになります。 |
-h <smac> | 送信元MACアドレスを指定します。通常は自身のMACアドレス、または偽装したいクライアントのMACアドレスを指定します。 |
-a <ap_mac> | -b と同様にターゲットAPのMACアドレスを指定します。Attack 0 (Deauth) などで使われます。 |
-c <client_mac> | ターゲットクライアントのMACアドレスを指定します。Attack 0 (Deauth) などで使われます。 |
-e <essid> | ターゲットアクセスポイントのESSID(ネットワーク名)を指定します。Fake Authentication (Attack 1)などで必要になることがあります。 |
-x <nbpps> | 1秒あたりに注入するパケット数を指定します。デフォルトは100ppsです。値を大きくすると攻撃速度が上がる可能性がありますが、不安定になったり検出されやすくなったりすることもあります。逆に値を小さくすることで安定する場合もあります。 |
-p <fctrl> | フレーム制御フィールド(16進数)を設定します。高度なパケット操作に使用します。 |
-r <file> | pcapファイルからパケットを読み込んで使用します。Attack 2 (Interactive) や Attack 3 (ARP Replay) で過去にキャプチャしたパケットを利用する際に使います。 |
-D | AP検出を無効にします。一部のモードではAPのビーコンが聞こえないと動作しませんが、このオプションでそれを回避できます。特に5GHz帯でのDeauthentication攻撃にはこのオプションが必要な場合があります。 |
--ignore-negative-one | airodump-ng がチャンネル -1 (不明/ホッピング中) を報告しても攻撃を続行します。特定のドライバや状況下で必要になることがあります。 |
法的および倫理的考慮事項 ⚖️
まとめ ✨
aireplay-ng
は、Wi-Fiセキュリティテストにおいて非常に重要な役割を果たすツールです。パケットインジェクション機能を通じて、WEPやWPA/WPA2の脆弱性評価に必要なトラフィックを生成したり、特定の攻撃シナリオを実行したりすることができます。
Deauthentication、Fake Authentication、ARP Replay、ChopChop、Fragmentationなど、多彩な攻撃モードを理解し、適切なオプションと組み合わせることで、効率的なセキュリティ診断が可能になります。
しかし、その強力さゆえに、悪用は厳禁です。常に法律と倫理を遵守し、許可された範囲でのみ使用することを心掛けてください。正しく使えば、aireplay-ng
はネットワークセキュリティを強化するための貴重なツールとなるでしょう。💪
参考情報 📚
- Aircrack-ng 公式サイト: https://www.aircrack-ng.org/
- Aircrack-ng Documentation (aireplay-ng): https://www.aircrack-ng.org/doku.php?id=aireplay-ng
- Kali Linux Tools (Aircrack-ng): https://www.kali.org/tools/aircrack-ng/
コメント