Linuxパスワード生成ツールのクランチ使用ガイド
https:// www.jianshu.com/p/72f9262ba6c1
シメオン
crunchは、Linuxでの圧縮後わずか38kの小さなプログラムです。crunchプログラムは、メール作成者[email protected]によって2004年以前に作成されました。以降のバージョンは、bofh28 @ gmail.comによって維持されているため、gtihubにあります。 2つのバージョンがあります。
https://github.com/crunchsec/crunch
https://github.com/jaalto/external-sf--crunch-wordlist
crunchはデフォルトでKali環境にインストールされます(05-Password
攻撃)、Crunchは指定されたルールに従ってパスワード辞書を生成し、生成された辞書文字シーケンスを画面、ファイルに出力したり、別のプログラムにリダイレクトしたりできます。Crunchは可能なパラメータを組み合わせて調整できます。そして、次のような特徴があります。
lCrunchは組み合わせと配置で辞書を生成できます
l行番号またはファイルサイズによって出力を停止できます
lリカバリーをサポート
l数字と記号モードをサポートするようになりました
l大文字と小文字の文字モードをサポートするようになりました
l複数のファイルを生成するときにステータスレポートを追加する
l新しい-lオプションは@、%^をサポートします
l新しい-dオプションにより、繰り返される文字を制限できます。manファイルを使用して詳細情報を表示できます
l Unicodeをサポート
実際、Crunchの最も強力な点は、パスワードの詳細を知った後、具体的に辞書を生成できることです。これは、侵入に特に役立ちます。たとえば、ユーザーのパスワードを知る習慣はtaobao2013(taobao +数字の年)です。ブルートフォース攻撃を実行するために使用される年の辞書は、特に効果的です!
1.1クランチのダウンロードとコンパイル
最新バージョン3.6は手動でダウンロードできます:https : //sourceforge.net/projects/crunch-wordlist/
次のコマンドを自分でダウンロード、解凍、コンパイルすることもできます
wget https://sourceforge.net/projects/crunch-wordlist/files/crunch-wordlist/crunch-3.6.tgz
tar -zxvf
crunch-3.6.tgz
cd crunch-3.6 /
作る
手動コンパイルでは、Kaliによって自動的にインストールされるプログラムより1つ多いunicode_test.lstが作成されます。手動コンパイルでこのファイルをKaliの/ usr / share / crunch /フォルダーにコピーできます。
cp
unicode_test.lst / usr / share / crunch /
1.2crunchコマンドの形式
クランチ[] [オプション]
パラメータ:
min-lencrunch開始する最小長の文字列。パラメータの値が使用されていない場合でも、このオプションは必須です
max-lencrunch開始する文字列の最大長。パラメータの値が使用されていない場合でも、このオプションは必須です
文字セット文字列はコマンドラインでクランチを使用します。文字セット設定を指定する必要がある場合があります。指定しない場合、デフォルトの文字セット設定が使用されます。デフォルトの設定は、小文字の文字セット、大文字の文字セット、数字、および特殊文字(記号)です。この順序に従わないと、指定した結果が得られます。文字タイプまたはプラス記号の値を指定する必要があります。注:文字セットにスペース機能を含める場合は、「\」文字を使用するか、文字セットを「abc」などの引用符で囲む必要があります。例3、11、12、および13を参照してください。「+」が指定されている場合、後続の形式で表示されるタイプは、その値を使用します。
オプション
(1)-b number [type]は、出力ファイルのサイズを指定します。これは、「-o」オプションが使用されている場合にのみ有効です。たとえば、60mbの場合、たとえば、「./ crunch45 -b 20mib -o START」または「crunch45 -b20mib -o START 「4つのファイルが生成されます:aaaa-gvfed.txt、gvfee-ombqy.txt、ombqz-wcydt.txt、wcydu-zzzzz.txt。各ファイルの最初と最後の文字列は、ファイルのファイルとして名前が付けられます。タイプは有効です値は、KB、MB、GB、KIB、MIB、およびGIBです。最初の3つのタイプは1000に基づいており、最後の3つのタイプは1024に基づいています。数値とタイプの間にスペースがないことに注意してください。たとえば、コマンドを実行した後の図1に示すように、「500mb」は正しいですが、「500 MB」は正しくありません。aaaa-gvfed.txt、gvfee-ombqy.txt、およびombqz-wcydt.txtのサイズは20M、ベースは1024、つまり20480kbで、通常はパラメータとしてMIBになります。
「crunch45 -b20MB -o START」コマンドと「crunch45 -b 20MIB -o START」コマンドで生成されるファイルは、ファイルサイズのみが異なります。生成されたファイルサイズを確認してください:
-rw-r--r--1ルートルート20000000 Jun3 03:19aaaa-glzql.txt // 20MB
-rw-r--r--1ルートルート20971520 Jun3 03:26aaaa-gvfed.txt // 20MIB
-rw-r--r--1ルートルート19999998 Jun3 03:19glzqm-ntqpo.txt // 20MB
-rw-r--r--1ルートルート20971518 Jun3 03:26gvfee-ombqy.txt // 20MIB
-rw-r--r--1ルートルート19999998 Jun3 03:19ntqpp-vbhor.txt // 20MB
-rw-r--r--1ルートルート20971518 Jun3 03:26ombqz-wcydt.txt // 20MIB
-rw-r--r--1ルートルート13573140 Jun3 03:19vbhos-zzzzz.txt // 20MIB
-rw-r--r--1ルートルート10658580 Jun3 03:26wcydu-zzzzz.txt // 20MB
(2)-c numberは、出力ファイルに書き込まれる行数、つまりパスワードの数を指定します。たとえば、文字ルールmixalpha-numeric-all-spaceを使用して、最小および最大の文字列1を生成し、ファイルごとに60を保存します文字列のパスワード辞書:
crunch 1 1 -f / usr / share / crunch / charset.lstmixalpha-numeric-all-space -oSTART-c60
(3)-d番号記号、同じ要素の数を制限します(少なくとも要素の数)、 "-d 2 @"はaabやaacなどの小文字の出力を制限します。これは3つの連続した文字であるため、aaaは生成されません。 、形式は数値+記号、数値は出現する連続した文字の数、記号は文字列を制限する文字です(例:@、%^)。 ^ "特殊文字の略語)
(4)-e文字列、-e 222222などのパスワードの生成を停止するように定義:222222へのパスワードの生成を停止
(5)-f /path/to/charset.lstcharset-name、charset.lstから文字セットを指定します。つまり、/ usr / share / crunch / charset.lstにあるkaliのcharset.lstなどのパスワードライブラリファイルを呼び出します。次に、パラメータは "-f
/usr/share/crunch/charset.lst」
(6)-iはフォーマットを変更します。たとえば、aaa、aab、aac、aadの形式をaaa、baa、caa、daa、aba、bbaなどの形式に変更します。
(7)-lはtと共に使用され、これらの記号がテキストとして扱われることをクランチに伝えます。これにより、パターン内の文字としてプレースホルダーを使用できるようになります。lオプションはtオプションと同じ長さにする必要があります。例15を参照してください。
(8)-m、m、pオプションを組み合わせて使用します。代わりに "-p"を使用してください。
(9)-o wordlist.txt、wordlist.txtなどの出力ファイルの名前を指定します
(10)-p文字列または-p word 1 word 2 ...順列と組み合わせで辞書を生成します。
(11)-q filename.txt、读取filename.txt
(11)-rは、本番パスワード辞書を中断したところから引き続き回復するようにcrunchに指示します。「-o」オプションを使用する場合、「-r」オプションのみが機能します。復元するには、元のコマンドと同じコマンドを使用する必要があります。唯一の例外は「-s」オプションです。このオプションが元のコマンドで使用されていた場合は、セッションを再開する前に削除する必要があります。元のコマンドの最後にRを追加するだけです。
(12)-s startblock、開始文字を指定します。
(13)-t @、%^、モードを指定します。@、%^はそれぞれ次の意味です。
@小文字を挿入
、大文字を挿入
%挿入番号
^特殊記号を挿入する
(14)-uは最後のオプションでなければならず、印刷パーセンテージを禁止します
(15)-z gzip、bzip2、lzma、7z、-oオプションからの出力結果を圧縮、gzipをサポート、
bzip2、lzma、および7z形式では、gzipが最も速く、圧縮率が最も低く、bzip2はgzipよりも少し遅いですが、圧縮率よりも速く、7zが最も遅くなりますが、圧縮率は最も高くなります。
1.3クランチユースケース
1.ケース1は文字の組み合わせを生成します
ランチ1 8
要素として26の小文字のすべての組み合わせを使用して、最小1桁、最大8桁を生成します。
2.ケース2は、指定された文字の組み合わせを生成します
クランチ1 6 abcdefg
文字列abcdefgで始まり、文字列ggggggで終わる、最小1から最大6のすべての文字の組み合わせを生成します。
3.ケース3は、文字ストリングと特殊文字の組み合わせを指定します
crunch 1 6 abcdefg \
要素のすべての組み合わせとしてabcdefgとスペースを使用して、最小1と最大6を生成します(/はスペースを表します)
4.ケース4
crunch1 8 -f charset.lst mixalpha-numeric-all-space -o wordlist.txt
パスワードライブラリcharset.lstを呼び出して、最小1から最大8を生成します。要素は、パスワードライブラリcharset.lst内のmixalpha-numeric-all-spaceプロジェクトであり、wordlist.txtとして保存します。charset.lstはkali_linuxのディレクトリにあります/usr/share/crunch/charset.lst、charset.lstのmixalpha-numeric-all-spaceプロジェクトには、最も一般的な要素の組み合わせ(つまり、大文字と小文字+数字+共通記号)が含まれています。cat/ usr / share / crunch /を使用しますcharset.lstすべてのパスワードライブラリを表示する
5.ケース5では、2つの小文字+ dog + 3つの小文字が生成されます。
crunch 8 8 -f charset.lst
mixalpha-numeric-all-space -o wordlist.txt -t @@ dog @@@ -s cbdogaaa
パスワードライブラリcharset.lstを呼び出して、8桁のパスワードを生成します。要素は、パスワードライブラリcharset.lst内のmixalpha-numeric-all-spaceのアイテムです。形式は、「2つの小文字+ドッグ+ 3つの小文字」、およびcbdogaaaです。文字列は辞書の生成を開始します。mixalpha-numeric-all-spaceの値は次のとおりです。
[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ + =〜 `[] {} | \ :;" '<>、。?/
]
@の値は、mixalpha-numeric-all-spaceの値です。
6.ケース6は、BBで始まる2および3つの大文字の文字列を生成します。
crunch 2 3 -f charset.lst ualpha -s BB
パスワードライブラリcharset.lstを呼び出して、2桁および3桁のパスワードを生成します。この要素は、パスワードライブラリcharset.lstのualphaアイテムであり、BBで始まります(ualpha =
[ABCDEFGHIJKLMNOPQRSTUVWXYZ]は、すべての大文字を意味します。charset.lstは現在実行中のプログラムディレクトリにある必要があります。そうでない場合は、フルパスアドレスを指定する必要があります。
7.ケース7-特定の文字列のすべての数学的な組み合わせを生成する
crunch 4 5 -p abc
crunchは、abc、acb、bac、bca、cab、cabなどのabcのすべての位置変更を生成しますが、4と5は他の値にすることもできますが、後者は前者より大きくする必要があります。これは、特定の単語のすべての組み合わせであり、crunch 1 1 -p passwordに流れ込み、パスワードのすべての順列と組み合わせを生成します。8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 = 40320ワード。
8.ケース8-単語のすべての組み合わせを生成する
crunch 4 5 -p犬猫鳥
crunchは、「dog」、「cat」、および「bird」を要素とするすべてのパスワードの組み合わせを生成します:birdcatdog、birddogcat、catbirddog、catdogbird、dogbirdcat、dogcatbird、そのサイズは、配置された文字数によって決定され、この場合は3×2× 1 = 6つのパスワード。
9.ケース9は6000個のパスワードを生成し、生成されたファイルはbzip2形式に圧縮されます
crunch 1 5 -o START -c 6000 -z bzip2
すべての小文字に対して最小1桁、最大5桁のパスワードディクショナリを生成します。各ディクショナリファイルには6000個のパスワードが含まれ、パスワードファイルをbz2ファイルとして保存します。ファイル名は「最初のパスワード」になります+
"-" + "最終パスワード" + ".txt.bz2"保存(000-999.txt.bz2など)。以下は、いくつかの形式で圧縮ファイルを生成するために使用される時間とボリュームサイズの比較です。
#時間./crunch 1 4 -o START -c 6000 -z gzip
real0m2.729s
user0m2.216s
sys0m0.360s
#時間./crunch 1 4 -o START -c 6000 -z bzip2
real0m3.414s
user0m2.620s
sys0m0.580s
#時間./crunch 1 4 -o START -c 6000 -z lzma
real0m43.060s
user0m9.965s
sys0m32.634s
サイズファイル名
30Kaaaa-aiwt.txt
12Kaaaa-aiwt.txt.gz
3.8Kaaaa-aiwt.txt.bz2
1.1Kaaaa-aiwt.txt.lzma
10.ケース10
crunch 4 5 -b 20mib -o START
すべての小文字に対して最小4桁、最大5桁のパスワードディクショナリを生成し、20Mで分割します。現時点では、aaaa-gvfed.txt、gvfee-ombqy.txt、ombqz-wcydt.txtの4つのファイルが生成されます。 、wcydu-zzzzz.txt:最初の3つはそれぞれ約20Mで、最後の1つは約10Mです(合計で70Mであるため)
11.ケース11
クランチ4 4+ + 123 + -t %% @ ^
4桁のパスワードを生成します。形式は、「2つの数字」+「1つの小文字」+「共通記号」です(ここで指定する数字は、123で構成される2桁すべての組み合わせのみです)。たとえば、12f#、32j ^、13t $ ...、つまり、-tオプションの後に表示される%は、123からのみ取得できます。
12.ケース12
crunch 3 3 abc + 123!@#-t ^%@
3桁のパスワードを生成します。最初の桁は「a、b、c」のいずれかで、2桁目は「1、2、3」のいずれかです。3桁目は「!、@、#」のいずれかです。 。たとえば1a!、2a#、3b @ ......(このコマンドは実際のテストで問題があります。これはLinuxの特別なコマンドです)。
13.ケース13
クランチ4 4+ + 123 + -t %% @ ^
4桁のパスワードを生成します。形式は、「2つの数字」+「1つの小文字」+「共通記号」です(ここで指定する数字は、123で構成される2桁すべての組み合わせのみです)。たとえば、12f#、32j ^、13t $ ...
正符号(+)は、文字タイプの文字セットを指定するためのプレースホルダーです。crunchが+(プラス)コマンドラインを検出すると、crunchはデフォルトの文字セットの文字タイプを使用します。文字タイプごとに値を指定するか、プラス記号を使用する必要があります。つまり、2つの文字タイプがある場合は、タイプごとに値を指定するか、プラス記号を使用する必要があります。"-T %% @ ^"は、1桁目と2桁目が数字に挿入され、3桁目が小文字に挿入され、最後の数字が特殊文字に挿入されることを指定するため、この例では次のように設定されています。
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
123
!@#$%^&*()-_ + =〜 `[] {} | \ :;" '<>、。?/
結果は、11aで始まり、「33z」で終わる辞書になります。
14.ケース14
crunch 5 5 -t ddd @@ -oj -p犬猫鳥
5要素のパスワードを生成します。最初の3つは犬、猫、鳥の任意の組み合わせで、最後の2つは2つの小文字の任意の組み合わせです。たとえば、birddogcatuz、catdogbirdab、birdcatdogff、...
15.ケース15
クランチ7 7 -tp @ ss、%^-la @ aaaaa
-lオプションは、文字列に小文字ではなくリテラル文字セットとして@を追加します。「文字p @ ss」+大文字+数字+記号の形式で7桁のパスワードを生成します(例:p @ ssZ9> ......)
16.ケース16
crunch 5 5 -s @ 4#S2 -t @%^、2 -e @ 8 * Q2 -l @dddd -b 10KB -o START
@ 4#S2で始まり、@ 8 * Q2。で終わる5桁のパスワードを生成します。10kサイズに分割すると、形式は小文字+数字+記号+大文字+数字になります。
17.ケース17
クランチ5 5 -d 2 @ -t @@@ %%
crunchは、aab00で始まり、zzy99で終わる5文字の文字列を生成します。aaaとzzzが存在しないことに注意してください。
3つの小文字+ 2つの数字の形式で5桁のパスワードを生成し、各パスワードをaab00で始まりzzy99で終わる2文字以上に制限します。「-D 2 @」は、文字が2回まで繰り返されることを意味します。
18.ケース18
crunch 10 10 -t @@@ ^ %%%% ^^ -d 2 @ -d 3%-b 20mb -o START
crunchは、aab!0001で始まる10文字の文字列を生成します。そしてzzy 9998で終わる出力は20mbファイルに書き込まれます。
小文字3文字+記号1つ+数字4つ+記号2つの形式で10桁のパスワードを生成します。各パスワードを2文字以上、3つ以上の数字に制限します。ファイルサイズは20MBです。
19.ケース19
クランチ8 8 -d 2 @
各パスワードに2文字以上の8桁のパスワードを生成する
20.ケース20
crunch 4 4 -f unicode_test.lst日本語-t @@ %% -l @xdd
crunchは、unicode_testcharacterセットファイルからいくつかの日本語の文字を読み込みます。出力は@日00で始まり、@語99で終わります。
パスワードライブラリunicode_test.lstで日本語のプロジェクト文字を呼び出して、4桁のパスワードを生成します。形式は、2つの小文字+ 2つの数字です。
1.4より便利なコマンド
(1)pass01-pass99のすべてのデジタルの組み合わせを生成する
crunch 6 6 -t pass %% >> newpwd.txt
(2)最初の4桁が渡される6桁の小文字のパスワードを生成する
crunch 6 6 -t pass @@ >> newpwd.txt
(3)最初の4桁が渡され、最後の2桁が大文字である6桁のパスワードを生成する
crunch 6 6 -t pass ,, >> newpwd.txt
(4)最初の4桁が渡され、最後の2桁が特殊文字である6桁のパスワードを生成する
crunch 6 6 -t pass ^^ >> newpwd.txt
(5)8桁の辞書を作る
crunch 8 8 charset.lst数値-o num8.dic
(6)デジタル辞書として6を作る
crunch 6 60123456789 -o num6.dic
(7)139で始まる携帯電話のパスワード辞書を作成する
crunch 11 11 + 0123456789 -t 139 %%%%%%%% -o num13.dic
ファイルサイズは1144 MBで、ファイルサイズは毎回20Mになる可能性があり、ファイルは自動的に生成されます。
crunch 11 11 + 0123456789 -t 139 %%%%%%%% -b 20mib -o START
(8)生成されたパスワードをオンラインで使用する
巨大な辞書をハードディスクに保存する必要はありません。1つはパスワードを生成するために使用されますが、時間がかかり、より多くのCPUを消費します。-パラメータの終わりは、ワイヤレスパスワードオンラインクラッキングなどのクランチによって生成されたパスワードを指します。
crunch 2 4 0123456789 | エアクラック-キャップ、キャップ
-e MyESSID -w-
crunch 10 1012345 --stodout | airolib -ng
testdlb -import passwd –
crunch1 6 0123456789 | john pwd.txt --stdin-