aircrack-ng メモ

索敵範囲 - livedoor Wiki(ウィキ)

無線LANクラッキングツール、aircrack-ng関係のメモ。
公式サイトはwww.aircrack-ng.org
aircrack-ngのtutorialを読めば全てがわかる。
特に、newbie-guideは必読。

概要

解析手順


WEPの解析は、流れているパケット(フレーム)から、初期ベクタ(IV; Initialization Vector)を収集し、集めたIVからキーを解析する。
なので、ユニークなIVをどれだけ収集できるかが勝負になる。

ツール概要

aircrack-ngにはいくつかのツールが含まれる。
airodump-ng
無線LANからパケットをキャプチャし(monitorし)、ファイルにダンプする。無線LANアダプタをmonitorモードにする必要がある。
aircrack-ng
airodump-ngでダンプしたパケットから、キーを解析する。ダンプファイルから読み取って解析するので、無線LANアダプタは関係ない。
aireplay-ng
流れているトラフィックが少なくて、IVの集まりが悪いとき、攻撃者自らがトラフィックを生成(パケットインジェクション)して、IVを発生させる。

パケット インジェクション(packet injection)とは、ソフトウェアが自由に生成した内容のパケット(イーサネットフレーム)を無線LANに送信すること。うまいことやると、アクセスポイントから大量のパケットを取得することができて、結果として短期間に大量のIVを取得できる。
アクティブアタックになるので、他に無線LANをモニタしてる人がいると、攻撃中であることがわかる。無線LANアダプタがinjectionに対応している必要がある。
aireplay-ngでのパケットインジェクション

OSの選択

Linuxを選ぶべき。
Windowsでも動作するが、aireplay-ngが動作しない。
aircrack-ngによると、WEP64の解析には200,000、WEP128の解析には800,000のIVが必要らしい。
よっぽどトラフィックがある無線LANなら良いけど、通常それだけ集めるのは時間がかかるので、aireplay-ngでパケットを投げ込んだ方が効率が良い。

無線LANアダプタの選択

http://www.aircrack-ng.org/doku.php?id=compatibili... のCompatibilityで、「Supported by airodump for Linux」と「Supported by aireplay for Linux」が両方Yesのものが良い。
Atherosチップ搭載のPCカード型で鉄板。NETGEARのWG511Tあたりが入手性が良い。店頭でのAtherosチップの見分け方は、「Super XX」(Super G、Super BG、Super ABGなど)と書かれているもの。Super XXはAtherosのオリジナルなので、これがついていればAtheros (Super XXのロゴの下にAtherosの文字がある)。
Centrinoでもmonitor(airodump-ng)だけならできる。
古すぎる第1世代(Intel PRO/Wireless 2100、bのみ)や、新しすぎる第4世代(Intel PRO/Wireless 4965agn、a/g/b/n)
は駄目っぽい。4965agnは対応待ち。
USBタイプだと、RalinkチップかZyDASチップのもの。検索でわかる範囲だとBaffaloのWLI-U2-KG54がRalink rt2500。PLANEX GW-US54GXSがZyDAS 1211B。
MiniPCIだと、Broadcomが入手しやすい。玄人志向802.11G-MPCIとか。

Linux無線LANシステム

カーネルモジュール

Linuxでは無線LANチップメーカーごとに、異なるカーネルモジュールを使用する。さらにaircrack-ngで使うには、正確には、aireplay-ngでpacket injectionを行うには、ほとんどの場合パッチを当てる必要がある。
チップとドライバの詳しい対応表、パッチの必要性の有無は、http://www.aircrack-ng.org/doku.php?id=compatibili... のDetermine the driverにある。
2008年3月の時点では、大抵のチップで、パッチ無しでもmonitorはできるようになっている。
ドライバのインストール手順は、http://www.aircrack-ng.org/doku.php?id=install_dri...
Atherosチップだと、madwifi(madwifi-ng)
madwifi-ngは標準のままで、パケットインジェクションができる。fedoraubuntuyumやaptで入れると、madwifi-ng ではなく、madwifi(old)のモジュールかもしれない。その場合は、madwifi-ngをダウンロード、ビルドしてインストールする。
Centrinoは、ipw2200かipw3945。
Ralinkは、rt2500/rt2570/rt61/rt73。チップごとに違う。
ZyDAS 1211Bは、zd1211rw。
Broadcomは、bcm43xxかb43だけど、b43の方が新しくていろんな機能追加もこれからはb43だと思われる。bcm43xx、b43はBroadcomの提供するドライバからファームウェアを切り出して使う。b43でのファームウェアインストール。大雑把に言うと、b43-fwcutterというツールで、wl_apsta.oというファイルからファームウェアを切り出す(将来ファイル名は変わるかも)。それを/lib/firmware以下にインストールしておくと、modprobe b43でモジュールを読み込むときに、ファームウェアも読み込まれる。
madwifiの無線LAN操作

madwifiでは、「wifi?」 (wifi0など)という「device」の上に、「ath?」(ath0, ath1, ...)という「VAP(Virtual Access Point)」を作って接続する。Access Pointといっても、いわゆる無線LANアクセスポイントのことではない。
VAPは、複数つくることができ、VAP毎に、動作モードを設定できる。
monitor
無差別受信モード。
sta
station。普通の無線LAN端末。
ap
access point。アクセスポイントになる。
など。
VAPの作成、削除は「wlanconfig」コマンドで行う。
madwifiに限らない一般的な無線LAN操作としては、「iwconfig」コマンドを使う。
wlanconfigでVAPをつくり、できたVAP (ath0など)に対して、iwconfigで設定を行うという流れになる。
wifi0や、ath0のMACアドレスを変更する場合は、インターフェイスをdownさせた状態でip linkコマンドを使う。
 ip link set ath0 down
ip link set ath0 address xx:xx:xx:xx:xx:xx
ip link set ath0 up
みたいな感じ。ifconfigでは、なぜか変更できない。
その他のモジュールの無線LAN操作

Centrinoとか、BroadcomとかZyDASとかはこっち。
「iwconfig」で無線LANの設定を行う。「ifconfig」でイーサネットインターフェイスとしての設定を行う。デフォルトのインターフェイス名はモジュール毎にまちまち。Centrinoではwlan0、Broadcom(b43)ではeth0だった。引数無しのiwconfigで、どれが無線LANインターフェイスか分かる。
以下、wlan0を無線LANインターフェイスとして説明する。
インターフェイスのUP/DOWN
 ifconfig wlan0 up
ifconfig wlan0 down

モニターモードに変更
 ifconfig wlan0 down
iwconfig wlan0 mode monitor
ifconfig wlan0 up

マネージドモードに変更
 ifconfig wlan0 down
iwconfig wlan0 mode manage
ifconfig wlan0 up

MACアドレスの変更
 ifconfig wlan0 down
ifconfig wlan0 hw ether xx:xx:xx:xx:xx:xx
ifconfig wlan0 up
 xx:xx:xx:xx:xx:xxは、変更後のMACアドレス。自由に設定できる。
無線LANのネットワークに接続する
 ifconfig wlan0 down
iwconfig wlan0 mode manage
iwconfig wlan0 essid <ESSID>
iwconfig wlan0 key <KEY>
ifconfig wlan0 up
<ESSID>は、接続するネットワークのESSID。
<KEY>は鍵(パスワード)。「0102030405」みたいにhexで記述する。文字列で書くときは、「s:password」のように、s:を付ける。パスワード無しのときは、「off」。

aircrack-ngで出てくる用語

bssid
Basic Service Set Identifier。無線LANアクセスポイントの識別子。通常MACアドレス
essid
無線LANネットワークの識別子。いわゆるESSID。
monitor mode
モニターモード。どんなパケットでも受信するモード。有線イーサネットのプロミスカスモード(promiscuous mode)と同等。
managed mode
アクセスポイントにぶら下がって、無線LANアダプタを使うモード。普通に使うモード。