web-dev-qa-db-ja.com

パターンベースのパスワードクラッキング

今学期のプロジェクトを選択する必要があります。私は倫理的ハッキングと対策の2年生です。私の考えは、何らかのパターンベースのパスワードクラッキングを使用すると、標準の総当たり攻撃や辞書攻撃よりも効率的であるかどうかを確認することでした。

パターンベースのクラッキングとは、次のようなものです。

CvvcDcv

ここで、Cは大文字の子音、vは小文字の母音、Dの数字などです。私は実際に漏洩したパスワードのリストを使用して、最も可能性の高いパターンのリストを生成し、パターンに基づいてリスト全体を処理する小さなプログラムをコーディングします。上記のパターンは次のようになります。

Baab1ba
Baab1be
Baab1bi
...

私はこれが以前に行われたかどうか/どのように行われたかを調査しようと試みてきました。しかし、私はどんな情報も見つけることができません。検索に間違った用語を使用していると思います。

この種の亀裂は何と呼ばれますか?

これは行き止まりの可能性がありますか、それともパスワードをブルートフォースブルートフォースしようとする(より効率的な)方法ですか?

(または、これがトピックから外れているのではないかと心配しています。2014年にパスワードをクラックする「最新」の有望な方法があれば、どのような方法がありますか?調査に値するものはありますか?)

編集:

パターンリストの生成を開始しました。興味がある場合は、ここでリストを確認できます。 http://mayar.abertay.ac.uk/~1204925/temp/list.txt これまでのところ数年前にHotmailから漏洩したパスワードのリストのみを使用して生成されました。 100,000の実際のパスワードを使用して、誰かが興味を持っている場合は、数日で完全なパターンリストが作成されます

3
Juicy

あなたが話していることは、John The RipperとHashcatが提供するルールベースのパスワードクラッキングに似た音です。

これは本質的に、単純な総当たりに頼るのではなく、パスワードを生成するための一連のルールを定義します。 hashcatサイト または ジョンサイト に関する詳細情報があります。

さまざまなルールオプションと異なるパスワードダンプを比較する場合、おそらくここで行う興味深い作業がいくつかあります。

4
Rory McCune

この種の亀裂は何と呼ばれますか?

あなたはマルコフ連鎖に向かって努力していると思います。 Hashcatのstatsprocessor は、位置ごとのマルコフチェーンの1つの実装です。つまり、最初の文字のキースペースを尤度順に並べます。最初の文字を指定して、次の文字のキースペースを尤度順に並べます。等々。

Hashcatフォーラム に、例を含む優れたフォーラムディスカッションがあります。

基本的に、statsprocessorにディクショナリ(おそらく完全なディクショナリ、おそらく8文字以上の単語、おそらく複雑さの要件を満たす単語のみ)をフィードし、位置ごとのマルコフチェーンを計算します。

計算するフルサイズのマルコフチェーンはキースペースの100%をカバーするため、攻撃を最後まで実行させると、ブルートフォース攻撃とまったく同じ結果になります。ただし、最初は「ヒット」が多く、最後は「ヒット」が少ないはずです。

さらに、Hashcatの文字セットオプションを使用すると、「偽装」、つまり疑似コードで[mrst] [aeui]できます。

  • 最初の文字の場合、キースペースはm、r、s、およびtです。
  • 2番目の文字の場合、キースペースはa、e、u、iです。この組み合わせをブルートフォースにします。

次に、母音で始まる単語を処理する別の行があります。[aeiou] [kthm]-最初の文字の場合、キースペースはa、e、i、o、およびu-2番目の文字の場合、キースペースはk、 t、h、およびm。

これは行き止まりになっているのでしょうか、それともパスワードをブルートフォースにしようとする(より効率的な)方法でしょうか?

  • Atomは、Hashcatの古いブルートフォースアルゴリズムを、キースペース全体をカバーするマルコフチェーンに完全に置き換えました。
  • Hashcatは、利用可能な主要なパスワード解読ツールの1つです。

したがって、少なくとも、Atomは、ブルートフォースパスワードをより効率的に実行する方法であると信じています。私は個人的に同意します。パスワードの監査中に、マルコフ攻撃の初期段階では、終了時よりも多くの結果が見られました。

1