僕の世界観を変えてみる

文系男子が趣味でプログラミングを勉強していくブログです。他にも日常で起きたどうでもいいことや愚痴を書いていきたいです。座右の銘は和を以て貴しとなすです。仲良くやろうよ。

文系男子がwifiteを使ってwifiをハックしてみた

f:id:htmllifehack:20170207214041j:plain


wifiteでwifiのパスワードが解析できたので今回はそのやり方をメモります。
なぜかWPA2を解析できたのでびっくりです。
それもこれもWPSの脆弱性をついたことで成功したのかと思います。
WPSについても多少書いときますね。
ではさっそく行ってみようか!

wifiteとは

基本的にはaircrack-ngやfern wifi crackerと同じですが、aircrack-ngよりは色分けされているので見やすいですね。
おまけにCUIなのにほとんどコマンドは打たなくても大丈夫なんです。

wifite起動方法

普通にツールからwifiteをクリックしてもヘルプしか開きません。
なのでターミナルでwifiteと打ち込んで下さい。
するとこんな感じで起動すると思います。

f:id:htmllifehack:20170208214739j:plain

少しすると画面が変わって周辺のSSIDを拾いはじめます。

f:id:htmllifehack:20170208214801j:plain

ある程度飛んでるSSIDを拾ったらctrl+cで止めてください。
さて、ターゲット選びですが前回に続きNECのルータをターゲットとします。
昨日のfern wifi crackerで選んだのはWEPだったんですが今回はWPA2でWPS機能付きのものを選んだ、という点です。

[+] select target numbers (1-x) separated by commas, or 'all ' :
番号を選べ。と聞いてくるので左に書いてある番号を入力します。
今回は5です。
これでターゲットへの攻撃が開始されます。

f:id:htmllifehack:20170209131917j:plain

PIN found : xxxxxxxx
KEY found : xxxxxxxxxxxxx

と表示されたらどちらでもいいのでパスワードを入力すれば接続できます。
まさか5秒で終わるとは思いませんでした。

wpsとは

無線LANとデバイスを接続するにはSSIDとパスワードを入力する必要があります。
セキュリティの面からパスワードは13桁以上を使用していますが、これをデバイスに入力するのが結構めんどくさいので、ボタン一つで接続できるようにしたのがWPSです。

WPSにはプッシュボタン式とPIN認証式の2種類あります。
プッシュボタンはその名の通りルータ側のボタンを押すだけ。
PIN認証は4〜8桁の数字のみで構成された文字列を入力するだけです。

PINは4〜8桁なので総当たりすれば簡単にパスワードの解析ができちゃうんですね。

pixies dust attackとは

従来の解析方法が海外の掲示板に書かれていました。

Traditional attacks attack the two halves of the WPS PIN (PSK1, PSK2) in an online attack, essentially brute-forcing all possible options for the PIN until it is found.

と書かれています。
PSK(pre-shared-key)1と2をそれぞれオンラインで(おそらくブルートフォース)アタックしなければならない。
そのため時間がかかる作業らしいです。

  1. psk

事前共有鍵と言って、受信側と送信側にあらかじめ設定してある鍵のことです。

多分簡単にいえば今まではオンラインでパケットを解析しながらブルートフォースアタックしていたんだけど、オフラインで迅速に解析できる方法が見つかったよ、それをピクシータストアタックと呼ぶよ、ってことだと思います。
詳しくはこちらをどうぞ
wifi - What's the difference between pixie attack and other attacks on WPS? - Information Security Stack Exchange


WPSの脆弱性

PINコードを生成する際、簡単な乱数を使ったり、そもそも乱数を使っていないものもあるらしい。
これが脆弱性と呼ばれる不備であり、オフラインで簡単に推測できてしまうという。
全てのルータにこの不備があるわけではなく、Broadcom社のチップを搭載しているルータは懸念されるという。
参考にさせていただいたサイト
一部の無線LANルータにWPS実装の脆弱性--研究者が指摘 - ZDNet Japan
海外サイトによると

PINコードは8桁でできており、これを4桁づつの2つに分けて生成される。
乱数が簡単なものだったり乱数ではないものだと、片方の4桁は0000が4つ並べられただけなどの簡単な文字列になってしまう。
ゆえにもう片方の4桁、つまり0〜9の数字(10の4乗=10,000通り)を計算するだけで解析ができてしまう。

まとめ

どうでしょう。
正直暗号鍵技術に関して全く理解できていないんですが、WPSの不備についてはなんとなくわかりますよね。
対策としてはWPS機能をオフにすること。
そしてパスワードもランダムで長くするしかないですね。
そもそもBroadcomってだいぶメジャーな企業じゃないですか。
そんなこと言われてもどうにもできないですね。