Hashcat:ルールが適用された後、長さがN未満の単語を破棄する方法は?
私は、Wordの長さがN未満およびNより大きい場合にWordを破棄する規則<N
および>N
を知っています。
問題は、これらのルールがHashcatの-j
または-k
オプションを使用してのみ適用できることです。つまり、これらのルールはワードリスト自体で機能し、ルール変換された単語では機能しません。
「古い」Hashcatを使用すると、ルールファイル自体で<N
および>N
ルールを使用できますが、GPUを使用してクラックできません...
Nより短い長さのルール変換された単語を破棄する方法に関する提案はありますか?
答えは、ターゲットハッシュの「速度」によって異なります。
それが高速ハッシュ(MD5のような)である場合、大雪は大体正しい-心配する価値はない(ただし、攻撃とターゲット);
slow hash(bcryptのような)の場合、GPUは候補のパスワードを使い尽くさないため、候補を外部で生成することができます(オフ-GPU)あなたの攻撃を遅くすることなく。
後者の一般的な手法は、ハッシュキャットの--stdout
オプションを攻撃に使用して候補を生成し、次にhashcatをhashcatの別のインスタンスにパイプします(実際のクラッキングを行います)。
そのパイプラインに長さの要件を挿入するために、hashcat-utils len ユーティリティはこれを非常に効率的に機能させます。複雑な要件がある場合は、hashcat-utilsの req ユーティリティも非常に効率的です。
したがって、次のようにして候補を生成できます。
$ hashcat rockyou.txt -r rules/best64.rule --stdout
123456
654321
123456
123456
1234560
1234561
1234562
1234563
1234564
1234565
[snip]
...そして、それを別のハッシュキャットにパイプします(たとえば、最小長が8、最大長が11であるという要件を想定しています)。
hashcat rockyou.txt -r rules/best64.rule --stdout | len 8 11 | hashcat -a 3200 targets.hashes
...しかし、これは遅いハッシュの場合のみに役立つことに注意してください。
ハッシュが十分に遅い場合は、anything(Perl、Shellスクリプト、クランチなど)を使用して、好きな候補を生成およびシフトすることができます。ハッシュの速度が向上し始めたら、パイプラインをベンチマークして、GPUが不足していないことを確認します(通常、Hashcatのステータス出力に100%が表示されるはずです)。 hashcatとlen
は、 hashcat-utils の他のツールと同様に非常に高速であるため、通常はそこに人を向けます。