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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
pantagrule — 実際に流出したパスワードから生成された大規模なhashcatルールセット | Kitploit
ツール/GitHubGitHub/rarecoil/pantagrule
パスワードクラッキングパスワード攻撃ユーティリティとフレームワーク
GitHubrarecoil/pantagrule

pantagrule

実際に流出したパスワードから生成された大規模なhashcatルールセット

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Pantagrule

侵害されたパスワードから生成された巨大なhashcatルールセット

プロジェクトメンテナンス注意: このプロジェクトは完了とみなされています。このプロジェクトへのプルリクエストや変更は、実際のバグや新しいバージョンのhashcatでこれらのルールを動作させるための移行を除き、今後行われません。

Pantagruleは、実際のパスワード侵害データの大量のデータから生成された、hashcatパスワードクラッカーのための一連のルールです。Pantagruleのルールファイルは大きくなる可能性がありますが、ルールは調整可能であり、多くの既存のルールセットよりも優れたパフォーマンスを発揮します。

Pantagruleは、自動ルール生成のためのPACKのLevenshtein Reverse Pathアルゴリズム(Kacherginsky, 2013)を使用して生成されました。PACKの出力は、PACKがルールを生成した回数に基づいてソートされ、ベースのルールセットが作成されました。このプロセスは、2014年のパスワードクラッキングコンテストのために_NSAKEYによって生成されたルール(_NSAKEY, 2014)と似ていますが、Pantagruleははるかに大きなパスワードセットから生成されました。 Pantagruleバージョン2は、公開されているhashes.org "founds" コーパス(最高クラスの公開ワードリスト)から開発されました。これにより、842,643,513個のユニークパスワードを含むプロプライエタリコーパスを使用した元のバリアントよりも透明性の高い結果が得られます。

このような大きなルールセットをPACKに通すと、数百万のルールが生成されます。しかし、生成されたルールのほとんどはごく少数しか出現しないため、有用なルールのほとんどはアルゴリズムによって最も一般的に生成されるものです。このリポジトリには、既存のコーパスを反復処理しながらPACKによって生成されたルールのサブセットが含まれています。

最適化バリアント

実世界のデータに対するルールの二次パス最適化を生成するために、生成された上位100万ルールを、rockyouワードリストを使用してPwned Passwords NTLMリストに対して実行しました。パスワードをクラックしたルールは独自のリストに追加され、パフォーマンスの低いルールは破棄されました。

4つの最適化タイプが作成されました。

  • popular.rule: HIBPセットの上位25,000,000パスワードに対して実行されたpantagrule.1m。
  • random.rule: HIBPセットからランダムに選択された25,000,000パスワードに対して実行されたpantagrule.1m。
  • hybrid.rule: 最も成功したpopularルールとrandomルールの組み合わせをソートし、半分にカットして、より軽量で「バランスの取れた」、より大きなサンプルセットで機能するルールセットを作成。
  • one.rule: トップパフォーマンスのhybridルールが追加され、diveルールセットのサイズに切り詰められた_OneRuleToRuleThemAll_のバージョン。興味深いことに、_OneRuleToRuleThemAll_とPantagruleルールの間には数千ルールの重複しかなく、2つの戦略は補完的です。Pantagruleのoneは、このサイズの他の既知のリストよりも優れたパフォーマンスを発揮するため、より大きなバリアントのいずれかを試す前に、まずこのルールセットから始めることをお勧めします。

Pantagrule hashorg.v6

これらの大きなルールセットの成功後、royce バリアントの逆の試みが行われました。そこでは、元のPantagruleの方法論が使用されましたが、両方のデータセットが異なっていました。Pantagruleは現在、ルール生成のワードリストベースとして公開のhashes.org "founds" リストを使用し、最適化パスはHave I Been PwnedのV6 NTLMリストに対して行われました。使用されたデータの完全に公開された性質により、pantagrule.v2.1m.rule(この方法論で生成された上位100万ルール)を含む、生の再現性データの公開も可能になります。V5とV6のデータは、上位2500万パスワードで同じです。

このバージョンでは、oneの生成方法が変更されました。oneを生成するために、完全な100万リストがOneRuleToRuleThemAll.ruleに追加され、その後セット全体がPwned V6で較正されました(ルールを追加して切り詰めるだけではありません)。

ルールの命名規則は、pantagrule.${corpus}.${trainingversion}.${extension}の形式に変更されました。これにより、ルールが何に最適化されているかを理解しやすくなります。たとえば、pantagrule.hashorg.v6.randomの場合、random方法論をhashes.orgをルール生成の基礎として使用し、Pwned Passwords V6で最適化されています。

元のルール

元のルールは、rockyou.txtをベースとして、プロプライエタリなワードリストをPwned Passwords NTLM v5セットと一緒に使用してトレーニングされました。「トレーニングデータ」と検証データは同じであるため、V5データセットに最適化されていることは理にかなっています。

royce バリアント

hashcatコントリビューターのRoyce Williamsのリクエストにより、上位100万ルールの最適化がhashes.org founds リストでも実行されました。これは、HIBPコーパスが比較的汚れており、hashes.org founds リストが実際のクラッキングにとってより実用的なルールセットを生成する可能性が高いためです。これらはroyceバリアントとして追加されました。royce最適化は全体的にわずかに少ないルールで構成されているようであり、random.royceは元のrandomよりもパスワードのロングテールに対して実質的に効果的です。一部のバリアントでは既存のルールよりもパフォーマンスが向上しませんでしたが、元のPantagruleのトレーニングデータと検証データの両方が_Pwned Passwords_データセットからのものであることを考えると、これは驚くべきことではありません。Pantagrule royce バリアントはrules/royceフォルダにあります。

他の一般的に使用されるルールとのパフォーマンス比較

Pantagrule戦略の他のルールセットに対する成功をテストするために、Pwned Passwords V5の上位2500万パスワードとPwned Passwords V5の上位1億パスワードに対して検証データを実行し、各ルールセットで「ロングテール」をクラックする際のルールの有効性を把握します。標準のrockyou.txtを辞書およびベースラインとして使用します。

元のバリアント生成は、hashcat v5.1.0を実行する8x 1070Tiリグで行われました。royce Pantagruleバリアントは、hashcat gitビルドv5.1.0-1774-gf96594efを実行する4x Radeon VIIリグで作成されました。hashorg.v6バリアントは、単一のNVIDIA Tesla M4、単一の1070Ti、およびhashcatv6.1.0で作成および検証されました(非常にゆっくりと)。

非常に一般的なパスワードに対するルールのパフォーマンスを記録するために、0-25Mは独自のカラムに分割されています。_RPP_カラムは、1億データセットの_ルールあたりのパーセンテージ_です。これは、rpp = Math.round(num_rules / (0_100m_percent - 6.450))の式を使用して計算されます。この数値が高いほど、クラックされたパーセンテージあたりに実行されるルールの数が多くなります。これは、ルールセットにおける収穫逓減を実現するのに役立ち、より遅いハッシュでルールを実行するための増幅されたコストのアイデアを与えます。

結論

この研究は、rockyou辞書を使用した場合に、_NSAKEYが現代のデータセットで最初に目撃したPACK LRPアルゴリズムの限界を確認しました。LRPアルゴリズムはクラッキング率を向上させるルールを生成しますが、検索空間が大幅に増加します。そのため、Pantagruleは、困難なクラッキングに特殊なルールが必要な場合に最も役立ちます。

特定のコーパスに基づいてPACKを使用してルールを生成し、残りのハッシュをターゲットにできれば、これらの大きなルールセットの1つを使用するよりも、より高いクラッキング率が得られる可能性が高いことに注意することが重要です。たとえば、Pantagrule V2は、PPv5ではv5で較正されたルールセットほどパフォーマンスが良くありません。

元のPantagruleリリース以来、これらのルールは大規模なテクノロジー企業やコンサルティング会社での複数のレッドチームエンゲージメントで実績を上げています。元のpantagrule.1mリストは、Pantagruleの生成に使用されたコーパス、上記の一般的なルールセット、7文字の英数字ブルートフォース、およびKoreLogicのPathWellトポロジに耐えた残りのHIBPハッシュの8%をクラックしました。

One Rule to Rule Them All(Hunt, 2017)メタルールの作者でさえ述べているように、他のルールより優れたルールなど存在しません。すべてのユースケースは異なり、特定のハッシュダンプや特定のワードリストで、あるルールソースが別のルールソースよりも役立つ場合があります。このデータは_何が_クラックされたかを示していないことに注意してください。一部のルールは、他のルールではクラックされなかったハッシュをクラックしています。

引用

  1. Rabelais, F. (1532). Pantagruel. Paris: Libr. générale française.
  2. Kacherginsky, P. (2013). Automatic Password Rule Analysis and Generation. [online] Available at: https://medium.com/@iphelix/automatic-password-rule-analysis-and-generation-7d2574516e48 [Accessed 4 Oct. 2019].
  3. _NSAKEY. (2014). NSAKEY/nsa-rules. [online] Available at: https://github.com/NSAKEY/nsa-rules [Accessed 4 Oct. 2019].
  4. Hunt, W. (2017). One Rule to Rule Them All. [online] Available at: https://www.notsosecure.com/one-rule-to-rule-them-all/ [Accessed 4 Oct. 2019].

ライセンス

PantagruleルールはMITライセンスの下でリリースされています。独自のツールに自由に統合してください。

ツールをダウンロード
ルールルール数V5 25MV5 100MRPP
ルールなし(rockyou.txtのみ)016.549%6.450%N/A
pantagrule.private.v5.one99,09279.814%69.417%1,574
pantagrule.private.v5.hybrid355,20581.346%73.372%5,308
pantagrule.private.v5.popular478,73681.792%73.544%7,135
pantagrule.private.v5.random616,23681.687%69.805%8,828
pantagrule.hashorg.v6.one99,09274.500%60.573%1,831
pantagrule.hashorg.v6.hybrid339,95377.649%68.341%5,493
pantagrule.hashorg.v6.popular514,41680.668%72.377%6,931
pantagrule.hashorg.v6.random638,77380.603%72.713%8,614
pantagrule.private.hashorg.one.royce99,09279.618%69.092%1,582
pantagrule.private.hashorg.hybrid.royce314,26881.068%73.082%4,716
pantagrule.private.hashorg.popular.royce420,98481.386%73.102%6,316
pantagrule.private.hashorg.random.royce592,23581.659%74.010%8,766
best646445.117%24.985%3
hob0646837.786%19.773%5
OneRuleToRuleThemAll52,01478.058%64.541%895
d3adhob057,54851.274%34.800%2,030
dive99,09277.111%63.314%1,743
_NSAKEY V1123,28976.42%64.121%2,138
_NSAKEY V2123,28976.882%64.472%2,124