ビデオカードを使用したWPA / WPA2のパスワードマッチング

こんにちは、Habr!

今日は、Wi-Fiパスワード推測ゲームでビデオカードの全機能を使用する方法を説明します。 コンピューターの80%にビデオカードが搭載されている場合、これらのタスクにプロセッサ容量(特にaircrack-ng )のみを使用することは、今日ではなんとなく一般的ではありません。 したがって、システムの潜在的な能力をすべて使用するのが賢明です。 つまり、素晴らしいピリットプログラムについてお話します。



プログラムについて少し:

Pyritでは、WPA / WPA2-PSK認証を計算するための巨大なデータベースを作成できます。 ATI-Stream、Nvidia CUDA、およびOpenCLを介したマルチコアおよびその他のプラットフォームの処理能力を使用すると、世界で最も一般的に使用されているセキュリティプロトコルの1つに対する圧倒的な攻撃となります。



WPA / WPA2-PSKはIEEE 802.11 WPA / WPA2標準のサブセットであり、参加する各事前共有キーを割り当てることでキーの配布とクライアント認証を複雑にします。 このマスターキーは、ユーザーが最初にラップトップやアクセスポイントなどで設定する必要があるパスワードから取得されます。 ラップトップがアクセスポイントへの接続を作成すると、新しいセッションキーは暗号化と認証のマスターキーから取得されます。ラップトップがアクセスポイントへの接続を作成すると、マスターキーに基づいて新しいセッションキーが生成され、後続のトラフィックが暗号化および承認されます。 ユーザーごとに個別のキーではなく単一のマスターキーを使用することで「保存」することにより、キー転送のブルートフォースフェーズに対するプロトコルの脆弱性を犠牲にして、家庭や小規模オフィスでのWPA / WPA2ネットワークの展開が簡単になります。 これにより、ネットワークを保護するパスワードを完全に公開できます。



利益はいくらですか? aircrack-ngとpyritのpmk / sの数を比較します。

画像画像



すべてのアクションは、Abuntu 10.04 R2 x86_64でAti R6950 Twin Frozr IIIグラフィックカードを使用して実行されたことに注意してください。

(つまり、ubuntuライクなシステム、特にバックトラック5にはすべてが当てはまりますが、32ビットシステムと64ビットシステムにはほとんど違いがありません)。

設置

必要なプログラムのリスト:

1. AMDドライバー11.6

2. AMD APP SDK 2.4k 1k 2

3. Pyrit svn checkout pyrit.googlecode.com/svn/trunk pyrit_svn

4. Calpp ++ Turk



1.ドライバーのインストール:

chmod +x ati-driver-installer-11-5-x86.x86_64.run

sudo ./ati-driver-installer-11-5-x86.x86_64.run

sudo reboot








2. AMD APP SDK 2.4のインストール:

cp /home/user/Downloads/AMD-APP-SDK-v2.4-lnx64.tgz /home/user

cd /home/user

tar -xvzf AMD-APP-SDK-v2.4-lnx64.tgz

sudo gedit ~/.bashrc






このファイルの最後に、次の行を追加します。



AMDAPPSDKROOTのエクスポート

AMDAPPSDKSAMPLESROOTのエクスポート

エクスポートAMDAPPSDKROOT = / home / user / AMD-APP-SDK-v2.4-lnx64

エクスポートAMDAPPSDKSAMPLESROOT = / home / user / AMD-APP-SDK-v2.4-lnx64 /サンプル

export LD_LIBRARY_PATH = $ AMDAPPSDKROOT / lib / x86:$ AMDAPPSDKROOT / lib / x86_x64:$ LD_LIBRARY_PATH



画像



/ user /をユーザー名に変更します

上記のオプションは、あらゆる容量のシステムで機能することに注意してください。



ログアウト



3. icd-registrationの登録:

tar xfz $AMDAPPSDKROOT/icd-registration.tgz

sudo cp $AMDAPPSDKROOT/etc /etc








重要!

一部の英語のマニュアルでは、Atiカードを使用してカードと直接やり取りする両方のテクノロジーのインストールについて説明しています。これは、この問題に関して道徳的および物理的に古いOpenCLと、libboostライブラリを使用するCalppです。



4. Calppのインストール:

sudo apt-get install libboost1.40-all-dev cmake

tar -xvzf calpp-0.90.tar.gz

cd calpp-0.90

sudo gedit CMakeLists.txt








FIND_LIBRARYを次の値で修正します。

FIND_LIBRARY(LIB_ATICALCL aticalcl PATHS "/home/user/AMD-APP-SDK-v2.4-lnx64/lib/x86_64/")

FIND_LIBRARY(LIB_ATICALRT aticalrt PATHS "/home/user/AMD-APP-SDK-v2.4-lnx64/lib/x86_64/")

FIND_PATH(LIB_ATICAL_INCLUDE NAMES cal.h calcl.h PATHS "/home/user/AMD-APP-SDK-v2.4-lnx64/include/CAL")



画像



sudo cmake .

sudo make install








5. pyritのインストール:

sudo apt-get install g++ python-dev zlib1g-dev libssl-dev python-scapy libpcap0.8 libpcap0.8-dev libpcap-dev

svn checkout pyrit.googlecode.com/svn/trunk pyrit_svn

cd /pyrit_svn/pyrit

sudo python setup.py build install

cd ..

cd cpyrit_calpp

sudo python setup.py build install








これでインストールは完了です。

インストールを確認します。

pyrit selftest







使用する



1.利用可能なプロセッサ/グラフィックコアを確認します。

pyrit list_cores







2.評価テストを実行します。

pyrit benchmark







出力(pmk / sの数は当然、ビデオカードに依存します):



#1: 'CAL ++ Device#1' ATI CYPRESS '':82426.3 PMK / s(RTT 2.4)

#2: 'CPU-Core(SSE2)':643.5 PMK / s(RTT 3.0)

#3: 'CPU-Core(SSE2)':655.1 PMK / s(RTT 3.0)

#4: 'CPU-Core(SSE2)':691.0 PMKs / s(RTT 2.9)

#5:「ネットワーククライアント」:0.0 PMK / s(RTT 0.0)



1つのグラフィックスカードが1つのプロセッサコアに取って代わることに注意してください。 2枚以上のカード、またはデュアルチップカードがある場合、出力は次のようになります。



#1: 'CAL ++ Device#1' ATI CYPRESS '':82426.3 PMK / s(RTT 2.4)

#2: 'CAL ++ Device#2' ATI JUNIPER '':41805.7 PMK / s(RTT 2.6)

#3: 'CPU-Core(SSE2)':655.1 PMK / s(RTT 3.0)

#4: 'CPU-Core(SSE2)':691.0 PMKs / s(RTT 2.9)

#5:「ネットワーククライアント」:0.0 PMK / s(RTT 0.0)



さらに、上記のすべてのアクションは、すでにハンドシェイクがインターセプトされた.capファイルを持っているという事実(ハンドシェイクをインターセプトする方法 )に基づいています。



重要!

pyritでは、パスワード選択用にプリコンパイル済みハッシュのデータベース全体を作成できます。 これらのデータベースを保存および使用するための2つのオプションがあります。

オプション1-ユーザーの非表示のホームフォルダーにデータベースを保存します。 私はそれをモバイルと呼びます。 頻繁に遭遇する100万のパスワードを持つファイルが取得され、その後、簡単な確認のためにessidが追加されます(マップ上の100万語+ 1 essidは約1分です)。

長所

パスワード付きのファイルは1回アップロードされて忘れました(好きなだけアップロードできますが、お勧めしません)

任意の名前の任意の数のessid

わずかな時間コスト

短所

2000万以上の辞書と少なくとも10の異なるessidを使用する場合、かなり多くの時間がかかります。

結論 -長所は短所にスムーズに流れ込み、逆も同様です。 私自身は、最大100万語のパンチ辞書があれば理想的です。これにより、さまざまな.capファイルを高速でチェックできます。

使用例



pyrit -i //////. import_passwords

pyrit -r cap-01.cap analyze

pyrit -r cap-01.cap -b 00:11:22:33:44:55 attack_batch



pyrit -r cap-01.cap attack_batch






オプション2-指定されたユーザーフォルダーにデータベースを保存します。 これは、ビジネスに対するより徹底的なアプローチです。 特定のessidおよび特定の数のパスワード用のデータベースを作成できます。 1億個のパスワードを持つファイルが取得され、その後、一意の名前を持つessidがファイルに追加されます。 その後、データベースがコンパイルされ、アップロードした特定のessidにアタッチされます。 コンパイル後、速度は5〜7倍になります。 あなたは素晴らしい選択肢を言うでしょう、そしてあなたは正しいでしょう、しかし決定のスプーンがあります:)キャッチはコンパイル時間にあります、それは当然パスワードとessidの数に依存し、長い時間がかかります。

長所

ポイントの名前がデータベースにあるものと一致する場合、10個の一意のessidに対して1つのベースを任意のアクセスポイントに使用できるとします。 つまり 2つのネイバーがdlinkアクセスポイント名を持っているが、当然ながら異なるMACアドレスを持っている場合、これは新しいデータベースを作成せずにデータベースをソートすることを妨げません。

スピード

素晴らしいスピード

私は最も一般的なessid'yに1つのベースを作り、最小時間のためにそれらをチェックします!!! 数量。

短所

コンパイル時間

多くのハードディスク容量を占有します。

結論 -私のベースに関する乾燥した事実:8億5,000万語、24 essid'a、32時間のコンパイル、650.000 pmk / sデータベースのソート、重量240 GB。

当然、パスワードとESSIDの数が少なくなると、時間のコストは正比例して減少します。 それが価値があるかどうかにかかわらず、誰もが自分で決める。

使用例



pyrit -u file:////////.db -i //////. import_passwords

pyrit -u file:////////.db -e linksys create_essid

pyrit -u file:////////.db eval

pyrit -u file:////////.db batch

pyrit -u file:////////.db eval

pyrit -u file:////////.db -r /////cap/output-01.cap attack_db







おわりに

Wi-Fi用のパスワードの選択に絶えず/専門的に従事している人々にとって、そのようなプログラムの存在は生活をずっと楽にします。 現在、ハードウェアのすべての容量を使用しないことは罪です。アップグレードすることは何の理由もありません:)( 違いを思い出してください-プロセッサを反復処理〜3.000 pmk / s、ビデオカードを反復処理〜85.000 pmk / s )。 アナログに関するいくつかの言葉-これはWindows用に作成されたwifiプログラムのcommviewです。Windowsを使用していないので、見たり触れたりしていません。 彼女は、もちろん、支払った(500ドルの利益)。



関連リンク:

ピリット

aircrack-ng



All Articles