Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cracken — 純粋で安全なRustで書かれた高速パスワード単語リスト生成、Smartlist作成、パスワードハイブリッドマスク解析ツール。 | Kitploit
ツール/GitHubGitHub/shmuelamar/cracken
パスワードクラッキングパスワード攻撃ハッシュ分析ペネトレーションテスト
GitHubshmuelamar/cracken

cracken

純粋で安全なRustで書かれた高速パスワード単語リスト生成、Smartlist作成、パスワードハイブリッドマスク解析ツール。

リポジトリを見る
374264年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Cracken

cracken crate cracken version cracken documentation cracken total downloads

Crackenは、高速なパスワードワードリスト生成、Smartlist作成、パスワードハイブリッドマスク分析ツールであり、純粋で安全なRustで書かれています(詳細はtalk/を参照)。maskprocessor、hashcat、Crunch、そして🤗 HuggingFaceのtokenizersのような素晴らしいツールに触発されています。

何?なぜ?うぉっと??

DeepSec2021で、NLPトークナイザーを利用してパスワード内の共通の部分文字列を活用するハイブリッドマスクとしてパスワードを分析する新しい方法を発表しました(詳細はtalk/を参照)。 この方法では、パスワードを単なる文字マスクではなく、サブワードに分割します。HelloWorld123! は ['Hello', 'World', '123!'] に分割されます。これらの3つのサブワードは他のパスワードでも非常に一般的です。

ハイブリッドマスクとスマートリスト

  • 📄 スマートリスト - NLPトークナイザーを利用してパスワードから作成されたコンパクトで代表的なサブワードリスト
  • 🎭 ハイブリッドマスク - ワードリストと文字の組み合わせとしてのパスワードの表現(例:?w1?w2?l?d)

スマートリストとハイブリッドマスクを用いたRockYouパスワードの分析:

Top25 Hybrid Masks from RockYou

完全なテーブルはこちら

Cracken 🐙 の用途:

  • ✅ ハイブリッドマスク を非常に高速に生成(パフォーマンスセクション参照)
  • ✅ スマートリスト の構築 - 指定されたパスワードファイルからコンパクトで代表的なサブワードリスト(🤗 HuggingFaceのtokenizersを使用)
  • ✅ パスワードの ハイブリッドマスク を分析 - より良いパスワード候補のための統計構築(これも非常に高速)

Cracken の可能なワークフロー:

シンプル:

  1. ハイブリッドマスクからワードリスト候補を生成 - 例: cracken -w rockyou.txt -w 100-most-common.txt '?w1?w2?d?d?d?d?s'
  2. Crackenが生成したパスワードを hashcat、john、またはお好みのパスワードクラッカーにパイプできます

高度:

  1. 既存のパスワードからスマートリストを作成 - cracken create
  2. 平文パスワードのリストを分析 - cracken entropy
  3. 最も頻繁な ハイブリッドマスク を使用してパスワード候補を高速生成 - cracken generate -i hybrid-masks.txt

詳細は使用法セクションを参照

はじめに

ダウンロード(現在Linuxのみ): 最新リリース 🔗 その他のインストールオプションについてはインストールセクションを参照

Cracken の実行:

大文字で始まり、その後に小文字6文字、数字1文字が続く長さ8のすべての単語を生成:

root@kitploit:~
$ cracken -o pwdz.lst '?u?l?l?l?l?l?l?d'

2つのワードリストから年サフィックス(1000-2999)付きの単語を生成 <firstname><lastname><year>

root@kitploit:~
$ cracken --wordlist firstnames.txt --wordlist lastnames.lst --charset '12' '?w1?w2?1?d?d?d'

rockyou.txtから抽出したサブワードからサイズ50kのスマートリストを作成

root@kitploit:~
$ cracken create -f rockyou.txt -m 50000 --smartlist smart.lst

スマートリストを使用してパスワード HelloWorld123! のハイブリッドマスクのエントロピーを推定

root@kitploit:~
$ cracken entropy -f smart.lst 'HelloWorld123!'

hybrid-min-split: ["hello", "world1", "2", "3", "!"]
hybrid-mask: ?w1?w1?d?d?s
hybrid-min-entropy: 42.73
--
charset-mask: ?l?l?l?l?l?l?l?l?l?l?d?d?d?s
charset-mask-entropy: 61.97

パフォーマンス

これを書いている時点で、Crackenはおそらく世界最速のワードリストジェネレータです:

bechmarks results

Crackenは、Cで書かれたhashcatの高速なmaskprocessorよりも約25%パフォーマンスが向上しています。

Crackenはコアあたり約2 GB/sを生成できます。

詳細はベンチマーク/ 🔗を参照

速度が重要な理由は?典型的なGPUは、パスワードハッシュ関数に応じて1秒間に数十億のパスワードをテストできます。ワードリストジェネレータがクラッキングツールが処理できるよりも少ない単語しか生成しない場合、クラッキング速度は低下します。

ハイブリッドマスク分析のパフォーマンス

CrackenはA*アルゴリズムを使用してパスワードを非常に高速に分析します。パスワードファイルの最小ハイブリッドマスクを約10万パスワード/秒の速度で見つけることができます(cracken entropy -f words1.txt -f words2.txt ... -p pwds.txt)

インストール

Crackenをインストールするか、ソースからコンパイル

バイナリのダウンロード(現在Linuxのみ)

最新リリースをリリース 🔗からダウンロード

ソースからビルド(全プラットフォーム)

CrackenはRustで書かれており、コンパイルにはrustcが必要です。CrackenはRustがサポートするすべてのプラットフォームをサポートするはずです。 cargo 🔗のインストール手順

ソースからビルドするには2つのオプションがあります - crates.ioからcargoでインストール(推奨)またはソースから手動でコンパイル。

1. crates.ioからインストール(推奨)

cargoでインストール:

root@kitploit:~
$ cargo install cracken

2. ソースからビルド

Crackenをクローン:

root@kitploit:~
$ git clone https://github.com/shmuelamar/cracken

ビルド:

root@kitploit:~
$ cd cracken
$ cargo build --release

実行:

root@kitploit:~
$ ./target/release/cracken --help

使用法情報

root@kitploit:~
$ cracken --help
Cracken v1.0.0 - a fast password wordlist generator 

USAGE:
    cracken [SUBCOMMAND]

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    generate    (default) - Generates newline separated words according to given mask and wordlist files
    create      Create a new smartlist from input file(s)
    entropy     
                Computes the estimated entropy of password or password file.
                The entropy of a password is the log2(len(keyspace)) of the password.
                
                There are two types of keyspace size estimations:
                  * mask - keyspace of each char (digit=10, lowercase=26...).
                  * hybrid - finding minimal split into subwords and charsets.


For specific subcommand help run: cracken <subcommand> --help


Example Usage:

  ## Generate Subcommand Examples:

  # all digits from 00000000 to 99999999
  cracken ?d?d?d?d?d?d?d?d

  # all digits from 0 to 99999999
  cracken -m 1 ?d?d?d?d?d?d?d?d

  # words with pwd prefix - pwd0000 to pwd9999
  cracken pwd?d?d?d?d

  # all passwords of length 8 starting with upper then 6 lowers then digit
  cracken ?u?l?l?l?l?l?l?d

  # same as above, write output to pwds.txt instead of stdout
  cracken -o pwds.txt ?u?l?l?l?l?l?l?d

  # custom charset - all hex values
  cracken -c 0123456789abcdef '?1?1?1?1'

  # 4 custom charsets - the order determines the id of the charset
  cracken -c 01 -c ab -c de -c ef '?1?2?3?4'

  # 4 lowercase chars with years 2000-2019 suffix
  cracken -c 01 '?l?l?l?l20?1?d'

  # starts with firstname from wordlist followed by 4 digits
  cracken -w firstnames.txt '?w1?d?d?d?d'

  # starts with firstname from wordlist with lastname from wordlist ending with symbol
  cracken -w firstnames.txt -w lastnames.txt -c '!@#$' '?w1?w2?1'

  # repeating wordlists multiple times and combining charsets
  cracken -w verbs.txt -w nouns.txt '?w1?w2?w1?w2?w2?d?d?d'


  ## Create Smartlists Subcommand Examples:

  # create smartlist from single file into smart.txt
  cracken create -f rockyou.txt --smartlist smart.txt

  # create smartlist from multiple files with multiple tokenization algorithms
  cracken create -t bpe -t unigram -t wordpiece -f rockyou.txt -f passwords.txt -f wikipedia.txt --smartlist smart.txt

  # create smartlist with minimum subword length of 3 and max numbers-only subwords of size 6
  cracken create -f rockyou.txt --min-word-len 3 --numbers-max-size 6 --smartlist smart.txt


  ## Entropy Subcommand Examples:

  # estimating entropy of a password
  cracken entropy --smartlist vocab.txt 'helloworld123!'

  # estimating entropy of a passwords file with a charset mask entropy (default is hybrid)
  cracken entropy --smartlist vocab.txt -t charset -p passwords.txt

  # estimating the entropy of a passwords file
  cracken entropy --smartlist vocab.txt -p passwords.txt

cracken-v1.0.0 linux-x86_64 compiler: rustc 1.56.1 (59eed8a2a 2021-11-01)
more info at: https://github.com/shmuelamar/cracken

Generate サブコマンドの使用法

root@kitploit:~
$ cracken generate --help
cracken-generate 
(default) - Generates newline separated words according to given mask and wordlist files

USAGE:
    cracken generate [FLAGS] [OPTIONS] <mask> --masks-file <masks-file>

FLAGS:
    -h, --help       
            Prints help information

    -s, --stats      
            prints the number of words this command will generate and exits

    -V, --version    
            Prints version information


OPTIONS:
    -c, --custom-charset <custom-charset>...    
            custom charset (string of chars). up to 9 custom charsets - ?1 to ?9. use ?1 on the mask for the first charset

    -i, --masks-file <masks-file>               
            a file containing masks to generate

    -x, --maxlen <max-length>                   
            maximum length of the mask to start from

    -m, --minlen <min-length>                   
            minimum length of the mask to start from

    -o, --output-file <output-file>             
            output file to write the wordlist to, defaults to stdout

    -w, --wordlist <wordlist>...                
            filename containing newline (0xA) separated words. note: currently all wordlists loaded to memory


ARGS:
    <mask>    
            the wordlist mask to generate.
            available masks are:
                builtin charsets:
                ?d - digits: "0123456789"
                ?l - lowercase: "abcdefghijklmnopqrstuvwxyz"
                ?u - uppercase: "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
                ?s - symbols: " !\"\#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"
                ?a - all characters: ?d + ?l + ?u + ?s
                ?b - all binary values: (0-255)
            
                custom charsets ?1 to ?9:
                ?1 - first custom charset specified by --charset 'mychars'
            
                wordlists ?w1 to ?w9:
                ?w1 - first wordlist specified by --wordlist 'my-wordlist.txt'

Create Smartlist サブコマンドの使用法

root@kitploit:~
$ cracken create --help  
cracken-create 
Create a new smartlist from input file(s)

USAGE:
    cracken create [FLAGS] [OPTIONS] --file <file>... --smartlist <smartlist>

FLAGS:
    -h, --help       Prints help information
    -q, --quiet      disables printing progress bar
    -V, --version    Prints version information

OPTIONS:
    -f, --file <file>...                         input filename, can be specified multiple times for multiple files
        --min-frequency <min_frequency>          minimum frequency of a word, relevant only for BPE tokenizer
    -l, --min-word-len <min_word_len>            filters words shorter than the specified length
        --numbers-max-size <numbers_max_size>    filters numbers (all digits) longer than the specified size
    -o, --smartlist <smartlist>                  output smartlist filename
    -t, --tokenizer <tokenizer>...               tokenizer to use, can be specified multiple times.
                                                 one of: bpe,unigram,wordpiece [default: bpe]  [possible values: bpe, unigram, wordpiece]
    -m, --vocab-max-size <vocab_max_size>        max vocabulary size

Entropy サブコマンドの使用法

root@kitploit:~
$ cracken entropy --help
cracken-entropy 

Computes the estimated entropy of password or password file.
The entropy of a password is the log2(len(keyspace)) of the password.

There are two types of keyspace size estimations:
  * mask - keyspace of each char (digit=10, lowercase=26...).
  * hybrid - finding minimal split into subwords and charsets.


USAGE:
    cracken entropy [FLAGS] [OPTIONS] <password> --smartlist <smartlist>...

FLAGS:
    -h, --help       Prints help information
    -s, --summary    output summary of entropy for password
    -V, --version    Prints version information

OPTIONS:
    -t, --mask-type <mask_type>              type of mask to output, one of: charsets(charsets only), hybrid(charsets+wordlists) [possible values: hybrid, charset]
    -p, --passwords-file <passwords-file>    newline separated password file to estimate entropy for
    -f, --smartlist <smartlist>...           smartlist input file to estimate entropy with, a newline separated text file

ARGS:
    <password>    password to

ライセンス

CrackenはMITライセンスの下で提供されています。このプロジェクトは法的な目的でのみ使用しなければなりません ⚖️

貢献

Crackenは活発に開発が進められています。協力したい場合は、以下がこのプロジェクトの部分的なロードマップです。PRの提出やIssueの作成をお気軽にどうぞ。

ツールをダウンロード