web-dev-qa-db-ja.com

リッパージョン-特定のルールの作成

ドキュメントが見つからない状況です。キースペースを複雑さで分割することにより、複数のマシン/ジョブにまたがってスケーリングを試みています。その7文字の完全にランダムな英数字のパスワード。

3wordの "words"の "wordlist"を作成しました。つまり、2文字の英数字のすべてのコンボ(62 * 62 = 3844)です。

aa
ab
ac
..
08
09
00

CONFIGでは、最小/最大len = 7に設定する計画でした。

スケーリングのために、3844のルールを作成することを計画していました。各ルールは、ワードリストから1行(ラインN)を取得し、その後に残りの文字の英数字を取得しました。以下のようなもの。

[N行目]?x?x?x?x?x =ルールN

次に、コマンドラインで、異なるルールを個別のジョブとして呼び出し、すべてのマシンを互いのクローンとしてセットアップします。

1)このようなルールはどのように見えますか(ルールN)、AzまたはA0への参照のみを見つけることができます(つまり、すべてのワードリスト項目、またはWeb上のすべてのドキュメントと例の先頭に追加)

2)これを実現するために欠けているその他の設定はありますか?

3
Ryan

過去に多くのマシンでパスワードのクラックをシャーディングしたとき、ワードリストをセクションに分割し、各マシンに試すためのワードリストのセクションを提供しました。これは、ワードリストのエントリごとにルールを操作するよりもはるかに簡単に思えます。 (結局のところ、ルールは単一の単語ではなく、単語リストに適用されることを意図しています。)

1
David

ジョンの「--node "フラグはこれを行うように設計されています。

--node=MIN[-MAX]/TOTAL     this node's number range out of TOTAL count

引用 OPTIONS doc

このオプションは、いくつかの簡単な手動構成の並列および分散処理を可能にすることを目的としています。たとえば、ワークロードを2つのノード(マシン、CPUコアなど)に分割するには、Johnの1回の呼び出しで「--node = 1/2」と「--node = 2/2」を指定します。 " もう一方の。 (これを1台のマシンだけで同じビルドのJohnで実行する場合、2つの同時呼び出しに異なる「-セッション」名を指定する必要もあります。)ノードは同じ速度であると想定されます(これが異なる場合)この場合、クラッキングモードと、セッションが「完了」することを期待されない設定を使用している場合を除いて、一方が他方よりも優先され、より早く実行される可能性があります。これは問題ありません。)速度が非常に異なる場合は、ノード番号の範囲を個々の呼び出しに割り当てることで、これを補正できます。たとえば、JohnのOpenMP対応ビルドを2台のマシンで使用する場合、クラックするハッシュタイプに対してOpenMPが(スケーラビリティが高く)サポートされており、一方のマシンには、同等の速度のCPUコアが他のマシンの2倍あります。次に、2倍のマシンで「--node = 1-2/3」を使用し(合計3つのノードのうちノード1および2とします)、小さいマシンで「--node = 3/3」を使用します。

現在実装されている、並列処理へのこのアプローチの効率は、クラッキングモードとその設定によって異なります(効率は、インクリメンタルモードと多くのルールがあるワードリストモードの方が高く、他のクラッキングモードとルールなしまたは少数のルールがあるワードリストモードの場合は低くなります。 )、ハッシュタイプ(ハッシュの計算が遅いほど効率が高くなります)、ソルトカウント(ソルトカウントが高いほど効率が高くなります)、ノードカウント(ノードカウントが少ないほど効率が高くなります)。スケーラビリティが制限される場合があります。合理的に使用できる最大ノード数は、クラッキングモード、その設定、ハッシュタイプ、ソルトカウントによって異なります。インクリメンタルモードでは、c/sレートに関する効率はほぼ完全です(基本的にオーバーヘッドはありません)が、一部のノードは現在作業量が少なすぎる可能性があります。この問題は、ノード数が多い(100以上など)ことにより悪化します。または制限的な設定(MinLenとMaxLenが同じ値または狭い範囲に設定されている、および/または使用されている文字が少ない文字セットファイルなど)。ワードリストモードでは、効率を上げるために、(プリプロセッサ拡張後の)ルールカウントは、p/sレートが低い(ハッシュタイプが遅い、ソルトカウントが高い)場合を除いて、ノードカウントよりも何倍も高くする必要があります。

また、「--fork=[cpu-count] "すべてのローカルコアを利用します。

0
Royce Williams