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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
featherduster — 自動化されたモジュール式の暗号解析ツール、すなわち数学破壊兵器(Weapon of Math Destruction)。 | Kitploit
ツール/GitHubGitHub/nccgroup/featherduster
暗号化/復号化ツール脆弱性分析エクスプロイト暗号化ペネトレーションテスト
GitHubnccgroup/featherduster

featherduster

自動化されたモジュール式の暗号解析ツール、すなわち数学破壊兵器(Weapon of Math Destruction)。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

FeatherDuster(および Cryptanalib)

FeatherDuster logo Build Status

FeatherDuster は、主に Daniel "unicornfurnace" Crowley がコミュニティからの貢献とともに執筆した、暗号を破るためのツールです。このツールは、弱い暗号システムの特定と悪用のプロセスをできる限り簡単にすることを目指しています。Cryptanalib は FeatherDuster の背後にある動作部品であり、FeatherDuster とは独立して使用できます。

なぜ「FeatherDuster」なのか? 一部の暗号関係者の間には、暗号を不適切に使ったり、暗号が本来解決すべきでない問題を解決するために使ったりすることを「魔法の暗号妖精の粉を振りかける」と呼ぶ内輪のジョークがあります。FeatherDuster は、その魔法の暗号妖精の粉を掃除するためのものです。

これは FeatherDuster のベータリリースです。壊れている可能性があります。

バグを見つけた場合は、issue を報告してください。プルリクエストを歓迎します。

FeatherDuster の使い方

python featherduster/featherduster.py [ciphertext file 1] ... [ciphertext file n]

FeatherDuster を仮想環境にインストールしている場合は、次のように実行するだけです:

root@kitploit:~
(featherduster) $ featherduster [ciphertext file 1] ... [ciphertext file n]

位置引数でサンプルをインポートする場合、各ファイルはその形式にかかわらず、それぞれ独立した暗号文として読み込まれ処理されます。FeatherDuster には一般的なエンコーディングを自動的に認識してデコードする機能があるため、これらのファイルにエンコード済みのサンプルが含まれていても問題ありません。

FeatherDuster コンソールが起動すると、暗号文のインポート方法として別の方法も利用できるようになります。具体的には、改行区切りのサンプルを含むファイルをインポートし、各行を個別のサンプルとして扱うことができます。例:

root@kitploit:~
68657920636f6f6c
796f752072656164
74686520726561646d65

また、コマンドライン入力で FeatherDuster に単一の暗号文を指定する機能もあります。この入力は改行で終了するため、サンプルに改行が含まれる場合に備えて、何らかのエンコーディングを使用することをお勧めします。

Cryptanalib の使い方

Cryptanalib は FeatherDuster とは別に使用して、Python ベースの暗号攻撃ツールを作成できます。cryptanalib 関数のドキュメントには、Python の help() 関数から次のようにアクセスできます:

root@kitploit:~
>>> import cryptanalib as ca
>>> dir(ca)    # output edited for a cleaner README file
[ ... 'analyze_ciphertext', 'batch_gcd', 'bb98_padding_oracle', 'break_alpha_shift', 'break_ascii_shift', 'break_columnar_transposition', 'break_generic_shift', 'break_many_time_pad', ... ]
>>> help(ca.bb98_padding_oracle)

Help on function bb98_padding_oracle in module cryptanalib:

bb98_padding_oracle(ciphertext, padding_oracle, exponent, modulus, verbose=False, debug=False)
    Bleichenbacher's RSA-PKCS1-v1_5 padding oracle from CRYPTO '98
    
    Given an RSA-PKCS1-v1.5 padding oracle and a ciphertext,
    decrypt the ciphertext.
    
    ciphertext - The ciphertext to decrypt
    padding_oracle - A function that communicates with the padding oracle.
       The function should take a single parameter as the ciphertext, and
       should return either True for good padding or False for bad padding.
    exponent - The public exponent of the keypair
    modulus - The modulus of the keypair
    verbose - (bool) Whether to show verbose output
    debug - (bool) Show very verbose output

Cryptanalib の分析エンジン

FeatherDuster が使用する Cryptanalib の分析エンジンは、エンコーディングを自動的に検出し、サンプルをデコードできます。このエンジンは、すべてのサンプルが同じプロセス(例:base64encode(aes_encrypt(datum)))で生成されていることを前提としていますが、混在したサンプルもある程度処理できます。現在、Cryptanalib は次のエンコーディング方式を検出およびデコードできます:

  • バニラ Base64
  • ASCII 16進エンコード
  • Zlib 圧縮
  • URL エンコード

Cryptanalib の分析エンジンは、分析フェーズで次のような多くのプロパティも検出できます:

  • 低エントロピー暗号文(自作暗号の検出に有用)
  • ブロック暗号の使用 vs ストリーム暗号の使用
  • ECB モード
  • 固定 IV の CBC モード
  • ハッシュアルゴリズム(エンジンは、Merkle-Daamgard ベースのハッシュアルゴリズムには長さ拡張攻撃が適用される可能性があることを注記します)
  • OpenSSL 形式の暗号文
  • ストリーム暗号の鍵の再利用
  • 秘密コンポーネントを含む RSA 鍵
  • サイズが不十分な RSA モジュラス
  • RSA モジュラスの再利用
  • 転置のみの暗号
ツールをダウンロード