【Russix の EvilTwin 偽アクセスポイント】 [Russix]
RussixのWifiメニューの「EvilTwin」は偽アクセスポイントの開設自動化スクリプトを起動する。
EvilTwinの実行には、無線LANカードor アダプタが2つ必要になる。そのうち最低1つはAtherosチップの無線LANカードが必要だ。
Atherosチップの無線LANカードは偽アクセスポイント開設用で、別の無線LANカード or アダプタは通信内容のキャプチャ用になる。
ノートPCはFMV BIBLO MG50E。この様にWLANカードとWLANアダプタを両方装着した。
WLANカードはD-Link DWL-G630(Atheros AR5005G)。
USB接続のWLANアダプタは、D-Link DWL-G122 C1(Ralink RT73)。
Russixはハードディスクにインストールしている。Russixのインストールについては前記事を参照していただきたい。
RussixはAtherosのmadwifiドライバとRT73のドライバが組み込まれているので、起動すれば両方とも使用可能になる。
メニューからEvilTwinを起動。AP用のWLANデバイス、モニター用のWLANデバイスを選択する。AP用はath0、モニター用はrausb0。
自動的にWLANカードG630がmasterモード、WLANアダプタG122がmonitorモードに設定される。
偽APで使用するSSIDをタイプする。
偽APが開設され、DHCPサービスが自動的に起動する。
一方別のウインドウでairodump-ngが実行されており、通信内容のキャプチャが行われている。
偽APに接続したPCにはDHCPでIPアドレスが割り当てられ、gateway,dnsのアドレスも通知される。
そのPCの通信内容は全てairodump-ngでキャプチャされ、キャプチャファイルに保存されるという仕組みだ。
DWL-G630はmasterモード、DWL-G122はmonitorモードになっていた。
DWL-G630が偽APになり、DWL-G122がパケットキャプチャ(airodump-ng)を行う。
実験では別のPCから偽APに接続して、DHCPでIPアドレス等が割り当てられているのを確認した。
実際にはWEP/WPAキーをクラックしたあと、偽APでWEP/WPAを有効にして、騙されて接続してきたPCに偽AP経由でインターネット接続をさせて、通信パケットをキャプチャするのだと思う。
RussixのEvilTwinでの偽AP開設自動化は、WEP/WPAまで自動で有効にはならないので、偽APでWEP/WPA有効化の設定が必要だ。
また偽AP経由のインターネット接続提供も試せていない。本物のAPに接続するためのWLANカードもう一枚必要になるんだろうか?もっちょっと実験してみたい。
【無線LAN調査用Live CD Russix でWPA-PSK TKIPを調査】 [Russix]
Russixでは、WPA-PSK(TKIP)の調査(Aircrack-ng)もシェルスクリプトで自動化されている。
WPAの場合は辞書ファイル(一行1語でパスフレーズが沢山入ったテキストファイル)を使う。
うちのパスフレーズは13桁の簡単なものだが、Russixについてる辞書ファイルをざっと見ると、家のパスフレーズはとてもありそうもない。辞書ファイルに何百万語入っていても家のパスフレーズには当たらないのではないか?
とりあえず、/RUSSIX/misc/dictを編集して、家のパスフレーズを1行挿入しておいた。
それからWPAでちゃんとAPと接続しているPCを1台別に立ち上げておく必要がある。
WEPの時と同様にメニューから「WEP/WPA Attack」を選択する。
するとairodump-ngが起動するので、Control-Cを押す。
ターゲットとなる家のAPのSSIDを入れて、しばらく待つとdeauthパケットの数を聞いてくるので 5 と入れた。
deauthパケットはちゃんと接続しているPCとAP間の接続を横からリセットしてハンドシェークをやり直させるために発信する。
Station MAC:と聞いてくるので、airodump-ngのSTATIONの欄を見て、WPAでちゃんとAPと接続できているPCのMACアドレスを入力する。
deauthパケットが5つ発信される。
airodump-ngの右上にWPA Handshakeが表示されたら、ハンドシェークパケットの獲得に成功したことになる。
後はWPA(1 handshake)と表示されているターゲットSSIDの番号を入力するとaircrack-ngが起動してキーを探索する。
パスフレーズは辞書ファイルの中にないとだめみたいだ。前記のとおりキーを予め辞書ファイルに入れているから見つかったが....
簡単なパスフレーズであっても辞書ファイルにないと見つけられないので、これは無理じゃないかと思う。
百万語の辞書ファイルでも、よっぽどありふれた簡単で短いパスフレーズじゃないと探索は無理。
だが小さなキャプチャーファイル(ハンドシェークが記録されていればよい)の中にパスフレーズの種が入っていると思うと、長時間掛けて探索すれば、家のパスフレーズくらいは探索できてしまうのではないかと思う。
ネットブックばっかり気にしてたので、Aircrack-ngは全然ウォッチしてなかったが、新しいAircrack-ng 1.0rc2がリリースされていた。
今後もコメントで新しい情報をお教えください。
立ち読みで確認しましたが、ハッカージャパンの次月号はBacktrackを特集するそうです。
ハッカージャパンは高いので、いつも買わないが今回は買おうかな。
【Live CD Russix Let'sNote W7】 [Russix]
Let'sNote CF-W7でRussixの起動及び無線LANカード(PCMCIA)の使用が可能になった。
(最初はW7でRussixをブートするとPCMCIAサービス起動でフリーズし,loginプロンプトの表示まで到らなかった。FMV LOOX R70Yも同様)
お使いのパソコンで,Russixブート時にPCMCIAサービスでフリーズする様なら、次の方法を試してみて欲しい。
◆ブート時に、"slax vga=0 nopcmcia nohotplug"で起動する(W7の場合"vga=0"も必要)。
boot: slax vga=0 nopcmcia nohotplug
◆loginプロンプトが表示されたらroot/russixでログインする。
◆/etc/pcmcia/config.optsを更新する。
”フリーズの原因はIOポートやメモリーなどシステムリソースの競合が原因のようなのでIOポートを変えてみる。
root@slax:~# vi /etc/pcmcia/config.opts
-----略-----
# These are the official ports to use from pcmcia-cs:
#include port 0x100-0x4ff, port 0x800-0x8ff, port 0xc00-0xcff
# However, ports 0x810-0x81f hurt on some DELL machines and
# ports 0x3b0-0x3df hurt on some FSC machines, so we use this port
# list instead:
#include port 0x100-0x3af, port 0x3e0-0x4ff, port 0x800-0x80f, port 0x820-0x8ff, port 0xc00-0xcff <-#でコメントアウト
include memory 0xc0000-0xfffff
include memory 0xa0000000-0xa0ffffff, memory 0x60000000-0x60ffffff
# High port numbers do not always work...
include port 0x1000-0x17ff <-#を取る。
-----略------
◆PCMCIAサービスを起動する。
root@slax:~# /etc/rc.d/rc.pcmcia start
Starting PCMCIA services:
<Probing for PCIC: edit /etc/rc.d/rc.pcmcia>
cardmgr[5933]: watching 1 socket
cardmgr[5933]: could not adjust resource: memory 0x60000000-0x60ffffff: Input/output error
メモリーのエラーが出てるが無視!
◆hotplugサービスを起動する。
root@slax:~# /etc/rc.d/rc.hotplug start
これで無線LANカード(DWL-G630)が認識できた。
Russixのメニュー「WEP/WPA attack」でWEPキー解読も成功(前記事参照)。
◆コメント:
config.optsのinclude port 0x....はパソコンの機種によって,設定値が異なるかもしれない。
たとえばFMV BIBLO MGはout of the box(何もしない)で無線LANカード(PCMCIA)を認識した。
今回は当てずっぽうだったが,例えば他のLinuxでPCカードを認識するものを探して,その/etc/pcmcia/config.optsを参照し、include port 0x....の設定を確認してみるのが確実だと思う。