web-dev-qa-db-ja.com

辞書攻撃用の辞書を生成する方法は?

自分のパスワードを解読する必要があります。利点は、可能な文字と最大長を知っていることです。

辞書を作ることです。辞書には、選択したすべての文字の組み合わせを含める必要があります(たとえば、パスワードにTを使用しなかったため、文字Tを含むWordリストは必要ありません)。

どうやってやるの?

21
RhymeGuy

したがって、pythonを使用して、itertools.permutationを使用してすべての可能な組み合わせを生成できます

import itertools
res = itertools.permutations('abc',3) # 3 is the length of your result.
for i in res: 
   print ''.join(i)

ここで、'abc'は可能な文字列です。 aとAは同じではないことに注意してください!

これは出力します:

abc
acb
bac
bca
cab
cba

編集(@buheratorに感謝):

繰り返し文字が必要な場合(aaaなど)、代わりにitertools.productを使用する必要があります。例えば、

import itertools
res = itertools.product('abc', repeat=3) # 3 is the length of your result.
for i in res: 
    print ''.join(i)

これは出力します:

aaa
aab
aac
aba
abb
abc
aca
acb
acc
baa
bab
bac
bba
bbb
bbc
bca
bcb
bcc
caa
cab
cac
cba
cbb
cbc
cca
ccb
ccc
18
Lucas Kauffman

John the Ripperやhashcatなどのパスワード解読ツールは、この方法で使用できます。それらには、辞書(あなたの場合は1つのWord辞書)を取得し、それにいくつかの変換を適用するさまざまな「変換」規則があります。次に、パスワードを使用して行ったかもしれないことの種類に基づいてルールを指定できます。

この種のルールを指定する方法を学ぶのは簡単なことではありません。残念ながら、パスワードをあまり明らかにしない限り、詳細なヘルプを求める立場にはありません。

いくつかのサンプルの注釈付きのjohn CONFIGを以下に示します。

https://sites.google.com/site/reusablesec/Home/john-the-ripper-files/john-the-ripper-sample-configs-1

そして、ジョンのチュートリアルのリストはここにありますが、私は実際には私自身を見ていませんでしたので、もう一度、私はあなたを一般的な方向に向けることしかできません:

http://openwall.info/wiki/john/tutorials

13

crunch またはjohn the ripperを使用する必要があります。パスワードの長さと可能な組み合わせがわかっている場合は、かなり良い辞書を作成できます。たとえば、あなたのパスワードは次のようなものでした

p @ $$ w0rd123

または多分

P @ s $ Word1 @ 3

等できます

crunch 8 11 pPa@s$wW0oOrd123 -o list.txt

これにより、指定された文字のいずれかを含む最小長が8最大11のリストが作成されます。これは膨大なリストになる可能性があることに注意してください。

5
KDEx

辞書攻撃を作成するには、単語リストを使用する必要があります。独自のワードリストジェネレーターを作成するか、既存のジェネレーターを使用できます。

ここにいくつかの既存の単語リストジェネレータがあります:

あなたはもっと見つけることができます。ワードリストを生成した後、パスワードと一致するものが見つかるまで、それらの単語のあらゆる組み合わせを試す必要があります。

辞書を実行するためのツールも必要です。

ウェブサイトの場合:

または一般的に:

データの機密性ではなく動作のパスワードを使用するデスクトップアプリケーションの場合、設定ファイルを削除するか、実行中に そのメモリをハックする を削除するだけでよい場合があります。

私はあなたが script kiddie ではないことを前提としています;-)

2
LateralFractal