無線LANハッキング


x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x
x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x

--- 第○章: WPA-TKIPのパスワード解析 ---

著者:黒林檎

x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x
x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x


■0x00.) はじめに

 近年一般に復旧し始めている無線LANですが、危険危険といえど何故危険なのか?そもそも何故解析できるのか?
 Wizard Bibleを見ている皆さんは「当たり前」と思ってるかもしれませんが、一部の知らない人が読んでくれてることを願います。
 一般的な対策としては、無線LANの暗号化方式を@「WPAに変える」
 「本当にそれで攻撃の対策が出来るのでしょうか?」という事を考えていきたいです。

■0x01.) 無線LANの暗号化方法

@WEP
 無線LAN初期の暗号方式の規格であり、脆弱性があり容易に解析ができます。脆弱性の意味はhttp://e-words.jp/w/E88486E5BCB1E680A7.htmlを参照してください。

AWPA
 WEPを強化した暗号化の規格です。暗号鍵を定期的に更新するTKIPを導入してるなどで、WEPよりかは解析が困難になった。

BWPA2
 WPAの新バージョンです。米標準技術局(NICT)が定めた暗号化標準のAESを採用しています。AESとはWEP・WPA(一部AESに変更可)より強力になった暗号化方式です。


■0x02.) WEPの仕組み

 WEPの暗号アルゴリズムはRC4という規格が使われています。
 RC4の暗号鍵の基になるWEPキーは40/104ビットの長さがあり、このWEPキーは事前にAPと端末間での共有が必要です。WEPキーに24ビットの初期ベクター(IV)を加えたものが暗号鍵になります。

 WEPで使われているRC4(暗号化アルゴリズム)はストリーム暗号なので暗号鍵を初期値とし擬似乱数列を作成して、平文とその擬似乱数列でXOR(排他的論理和)をとることにより暗号文を作ります。なお、平文には送信データ+CRC32(巡回冗長検査)で計算されたハッシュの値が使用されます。

 暗号化したデータは受信者が所持しているWEPキーで送信されて来たIVを使って復号します。

■0x03.) WEPに対する攻撃法

 WEPにはいくつかの脆弱性があり、以下の攻撃が可能になります。

・IVコリジョン攻撃
 同じIVが一巡するのでそれを再利用します。

・PTW攻撃
 キーストリームから鍵を推定する鍵回復攻撃です。しかしこいつには対象のパケットが必要になるという弱点があります。

・リプレイ攻撃
 偽造パケットを認証させる攻撃です。
・フラグメンテーション攻撃
 IPフラグメントの再構成処理に関係する攻撃です。

・ビットフリッピング攻撃
 パケットキャプチャして、変更・改ざんし、サーバーへ送る攻撃です。

・FMS攻撃
 RC4が作る擬似乱数列の先頭部分にバラツキが少ないことを利用する攻撃です。VIがある種の条件を満たす場合、鍵を5%の確率で推測できます。

■0x04.) もっと簡単にWEPの駄目駄目を語ると

1:鍵長が短い
2:鍵の配布メカニズムがなく同一キーを再利用するなど
3:通信統計をとって解析する攻撃に弱い

■0x05.) WPAの大まかな説明

 WPAはWEPより優れている暗号方式と世間一般で言われていますが、これは間違ってないだろう。
 WEPなんぞオタッキーな小学生でも解析出来てします。だって4万パケット集めてaircrack-ngで解析させてまえば一発で出てしまう…。
 それに対してWPAは何万何千パケット集めようが認証時に4つのパケットを収集しない限り解析は不可能です。まぁ悪人なら任意にAPと端末の認証切って再認証したところを…w。

■0x06.) WPAって何だ?

 WPAには二つのTKIPとAESという奴があるがどーゆう違いがあるのでしょうか?
 TKIPはキーを自動的に変更して暗号化を行うものです。128ビットの一時キーをもとにストリームが作成されるわけです。それに一万パケット毎に一時キーを変更しているので解読を困難きわまりないものにします。ただ暗号化アルゴリズムに皆おなじみRC4を使っているのは変更ありません。
 それに対してAESは暗号化アルゴリズムである、セキュリティープロトコルちゃいまっせェーw。AESはセキュリティープロトコルとしてCCMPという物を使います。
 暗号鍵の長さは128ビットで、IVの長さは48ビットです。
 ついでに話は長くなるがWPAは暗号化アルゴリズム以外に認証方法が違います。

@WPA-EAP
AWPA-PSK

 EAPは外部認証サーバーなどを使用してIEEE 802.1xによる認証が利用できる、おもに企業などが使う方式です
 PSKは主に個人向けで事前に共有キーによる端末との認証を行う方式です。

■0x07.) WPAに攻撃!

 WPAといってもTKIPの方です。
 基本的な暗号方法は同じためパケットの末尾から(ICVから)一文字ずつ解読するchopchopが成立するわけですが…。TKIPになると解析成功率は格段に下がるわけです。それにもし解析出来ても解析した鍵はMICの改竄された鍵なわけで、暗号解読キーの入手はできません。よってパケット解読にも至りません。

■0x08.) WPA(TKIP)のおおまかな解析方法

 0x07を読んで疑問に思った方いると思います。「あれ?俺WPA解析できたぞ?」って人。確かに解析は可能…です。
 大まかに言ってしまうと。SSIDとパスフレーズ(PSK)の辞書ファイルを用意します。
 そしてパケットキャプチャーで手に入れた4ウェイ・ハンドシェークのデータを用意した辞書でパスフレーズを割り出します。
 そーゆう流れ出WPAの解析をします。

■0x09.) APの管理者はどーゆう対処をすればよいのか

1:WEP・WPA(TKIP)を使ってる方は、WPA(AES)かWPA2(AES)に変更しましょう

2:TKIPを使用してる奴は鍵更新の間隔を出来るだけ小さくしましょう。

3:パスワードは出来るだけ忘れない程度で長文!これだけで解読が困難になります。

4:WEPを使ってる方は今すぐ買い換えましょう^^;

■0x0A.) 実践Crack

 WEPの解析からWPAの解析しちゃいましょう^^;
 結構前に日本橋でGSKYなる違法無線LANカード販売で人気上昇なうなBack track!多くの人はGUIバージョン(?)のSpoonWepを使ってクラックしてるんじゃないでしょうか?
いや…知りませんよ(汗…。だってGSKY使ってないもんw

 今回はコマンドでやりましょう!

 以下に示すものを用意します。

・aircrack-ngに対応している無線LANカードか無線LAN内臓PC
・Back trackのどのシリーズでも可(推奨はR1)(私はBT R1を使用してます)
・自分の環境でやってると思いますので、WPAを使ってる方はWPAのパスが書いてある辞書

 それでは解析方法を紹介します。

1:まず無線LANアダプタを確かめよう(不要だと思うが$や#は入力するなよw)。

$ iwconfig

2:モニターモードに移行します。

$ airmon-ng start wlan0

 私の環境ではwlan0…。多くの人はwlan0でしょう…。

3:無線LAN受信範囲にあるAPを確認します。

$ airodump-ng wlan0
 ここでAPが表示されない人は出直せ…w

4:パケットを収集します。

$ airodump-ng --channel [APチャンネル] --bssid [APMACアドレス] -w [ファイル名] wlan0

 ファイル名はkurione.capのように拡張子をcapにすること!

5:解析を実行します。

$ aircrack-ng kurione-01.cap

ここでパスが出なかった人は5,000パケット毎に自動的にクラックが開始されます。キャプチャー続けていればですが…。

 以上がWEPの解析方法です。
 これからこの基本事項に少しプラスして、WPAの解析に入ります…。

■0x0B.) 実践WPAクラック(続

 今回の筆者の実験環境はWPA-PSKです。
 まず基本から思い出そう…。
 WPAの解析方法にはAPと端末の接続を切断してやり4パケット収集しなければなりません…。もちろん再接続するのをじぃーーーと待っていてもいいのですけどね…w
 今回はそんな江戸時代染みた事はしません!現代風にやってみましょう!現代風に!w
 0x0Aのステップ4までは方法は同じです。
 ここで必殺aireplay攻撃です(キリッ

1:前回のWEPクラックでのairodumpを用いたパケットキャプチャーまでは同じです。

2:ここでAPと端末間の接続を切ります。

$ aireplay-ng -0 1 -a [APMACアドレス] -c [クライアントMACアドレス] wlan0

 これが成功して再接続した場合、勝手に端末が再接続したりユーザーが再接続したりで、クラインとAPの間で認証パケットが飛ぶんですねー。これをキャプチャーすれば半分は成功です!成功したらパケットキャプチャー画面右上にある異変が現れますw(これは成功してからのお楽しみですw)

3:それではクラックを開始します。ファイル名は先ほどと変わっていません。

# aircrack-ng kurione-01.cap -w kurione.txt wlan0

 なかなかパケットがーって人のためにおまけです。

$ aireplay-ng -3 -b [APMACアドレス] wlan0

 これでクライアント(正規)がARPさえ送れば…wパケットキャプチャーできたデータが増えてきます。
__おまけ____
ubuntuじゃあ管理者権限を求められるようですね(汗)自分はBTでしかaircrack-ngを動かさないので知りませんでした。。。
ubuntuの場合は・・・
sudo -i
パスワード入力
airmon-ng start wlan0
何故管理者権限を使うのか?というと・・・
ネットワークをモニタリングするのにpcapを使います。これの実行に、管理者権限を要るわけです^^;
================================================
■黒林檎
●Job: 学生 林檎社取締り 
●Web: http://kuione06.bakufu.org/
●ブログ:http://exploit12345.at.webry.info/
●Mail: bag427flower@yahoo.co.jp
●愛用PC: hp 2133 工人舎SAシリーズ iMac(型落ち27インチ)
●Comment:
 初投稿です(祝
 自分が中学二年生から楽しみにして目標にしていたセキュリティープログラミングキャンプ
 が仕分けされました。。。orz
 今年の目標はC言語とアセンブリマスターですw
 バイト募集中です(詳細はサイトで)
 
●関心のあるセキュリティ分野・技術:
 関心ある技術はペネトレーションテストかな?
 いやハッキングっていってもいいけどそこは(キリッ
 ハッキングってすぐ新しい技術が出るから飽き性の俺にはJUST☆
 最近パソコンそのものに興味を持ち出し3000円の激安デスクトップ(本体)を購入・分解。