hashcat には 4 つの基本的な 復号化 方法があります:
1.辞書復号化
2.組み合わせ文字列復号化
3.暴力復号(廃止)–マスク攻撃(マスク復号)
4.ハイブリッド復号
、ルールベースの復号方式、大文字と小文字の切り替えもありますが、ルール復号
-A 0 -m type hashfile dictionary1 dictionary2
gpu を使用して
を加速することもできるようです。辞書の内容が次のような場合
11
22
33
組み合わせは次のとおりです。
1111
1122
1133
2222
2233
3333
-j, --rule-left=rule 単一 ルール 適用 各 単語 上 左 辞書 -k, --rule-right=rule 単一 規則 適用 各 単語 上の 右 辞書123
たとえば、栗:
辞書 1:
11 2212
辞書2:
33 4412
コマンド:
-j '$-' -k '!$'12
上の$代理辞書の単語、-j '$-'は単語の右側に-、-k '$を追加することを意味します。!' 単語の左側に 1 つ追加することを意味します!
したがって、生成された組み合わせは、
11-33です。 22-33! 11-44! 22-44!1234
というものについて、公式の説明は比較的簡単で、つまりmask attackはパスワードテーブルの数を減らすという点でbrute-forceよりも強いということです。パスワードの数を減らすアルゴリズムについてはあまり紹介されていません(hcmaskファイルに基づいています)。ただ、いくつかの従来のパスワード形式を通じてパスワードの数を減らすことについて簡単に言及しています。たとえば、「Kele1997」、暴力はを復号するときにすべての可能性を列挙します。ただし、マスク攻撃の場合、プログラムは頭文字のみを大文字にしようとします。なぜなら、ほとんどのパスワードは 2 番目または 3 番目の位置に大文字があることはめったにないからです。これらのルールを通じて、パスワードの候補数を減らすことができます
公式には、マスク攻撃はすべてのブルートフォースパスワード
組み込み文字セットを生成できるためです。?l = abcdefghijklmnopqrstuvwxyz
?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
?d = 0123456789
?h = 0123456789abcdef
?H = 0123456789ABCDEF
?s = «スペース»!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
?A = ?l?う?d?s
?b = 0 - 0xff123456789
プログラムディレクトリには様々な奇妙な文字が含まれているcharsetsがあります。パスワードに追加すると、これらのファイルを使用できます
hashcatには、カスタム文字セットを指定するための4つのパラメータがあります
–custom-charset1=CS
–custom-charset2=CS
–custom-charset3=CS
–custom-charset4=CS
これらの4つのパラメータは略语-1、-2、-3、-4に置き換えることができます。カスタム文字セットを指定して実行できます復号化
次のコマンドは、最初のカスタム文字セット (-1) をロシア語固有の文字に設定します:
-1 charsets/special/russian/ru_ISO-8859-5-special.hcchr
パスワードの固定長を指定する必要はありません。パラメータ –increment を指定することで、パスワード長を指定できます。
-i、 --インクリメント | | マスク インクリメント モード 6x126> | Num | Stop mask incrementing at X 123
-a 3 hash.txt mask_file.hcmask hcmask ファイルをロードし、ファイル内の mask を使用して
hashcat には、プログラム ディレクトリ mask/
--hex-charset の後の文字列は 16 です。
生成されたパスワードは辞書と暴力復号 生成された文字の組み合わせで構成されています。
たとえば:example.dict
パスワード hello12
hashcat64 -a 6 example.dict ?d?d?d?d
?d?d?d?d は 4 桁の整数
を表すため、最終的に生成されるパスワード候補シーケンスは次のとおりです。
password0000 パスワード0001 パスワード0002 パスワード99991234567
hashcat64 -a 6 ?d?d?d?d example.dict
結果:
0000password 0001パスワード . . . 9999password123456
maskprocessorを使用してルールを使用して暴力を生成しますに必要なルールを復号化し、生成されたルールファイルをhashcat -rを使用してロードし、辞書を混合してパスワード候補にすることができます
たとえば:example.dict
こんにちは パスワード12
ハッシュ -o bf.rule '$?d $?d $?d $?d
によって生成されたルールは次のようになります: bf.rule
$0 $0 $0 $0 $0 $0 $0 $1 $0 $0 $0 $2 $0 $0 $0 $3 $0 $0 $0 $4 . . . $9 $9 $9 $9123456789
次に、hashcat -a 6 example.dict -r bf.rule -m を使用します。
最後に生成されたのは次のようになります:
hello0 0 0 0 パスワード0 0 0 0 こんにちは0 0 0 1 パスワード0 0 0 1 こんにちは0< >0< >0< >2 パスワード0 0 0 2 こんにちは9 9 9 9 パスワード9 9 9 91234567891011