これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド weplab です。
プログラム:
NAME
weplab - ワイヤレス WEP 暗号化セキュリティ アナライザー
SYNOPSIS
ウェプラブ {-a | -r | -b | -y | -c} [オプション] {pcap file}
DESCRIPTION
weplab は、ワイヤレス ネットワークにおける WEP 暗号化のセキュリティをセキュリティからレビューするツールです。
教育的な観点。 いくつかの攻撃が利用可能です(高度な統計を含む)
攻撃))、それぞれの有効性と最小要件を測定できます。
一方で、weplab は高度なワイヤレス WEP 暗号化クラッカーと見なすこともできます。
多種多様な攻撃をサポートすることを目的としています。 現時点でサポートされている攻撃は次のとおりです
辞書ベース、ブルートフォース、およびいくつかの種類の統計ベース。
OPTIONS
-a、--分析する
特定のファイルを分析し、パケットに関する統計を収集します。
検出された W ネットワークごとに保存されます。
-c、--キャプチャ
WLAN インターフェイスを使用して、WEP 暗号化データ パケットをキャプチャします。 捕らえられた者たち
パケットは pcap 形式でファイルに記録され、後でクラックするために使用できます。
キー。
-b、--ブルートフォース
ブルートフォース攻撃を開始してキーを破壊します。 つまり、weblab はすべてをテストします
正しいキーを見つけるために考えられるキーを調べます。
キーのサイズとプロセッサによっては、これにかなりの時間がかかる場合がありますのでご了承ください。
スピード。 詳細については、このドキュメントの上記のブルートフォース手法を参照してください。
BSSID が指定されていない場合、BSSID と同じネットワークに属するパケットは、
最初のものはクラックに使用されます。
-r、--ヒューリスティック
統計的攻撃を開始してキーを破ります。 これが最も速い方法です
十分なパケットを所有している場合は、キーをクラックします。 例として、64 ビット鍵は破られる可能性があります
100.000 パケットから、および 128 パケットから 300.000 ビット キーを 1 ~ 2 時間以内に取得します。
十分なパケット (900.000 個としましょう) があれば、クラッキングにかかる時間は数秒です。
選択した安定性レベルに応じて、いくつかの統計的攻撃が使用されます。
(デフォルトでは 3)。 必要なプロセッサ時間とパケット数は大きく依存します
攻撃を開始するために使用されるパラメータ。
この方法は非常に高度です。 読んで理解することを強くお勧めします。
このドキュメントのセクション。 以前はデフォルトのオプションで問題なく動作していましたが、
十分なパケットがあるので、それがどのように機能するかを理解し、調整できるようにすることをお勧めします。
適切なパラメータを使用してプロシージャを実行します。
BSSID が指定されていない場合、BSSID と同じネットワークに属するパケットは、
最初のものはクラックに使用されます。
-y、--dictionary
辞書ベースの攻撃を開始してキーを破ります。
多くの WEP キーは、ネットワーク管理者が入力したパスフレーズから派生します。
この問題が発生し、統計を開始するのに十分なパケットがない場合
攻撃を行う場合は、ブルートフォース手法よりも辞書ベースのクラッキングを使用する方が良いでしょう。
辞書攻撃では、John the Ripper を使用して weplab する単語を生成します。
WEP キーを取得するために使用されます。 したがって、ジョン・ザ・リッパーは立ち会って処刑されなければなりません。
その出力は weplabs 入力にパイプされます。 「例」セクションには次のものがあります。
それに関するいくつかの例。
BSSID が指定されていない場合、BSSID と同じネットワークに属するパケットは、
最初のものはクラックに使用されます。
-k、--キー
キーの長さを指定します。 64 ビットまたは 128 ビットのいずれかにすることができます
このオプションはクラッキング手法内でのみ役立つため、-y、-r、または -b を使用する必要があります。
それと併せて。
デフォルト: 64 ビット。
--keyid
64 ビット キーのキー ID を指定します。
64 ビット キーの場合、WEP 標準では XNUMX つの可能なキーが指定されており、それぞれに
異なるキー ID (0 ~ 3)。 通常は keyid 0 のみが使用されますが、次のキーを使用してネットワークにアクセスすると、
さらに多くの keyid がある場合は、このオプションを使用してそのうちの XNUMX つを指定し、
それぞれに個別のクラッキング攻撃を実行します。
デフォルト:0
--fcs ログに記録されるすべてのパケットに 1 バイトの FCS テールが存在することを指定します。
ドライバーと、カードをモニター モードに設定した方法に応じて、次のようになります。
ログに記録されたパケットには、1 バイト長の追加の末尾が含まれる可能性があります。
あなたのカード/ドライバーがこれを必要とするかどうかを確認する最良の方法は、自分のカード/ドライバーを壊してみることです
通信網。 このようにして、キーがすでにわかっているように、それがクラックされなければ、
FCSさん、試してみてください。
このオプションはクラッキング手法内でのみ役立つため、-y、-r、または -b を使用する必要があります。
それと併せて。
デフォルト: FCS は存在しません。
--プリズムヘッダー
ログに記録されるすべてのパケットに PrismHeader と呼ばれる特別なヘッダーの存在を指定します。
ドライバーと、カードをモニター モードに設定した方法に応じて、次のようになります。
ログに記録されたパケットには、144 バイト長の追加ヘッダーが含まれる可能性があります。
必要かどうかを知りたい場合は、weblab でファイルを分析してください。 もし
prismheader は必要ないことがわかります。 必要であれば、たくさん表示されます
偽の BSSID の使用、および prismehader を使用しないことに関する不利な点はありません
とにかく、自分の WEP キーをクラッキングすることが、それが必要かどうかを知るための最良の方法です。
このオプションはクラッキング手法内でのみ役立つため、-y、-r、または -b を使用する必要があります。
それと併せて。 weplab 0.1.2 からは、-a で指定する必要もあります。
weplab が見つかった正しい BSSID を表示するためです。
デフォルト: prismheader は存在しません。
--bssid
選択した BSSID に属するパケットのみを使用します。
BSSID は AA:BB:CC:DD:EE:FF の形式である必要があります
BSSID が指定されていない場合は、BSSID と同じ BSSID に属するパケットのみが指定されます。
最初のものは使用されます
検出されたすべての BSSID を表示したい場合は、ファイルに -a を使用します。
このオプションはクラッキング手法内でのみ役立つため、-y、-r、または -b を使用する必要があります。
それと併せて。
デフォルト:なし
-- カプレン
各パケットのログに記録されるバイト数を指定します。
攻撃を開始するには、わずか数のパケット (10) が完全に攻撃される必要があります。
ログに記録されました。 統計攻撃の場合、他のパケットの最初のバイトのみが攻撃されます。
必要です。
統計攻撃のパケットをログに記録するときにディスク領域を節約するために、
パケットの先頭をログに記録する必要があります
ここで 0 を指定すると、パケット全体がログに記録されます。
この量よりも少なくとも 10 パケットをキャプチャする必要があることに注意してください。
(完全にログに記録されたパケット)、内部で候補キーをテストするために必要となるためです。
ひび割れのプロセス。
デフォルト:1500
-i
パケットのキャプチャに使用されるワイヤレス インターフェイスを指定します。
weplab はインターフェイスをモニター モードに設定しないため、自分で設定する必要があります
パケットをキャプチャする前に。 その方法については、上記を読んでください。
-m、--multiprocess
を利用するために起動されるスレッドの数を指定します。
マルチプロセッサ システム。 マイクロプロセッサがハイパースレッディングをサポートしている場合は、使用してください
マイクロプロセッサーの数が XNUMX 倍になります。
たとえば、デュアル P4 ハイパースレッディングを所有している場合は -m 4 を使用し、デュアル P2 ハイパースレッディングを所有している場合は -m XNUMX を使用します。
デュアルプロセッサP-IIマシン。
現時点では、このオプションはブルートフォース攻撃でのみ機能します。
デフォルト:1
--ASCII
ブルートフォース攻撃を開始する場合、次の場合は ASCII バイトのみを検索する方が高速です。
WEP キーが ASCII を使用したパスフレーズから生成されていることを確認してください。
ダイレクトマッピング。
このようにすると、各キー バイトは 00 ~ 3F の範囲でのみテストされます。 キースペースとして
小さいほど攻撃は速くなります。
--perc
統計的攻撃に必要な最小確率を指定します。 だということだ
この確率に適合するために、少なくとも十分な候補キー バイトがテストされます。
このオプションを完全に理解するには、以下を注意深く読むことをお勧めします。
この文書の上の「統計的攻撃」というキャプション。
最小確率が高くなるほど、攻撃が遅くなることに注意してください。 のために
ほとんどの場合、50% で問題ありません。 KEY NOT FOUND が表示された場合は、60 または 70% に増やすことができます。
50 ですが、永遠に待つことになるので 100% には決して増やさないでください。
- 安定性
安定性レベルに基づいて、事前定義された統計攻撃のセットを指定します。
すべての統計攻撃がすべてのキーで安定している (正常に機能する) わけではありません。 いくつかの
彼らは他のものよりも不安定です。 このオプションを使用すると、それらのみを起動できます
指定された安定性レベルを満たす攻撃。
レベルは 1 から 5 まであり、高いほど安定します。 行くことはお勧めしません
レベル 1 は不安定すぎて結果が得られないためです。 デフォルトではレベル 3
使用されている。 固有個体値が少ない場合はレベル2に変更すると良いでしょう。
レベル3でのクラックは失敗しました。
「統計的攻撃」のキャプションには、17 件の攻撃の詳細なリストが表示されます。
それぞれの安定性レベルを使用して実装されています。
--攻撃 #攻撃1、#攻撃2、#攻撃2
これは、開始される統計攻撃を選択するもう XNUMX つの方法です。
--stability パラメータを使用しない場合。 番号が選択されている攻撃のみ
ここでは、統計手順で使用されます。
攻撃の数は 1 から 17 まであります。攻撃の統計を参照してください。
詳細については、セクションを参照してください。
--デバッグキー
既知の WEP キーを使用して一連の統計攻撃がどのように機能するかをテストしたい場合は、
このパラメータは、何もせずに最終結果を取得する機会を与えます。
可能なすべての分岐をたどります。
このオプションを使用すると、パケットの暗号化に使用される WEP キーについて weplab に通知します。
実際のブランチのみが追跡され、各ブランチの候補リストが取得されます。
キーバイト。
-V バージョン情報を出力し、存在します。
-h コマンドラインパラメータのヘルプを表示します。
インストール
weplab は特別なインストールを必要としません。 ユーザーレベルで実行され、必要なのは
libpcap ライブラリ (>=0.8) が存在する必要があります。 ほとんどの関数について、weblab は任意のユーザーで実行できます。
ただし、パケット キャプチャ機能を使用するには、root で実行する必要があります。
ソースコード配布からインストールする場合、configure スクリプトは次のようにする必要があります。
プロセッサのタイプを検出して、プラットフォームに合わせてコードを最適化できます。
weplab で FMS 統計攻撃を実行するには、少なくとも 128 MB の空き RAM メモリが必要です。
パケットをキャプチャするために 64 MB の空き RAM が必要ですが、その他の機能には特別なものはありません。
Weplab は、Intel の GNU/Linux、PPC および MacOSX の GNU/Linux で正常に動作すると報告されています。
Windows バージョンでは、オープンソースのメソッドが不足しているため、パケットをキャプチャできません。
しかし、他の機能は正常に動作します。 「キャプチャ」の「Windows プラットフォーム」セクションをお読みください。
Windows でこの問題に対処する方法の詳細については、パケットのキャプションを参照してください。
キャプチャ パケット
まず、wep キーを解読するには、802.11b 暗号化パケットをキャプチャする必要があります。 道
weplab クラックの鍵は、すでにキャプチャされたパケット セットに対する受動的攻撃を使用することです。
ワイヤレス ネットワークで暗号化されたパケットをキャプチャするには、ワイヤレス カードを
モニターモード。 モニター モードの設定方法は、所有しているカードによって大きく異なります。
どのドライバを使用しているか。
カードでモニター モードを設定する方法の説明は、このドキュメントの範囲外です。
場合によっては、カーネルにパッチを適用したり、ドライバーを「ハッキング」したりする必要があります。 例として、
を使用して prism2 ベースのカードでモニター モードを設定するには、次の手順を実行する必要があります。
wlan-ng ドライバー。
カードの初期化。
prism2 と wlan-ng
wlanctl-ng wlan0 lnxreq_ifstate ifstate=enable
wlanctl-ng wlan0 lnxreq_autojoin ssid=any authtype=opensystem
orinoco : 特に何もない
インターフェイスを有効にします(例では wlan0 ですが、orinoco を使用している場合は eth0 に変更するだけです)
ifconfig wlan0 アップ
希望のチャンネル (例では 6) にモニターモードを設定します。
prism2 と wlan-ng
wlanctl-ng wlan0 lnxreq_wlansniff チャネル = 06 keepwepflags = false prismheader = false
Enable=true (理由はわかりませんが、場合によってはこの手順を XNUMX 回実行する必要があります:))
orinoco と iwpriv
iwpriv eth0 モニター 2 6
使用するカードとドライバーに関係なく、実行する必要があることがいくつかあります。
1. モニター モードに設定されたワイヤレス カードは、暗号化されたパケットを受け入れ、マークを付ける必要があります。
暗号化されたものとして。 上の例では、それがオプション keepwepflags=false の目的です。
XNUMX番目のステップ。
2. インターフェースが有効 (アップ) である必要があります。
3. カードがパケットに prism ヘッダーまたは fcs の「テール」を追加している場合、weplab は次のようにする必要があります。
(--fcs または --prismheader を使用して) それについて話しました。 これが必要かどうかを判断する
ハードウェアについては後ほど説明します。
暗号化されたパケットをキャプチャするには、weplab、tcpdump、または同様のスニファーを使用できます。
pcap 形式でパケットを記録します。
weplab でこれを行うには、-c を使用するだけです。 インターフェースは -i で指定する必要があります
weplab --debug 1 -c -i wlan0 ./packets.log
パケット全体をログに記録する必要はなく、802.11 ヘッダーと IV だけを記録する必要があります。
考えられる候補キーを検証し、パケット全体の暗号化されたペイロードが存在する必要があります。 それは
FMS 攻撃を使用するときに weplab で 10 つのファイルを指定する必要があるのはなぜですか。 XNUMX つのファイルには XNUMX 個だけ含める必要があります
ペイロード全体を含むパケット、および他のファイルには必要のない弱いパケットが含まれています。
ペイロードをログに記録します。
したがって、ディスク容量を節約するには、キーのパケットをいくつか記録することをお勧めします。
XNUMX つのファイルを検証し、その他の考えられるすべてのパケットの最初のバイトをログに記録します。
FMS 攻撃の可能性のある弱いパケットとして使用されます。
--caplen bytes を使用して、パケットごとにキャプチャされる最大バイト数を指定できます
weplab -c -i wlan0 --debug 1 ./verification_packets.logweplab -c -i wlan0 --debug 1
--caplen 100 ./weak_packets.log
あるいは、ディスク容量がそれほど重要ではなく、多少の余分なディスク容量を無駄にしても構わない場合は、
数秒後にファイルをロードすると、これら XNUMX つのステップを XNUMX つに結合できます。
weplab -c -i wlan0 --debug 1 --caplen 150 ./packets.log
このファイルは検証と弱いパケットの両方に使用できます。
分析 PCAP FILE
すでにキャプチャされたパケットを使用してキーを解読しようとする前に、次のことを行うことをお勧めします。
パケットが正しく記録されていることを確認するためだけにファイルを検証し、必要な情報が十分にあることを確認します。
希望の攻撃を実行します。
weplab --debug 1 -a ./packets.log
--prismheader または --fcs、あるいはその両方を試してみてください。
weplab --debug 1 -a --fcs ./packets.logweplab --debug 1 -a --prismheader --fcs
./packets.log
上で説明したように、prismheader は一部のカードとドライバーが追加する特別なヘッダーです。
キャプチャされたすべてのパケット。fcs は、一部のパケットによってキャプチャされたパケットに追加される特別な末尾です。
運転手。 次を使用して、カード/ドライバーに --fcs または --prismheaders が必要かどうかを判断できます。
--debugkey を使用した FMS 攻撃と、ユーザーによってキャプチャされた一連の暗号化されたパケット
wep キーがわかっているカード。 これについては、後の FMS 攻撃セクションで説明します。
WEP キー ひび割れ。
現時点では、weplab は 2 つの主なクラッキング手法、ブルートフォースと FMS 統計をサポートしています。
攻撃。 クラッキング方法を選択する前に、キーサイズを指定する必要があります。 デフォルトでは
キーサイズは 64 です。128 ビット キーをクラックするには、--key 128 を指定する必要があります。
強引な ひび割れ。
ブルートフォースクラッキングとは、考えられるすべてのキーをテストして正しいキーを見つけることを意味します。 つまり、
各キー バイトは 0 から 255 までの値を取ることができます。したがって、簡単な計算で次のことがわかります。
64 ビット キーの場合、合計の組み合わせは 2^40 であるため、100.000 c/s でキーをクラッキングすると、
最大 4100061318 秒かかります。 フルタイム勤務は127日。
128 ビット キーの場合、可能な組み合わせの合計は 2^104 であるため、100.000 c/s では合計
最大時間は 6520836420927105974 年です!! あなたは決してそうしようとしないでしょう
128 ビット キーに対してブルートフォース攻撃を開始します。 とにかく、weblab では次のような可能性が得られます。
やれ ;)
を起動するには、少なくとも 10 個の完全な wep 暗号化データ キャプチャ パケットが必要です。
ブルートフォース攻撃により誤検知を回避します。
辞書 ひび割れ
何だと思う ? ユーザーは多くの場合、単純な単語を WEP キーとして使用します。 辞書クラッキングモード
これにより、WEP キーが非常に簡単に推測できる単語でないかどうかを確認できます。 これを使うと
John-the-Ripper モードに加えて、いくつかの有益な結果が得られる可能性があります。
Weplab は STDIN から辞書の単語を読み取るため、統計が必要な場合は、
スペースを押してください。 ただし、統計は 10 秒ごとに STDOUT に出力されます。
辞書クラッキングでは XNUMX つの異なるモードを使用できます。
デフォルトでは、古典的なアルゴリズム (5 ビット キーの場合は MD128、4 ビットの場合は 40 つのキーのいずれか)
キー)を使用します。 このモードは、アクセス ポイントからキーを生成するために広く使用されています。
パスフレーズ。
Weplab が必要な場合は、「--攻撃 2」オプションを使用して Word to key を選択することもできます。
各単語の末尾に (必要に応じて) NULL バイトが追加されたプレーンテキスト キーを使用して適合させます。
WEP キーのサイズ。 この XNUMX 番目のモードは、WEP キーを設定するときにシステムで使用されます。
「iwconfig eth0 s:silly」を使用します。
FMS 統計 ATTACK
ワイヤレス ネットワークの WEP 暗号化は RC4 アルゴリズムに基づいています。 RC4 にはいくつかの弱点があります。
Fluhrer、Mantin、Shamir は 2001 年に「キーの弱点」という論文で説明しました。
「RC4 のスケジューリング アルゴリズム」。WEP における RC4 アルゴリズムの具体的な実装
実用化を可能にします。 著者の頭文字をとってFMSという名前が付けられました。
統計暗号解析。
この攻撃により無線ネットワークの暗号化を突破できるようにするために、
弱いパケットと呼ばれる、暗号化されたパケットで特定のデータを大量に収集する必要があります。 すぐ
この論文の公開後、FMS 攻撃を実装する XNUMX つのツールが登場しましたが、
これらのツールが使用する弱いパケットのセットは、考えられるすべての弱いパケットのほんの一部にすぎません。
パケット。 結果として、この攻撃は本来あるべきほど現実的なものではありませんでした。
2002 年 1 月、h4kari は論文「RCXNUMX の弱点の実際的な利用」を発表しました。
「WEP 環境」。これは、WEP 環境で使用される一連の弱いパケットの問題について説明しています。
既存のツールを使用し、他のバイトへの攻撃など、攻撃におけるいくつかの最適化を提案します。
最初のもの以外に。 H1kari は、以下の一部を実装する dwepcrack というツールを作成しました。
これらの最適化は *BSD で実行されます。 Weplab はセット全体をサポートする FMS 攻撃を使用します
暗号化されたペイロードの最初のバイトと XNUMX 番目のバイトの両方を攻撃するための弱いパケットの数。
また、一部のブルートフォースおよびスマートな確率ベースの決定が、
FMS 攻撃は、特に十分なパケットがない場合に、攻撃をより強力にします。
真っ向から攻撃を仕掛ける。
しかし、それとは別に、weblab の主な目的は、ユーザーを支援するための教育ツールであることです。
WEP の既存の弱点と、それを使用して暗号化を破る方法を理解する
鍵。 この目的のために、いくつかのコマンド ライン パラメーターが実装されています。
また、独自の無線 LAN を使用して weplab クラッキング能力をテストする予定がある場合は、次を使用できます。
--デバッグキー。 このオプションを使用すると、WEP キー (または少なくとも一部) が何であるかを weplab に伝えることになります。
そのため)、FMS で候補キー バイトを検索するときに、weplab は他のすべてのブランチをスキップします。
攻撃。
NEW 統計 攻撃
Korek によって Netstumbler フォーラムで公開された新しい統計攻撃。 これらの新たな攻撃により、
500k未満でもキーをクラックする可能性があります。
この情報を提供してくれた Korek に感謝します。 すべての功績はあなたにあります。
例
例 1. FMS 攻撃を使用したクラッキング
あなたは、自分の無線 LAN から 1.5M パケットを収集するためにツールをテストしたいと考えています。 あなた
weplab がそれを解読できるかどうか知りたいだけです。 最初に --debugkey を使用できます。 もし
128 ビットのキーを使用している場合、正しい構文は次のようになります。
weplab -r./packets.log --debugkey 01:02:03:04:05:06:07:08:09:10:11:12:13 --debug 1 --key
128 ./packets.log
キーの各バイトの統計と推測が表示されるので、
攻撃の実行可能性。 最後に、「キーが正常にクラックされました」と表示されるはずです。 もし、するなら
そのようなメッセージは表示されません。おそらく、キャプチャされたパケットには FCS テールが含まれているため、
--fcs を発行する必要があります
weplab -r./packets.log --debugkey 01:02:03:04:05:06:07:08:09:10:11:12:13 --fcs --debug 1
--key 128 ./packets.log
これで、debugkey のキーの一部だけを試してみることができます。 これでFMSが可能であれば
パケットの場合、weplab はこれらのバイトだけを使用してキーを解読できるはずです。
weplab -r./packets.log --debugkey 01:02:03:04:05:06 --fcs --debug 1 --key 128
./packets.log
うまくいく場合は、デバッグキーをさらに減らしてみてください。 最後に、なしで試すことができます
まるで実際の攻撃であるかのように、debukey をまったく実行しませんでした。
Enter キーを押すと、いつでも完了した作業の統計を取得できます。
例 2. ブルートフォースを使用したクラッキング
通常のブルートフォースを使用して 64 ビット キーをクラックするには、次のコマンドを発行するだけです。
weplab --debug 1 --key 64 ./packets.log
キーがプレーン ASCII である可能性があると思われる場合は、次の操作を行ってください。
weplab --debug 1 --key 64 --ascii ./packets.log
いつでも Enter キーを押して、完了した作業の統計を取得できます。
例 3. パケットのキャプチャ。
パケットをキャプチャするには、ワイヤレス カードをモニタ モードにする必要があります。
右チャンネル。 WEP ビットを無視するように監視モードを設定するように注意してください。 入手したら
カードをモニター モードにすると、tcpdump または weplab -c -i インターフェイスを使用してパケットをキャプチャできます
weplab -c -i wlan0 --debug 1 --caplen 150 ./packets.log
いつでも Enter キーを押して、完了した作業の統計を取得できます。
例 4. 既存の pcap ファイルを分析します。
Weplab は、pcap ファイルを分析していくつかの統計を取得することもできます。 この目的には -a を使用します。
--prismheader --fcs も使用できます。
weplab -a --debug 1 ./pcap.log
例 5. John the Ripper による辞書ファイルを使用した 64 WEP キーの解読
john -w:/path/to/my/big/dictionnaryfile -rules -stdout | weplab -y -d 1 --key 64 capt.dump
VERSION
このマニュアル ページは weplab のバージョン 0.1.3 に適しています。
onworks.net サービスを使用してオンラインで weplab を使用する