Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
featherduster — 自动化、模块化的密码分析工具;即一件“数学毁灭性武器”。 | Kitploit
工具/GitHubGitHub/nccgroup/featherduster
加密/解密工具漏洞分析漏洞利用密码学渗透测试密码学 分类第 14 名加密/解密工具 分类第 15 名
GitHubnccgroup/featherduster

featherduster

自动化、模块化的密码分析工具;即一件“数学毁灭性武器”。

查看仓库
1.1k13034年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

FeatherDuster(与 Cryptanalib)

FeatherDuster 标志 Build Status

FeatherDuster 是一款主要用于破解密码学算法的工具,由 Daniel "unicornfurnace" Crowley 编写,并得到了社区贡献者的支持;它致力于让识别和利用弱密码系统的过程尽可能简单。Cryptanalib 是 FeatherDuster 背后的核心组件,也可以独立于 FeatherDuster 使用。

为什么叫 "FeatherDuster"(鸡毛掸子)?在一些密码学爱好者之间存在一个内部梗:糟糕地使用密码学,或者用密码学去解决本不该由密码学解决的问题,被称为"撒上魔法般的密码学仙尘"。FeatherDuster 就是用来清理这些魔法般的密码学仙尘的。

这是 FeatherDuster 的测试版。某些功能可能存在问题。

如果你发现了 bug,请提交 issue。欢迎并鼓励 Pull Request。

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 的密码攻击工具。可以通过 Python 的 help() 函数访问 cryptanalib 函数的文档,如下所示:

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 分析引擎

Cryptanalib 中的分析引擎被 FeatherDuster 使用,能够自动检测编码方式并解码样本。该引擎假设所有样本都是通过同一流程生成的(例如 base64encode(aes_encrypt(datum))),但在一定程度上也能处理混合样本。目前,Cryptanalib 可以检测并解码以下编码方案:

  • 普通 Base64
  • ASCII 十六进制编码
  • Zlib 压缩
  • URL 编码

Cryptanalib 的分析引擎还可以在分析阶段检测多种属性:

  • 低熵密文(有助于检测自制密码算法)
  • 分组密码使用与流密码使用
  • ECB 模式
  • 固定 IV 的 CBC 模式
  • 哈希算法(引擎会提示基于 Merkle-Daamgard 的哈希算法可能适用长度扩展攻击)
  • OpenSSL 格式的密文
  • 流密码密钥重用
  • 包含私钥组件的 RSA 密钥
  • 过小的 RSA 模数
  • RSA 模数重用
  • 仅使用置换的密码
下载工具