airtun-ng の使い方徹底解説!仮想トンネルインターフェース作成ガイド 💻

セキュリティツール

airtun-ngとは?🤔

airtun-ngは、有名な無線LANセキュリティ評価ツールスイートであるAircrack-ngに含まれるツールの一つです。主な機能として、仮想的なトンネルインターフェース(通常 atX という名前)を作成します。このインターフェースを通じて、暗号化された無線LANトラフィックを復号したり、ネットワークに任意のトラフィックを注入したりすることが可能になります。

具体的には、以下の2つの主要な目的で利用されます。

  • 無線侵入検知システム (wIDS) のためのトラフィック監視: 既知の暗号化キー(WEPキーやWPA/WPA2パスフレーズ)を使用して、特定の無線ネットワーク上の暗号化されたトラフィックをリアルタイムで復号し、作成された仮想インターフェース(例: `at0`)に平文のトラフィックを流します。これにより、tcpdumpWiresharkSnort のような標準的なネットワーク分析ツールや侵入検知システムで、本来は見ることのできない暗号化された無線LANトラフィックの内容を監視・分析できるようになります。
  • ネットワークへのトラフィック注入: 作成された仮想インターフェースを介して、任意のIPパケットを生成し、ターゲットの無線ネットワークに注入することができます。完全な暗号化キーがあれば双方向の通信が可能ですが、chopchop攻撃やfragmentation攻撃で得られたPRGA (Pseudo Random Generation Algorithm) キーしか持っていない場合は、送信のみの一方向通信となります。

airtun-ngの大きな利点は、一度仮想インターフェースを作成してしまえば、そのインターフェースに対して通常のネットワークツール(パケット生成、注入、スニッフィングツールなど)をそのまま利用できる点にあります。これにより、無線LAN環境におけるより高度なテストや分析が可能になります。

なお、airtun-ngは主にLinuxプラットフォームで動作します。Windows環境では利用できない点に注意が必要です。

利用前の準備 🛠️

airtun-ng を効果的に使用するためには、いくつかの前提条件があります。

  • Aircrack-ng スイートのインストール: airtun-ng は Aircrack-ng スイートの一部です。Kali Linux などのセキュリティに特化したディストリビューションには通常プリインストールされていますが、そうでない場合は、まず Aircrack-ng をインストールする必要があります。
    # Debian/Ubuntu系の場合
    sudo apt update
    sudo apt install aircrack-ng
    
    # Arch Linuxの場合
    sudo pacman -S aircrack-ng
  • モニターモード対応の無線LANアダプター: airtun-ng が無線LANのフレームをキャプチャ・注入するためには、使用する無線LANアダプターが「モニターモード」に対応している必要があります。また、Aircrack-ng スイート(特に airmon-ng)で正しく認識・制御できるドライバーが必要です。
  • モニターモードへの切り替え: airtun-ng を実行する前に、使用する無線LANインターフェースをモニターモードに設定する必要があります。これは通常 airmon-ng コマンドを使用して行います。
    # 干渉する可能性のあるプロセスを確認し、停止する
    sudo airmon-ng check kill
    
    # wlan0インターフェースをモニターモードにする (例: wlan0mon が作成される)
    sudo airmon-ng start wlan0

    注意: インターフェース名は環境によって異なります(wlan0, wlan1, ath0 など)。iwconfigairmon-ng コマンドで確認してください。作成されるモニターモードのインターフェース名(例: wlan0mon)を airtun-ng で使用します。

  • ターゲットネットワークの情報:
    • BSSID (アクセスポイントのMACアドレス): 必須です。
    • 暗号化キー:
      • WEPの場合: WEPキー (16進数形式) または PRGA キーファイルが必要です。
      • WPA/WPA2 PSKの場合: 事前共有鍵 (パスフレーズ) と ESSID (ネットワーク名) が必要です。
    これらの情報は、airodump-ng などで事前に収集しておく必要があります。
  • 法的・倫理的な理解: 無線LANの監視やパケット注入は、許可なく他人のネットワークに対して行うと法律に抵触する可能性があります。必ず自身が管理するネットワーク、または許可を得たネットワークでのみ使用してください。🚨

基本的な使い方とコマンドオプション ⚙️

airtun-ng の基本的なコマンド構文は以下の通りです。

airtun-ng [オプション] <モニターインターフェース名>

主要なオプションをいくつか紹介します。

オプション 説明 必須/任意 補足
-a <BSSID> ターゲットとなるアクセスポイントのMACアドレスを指定します。 必須 例: -a 00:11:22:33:44:55
-i <iface> パケットキャプチャに使用する物理インターフェースを指定します。指定しない場合、コマンド末尾のインターフェースがキャプチャと注入の両方に使われます。 任意 感度の良いカードで受信し、別の高出力カードで注入する場合などに使用。
-w <WEPキー> WEPキーを16進数で指定します。このキーでトラフィックの暗号化/復号を行います。 条件付き任意 WEP復号/注入用。-y オプションと排他。
-y <PRGAファイル> Chopchop/Fragmentation攻撃で取得したPRGAキーを含むxorファイルを指定します。送信専用。 条件付き任意 WEP注入用 (一方向)。-w オプションと排他。
-p <パスフレーズ> WPA/WPA2の事前共有鍵(パスフレーズ)を指定します。 条件付き任意 WPA/WPA2復号用。-e オプションと共に使用。
-e <ESSID> ターゲットネットワークのESSID(ネットワーク名)を指定します。 条件付き任意 WPA/WPA2復号用。-p オプションと共に使用。
-t <tods> 802.11ヘッダーのToDS/FromDSビットを設定します。
1: APへ送信 (ToDS=1, FromDS=0)
0: クライアントへ送信 (ToDS=0, FromDS=1)
2: WDS/Bridgeへトンネル (ToDS=1, FromDS=1)
任意 通常、APに接続する場合は 1 を指定します。
-h <送信元MAC> 注入するパケットの送信元MACアドレスを指定します。指定しない場合はインターフェースのMACが使われます。 任意 例: -h AA:BB:CC:DD:EE:FF
-x <pps> 1秒あたりの最大送信パケット数を指定します。 任意
-r <pcapファイル> pcapファイルからフレームを読み込み、リプレイします。 任意 Tcpreplayのような機能。
--repeat / -f リピーターモードを有効にします。キャプチャしたフレームを再送信します。 任意 --bssid, --netmask と併用可能。
--bssid <MAC> / -d <MAC> リピーターモードで、リプレイするBSSIDをフィルタリングします。 任意 --repeat と共に使用。
--netmask <mask> / -m <mask> リピーターモードで、リプレイするBSSIDをネットマスクでフィルタリングします。 任意 --repeat, --bssid と共に使用。
-s <送信機MAC> WDSモードでの送信元(Transmitter)MACアドレスを指定します。 任意 WDSモード用。
-b WDSモードで双方向通信を有効にします。送信機と受信機の両方が見える場合にのみ機能します。 任意 WDSモード用。

これらのオプションを組み合わせることで、様々なシナリオに対応できます。

WEPトラフィックの復号と監視 (wIDS) 🔓

既知のWEPキーを使って、特定のアクセスポイント(AP)のトラフィックを復号し、仮想インターフェース at0 で監視する例です。無線侵入検知システム (wIDS) を構築する際に利用できます。

  1. モニターモードの起動:
    sudo airmon-ng check kill
    sudo airmon-ng start wlan0

    これにより wlan0mon インターフェースが作成されたとします。

  2. airtun-ng の実行:
    # BSSIDが DE:AD:BE:EF:CA:FE、WEPキーが 1234567890 の場合
    sudo airtun-ng -a DE:AD:BE:EF:CA:FE -w 1234567890 wlan0mon

    成功すると、以下のようなメッセージが表示され、仮想インターフェース at0 が作成されます。

    created tap interface at0
    WEP key scheduled for decrypt
    WPA handshake NOT scheduled for decrypt
    Waiting for packets...
  3. 仮想インターフェースの有効化:

    新しいターミナルを開き、作成された at0 インターフェースを有効化します。

    sudo ifconfig at0 up
  4. トラフィックの監視:

    at0 インターフェースを流れるトラフィックは復号されています。Wireshark や tcpdump を使って監視できます。

    # Wiresharkを起動してat0をキャプチャ
    sudo wireshark -k -i at0
    
    # またはtcpdumpで監視
    sudo tcpdump -i at0 -n -vv

    これで、WEPで暗号化されていた通信内容を平文で見ることができます。😊

WPA/WPA2トラフィックの復号と監視 🔒

既知のWPA/WPA2 PSK(事前共有鍵)とESSIDを使って、特定のAPのトラフィックを復号し、仮想インターフェース at0 で監視する例です。

  1. モニターモードの起動: (WEPの例と同様)
    sudo airmon-ng check kill
    sudo airmon-ng start wlan0

    wlan0mon が作成されたとします。

  2. airtun-ng の実行:
    # BSSIDが 00:14:6C:7E:40:80、ESSIDが "MyNetwork"、パスフレーズが "MyPassword123" の場合
    sudo airtun-ng -a 00:14:6C:7E:40:80 -e "MyNetwork" -p "MyPassword123" wlan0mon

    成功すると、以下のようなメッセージが表示されます。

    created tap interface at0
    WEP key NOT scheduled for decrypt
    WPA handshake scheduled for decrypt: ["MyNetwork"] -> 00:14:6C:7E:40:80
    Waiting for packets...
  3. 仮想インターフェースの有効化: (WEPの例と同様)
    sudo ifconfig at0 up
  4. トラフィックの監視: (WEPの例と同様)

    airtun-ng は、クライアントとAP間の4-wayハンドシェイクをキャプチャしてPMK (Pairwise Master Key) を計算し、その後、そのセッションのトラフィックを復号します。ハンドシェイクがまだ発生していない場合や、キャプチャできなかった場合は、復号は開始されません。

    # Wiresharkを起動してat0をキャプチャ
    sudo wireshark -k -i at0
    
    # またはtcpdumpで監視
    sudo tcpdump -i at0 -n

    WPA/WPA2で保護された通信も、キーが分かっていればこのようにして監視できます。👍

重要: WPA/WPA2の復号は、ハンドシェイクをキャプチャした後のセッション鍵に基づきます。airtun-ng を起動する前に既に行われた通信や、ハンドシェイクを見逃した場合は復号できません。

トラフィック注入 💉

airtun-ng は復号だけでなく、作成した仮想インターフェースを通じてネットワークにパケットを注入するためにも使用できます。

例えば、WEPキーがわかっている場合、airtun-ng を -w オプションで起動した後、at0 インターフェースにIPアドレスを割り当て、通常のネットワークツール(ping, nmap, netcat など)を使用してトラフィックを送信できます。

  1. airtun-ng の起動 (WEP例):
    sudo airtun-ng -a DE:AD:BE:EF:CA:FE -w 1234567890 wlan0mon
  2. インターフェースの設定:

    新しいターミナルを開き、at0 にIPアドレスとネットマスクを設定します(ターゲットネットワークに合わせてください)。

    sudo ifconfig at0 up 192.168.1.100 netmask 255.255.255.0
  3. パケット注入:

    これで at0 を通じてパケットを送信できます。airtun-ng がWEPで暗号化し、wlan0mon から注入します。

    # ゲートウェイ (AP) にpingを送る例
    ping 192.168.1.1
    
    # nmapでスキャンする例 (注意して使用してください)
    # nmap -sT 192.168.1.0/24

Chopchop/Fragmentation攻撃で得たPRGAキー (-y オプション) を使用する場合は、受信ができないため、一方向の送信のみ可能です。

⚠️ 警告 ⚠️

パケット注入はネットワークに影響を与える可能性があります。特に攻撃的なツール(nmapなど)の使用は、ターゲットネットワークの管理者や他のユーザーに迷惑をかける可能性があります。許可された環境でのテスト目的以外では絶対に行わないでください。

リピーターとリプレイ機能 🔁

airtun-ng には、キャプチャしたパケットをそのまま再送信するリピーター機能や、pcapファイルからパケットを読み込んで再生するリプレイ機能もあります。

  • リピーターモード (--repeat / -f):

    指定したインターフェースで受信した全てのフレーム(オプションでBSSIDやネットマスクによるフィルタリングが可能)を、指定した送信インターフェースから再送信します。これにより、信号の届きにくい場所への中継などが(理論的には)可能です。

    # wlan0monで受信し、特定のBSSID (00:11:...) のフレームのみwlan1から再送信
    sudo airtun-ng --repeat --bssid 00:11:22:33:44:55 -i wlan0mon wlan1

    リピーターモード中でも、作成された at0 インターフェースは(暗号化キーが指定されていれば)復号/注入に使用できます。

  • pcapファイルリプレイ (-r <file>):

    以前に airodump-ng などで保存したpcapファイルの内容を、指定したインターフェースからそのまま送信します。これは無線版の tcpreplay のような機能で、特定の状況を再現したり、テストしたりするのに役立ちます。

    # capture.pcap ファイルの内容を wlan0mon から送信する
    sudo airtun-ng -a 00:11:22:33:44:55 -r capture.pcap wlan0mon

    (-a オプションは通常必要です)

重要な注意点と倫理的考慮事項 ⚖️

法的・倫理的な側面

  • airtun-ng を含む Aircrack-ng スイートのツールは、強力な機能を持っています。これらのツールを自分自身が管理するネットワーク、または明示的な許可を得たネットワークに対してのみ使用してください。
  • 許可なく第三者の無線ネットワークに接続したり、通信を傍受・解読したり、パケットを注入したりする行為は、多くの国や地域で法律により禁止されており、処罰の対象となります。
  • ツールの使用は、あくまでセキュリティ評価や学習目的に限定し、悪用は絶対に避けてください。

技術的な制限

  • airtun-ng は Linux でのみ動作します。
  • WPA/WPA2 の復号は、正しい事前共有鍵を知っており、かつ4-wayハンドシェイクをキャプチャできた場合に限られます。
  • 全ての無線LANアダプターやドライバーが airtun-ng と互換性があるわけではありません。
  • 仮想インターフェース (atX) のパフォーマンスは、物理的な無線LANアダプターの性能やCPUパワーに依存します。

まとめ ✨

airtun-ng は、Aircrack-ng スイートの中でも特にユニークで強力なツールです。仮想トンネルインターフェースを作成することで、暗号化された無線LANトラフィックのリアルタイム復号・監視や、ネットワークへの自由なパケット注入を可能にします。

WEP や WPA/WPA2 で暗号化されたトラフィックを復号して tcpdumpWireshark, Snort などの標準的なツールで分析したり、仮想インターフェースを通じて任意のツールでパケットを生成・注入したりできるため、無線LANセキュリティのテストや分析、wIDS の構築において非常に役立ちます。

ただし、その強力さゆえに、使用には法的・倫理的な配慮が不可欠です。必ず適切な状況下で、責任を持って利用するようにしましょう。👍

参考情報 📚

より詳細な情報については、公式ドキュメントを参照することをお勧めします。

コメント

タイトルとURLをコピーしました