硬编码密钥自动识别工具

admin 2023年3月23日11:51:55评论26 views字数 2668阅读8分53秒阅读模式

DumpsterDive,可以分析大量数据以搜索硬编码的机密,如密钥(例如AWS访问密钥,Azure共享密钥或SSH密钥)或密码。

此外,它还允许创建具有基本条件的简单搜索规则(例如,仅报告包含至少 10 个电子邮件地址的 csv 文件)。该工具的主要思想是检测任何潜在的秘密泄漏。

硬编码密钥自动识别工具

0x01 工具安装

直接安装对应的pip依赖库即可

$> pip install -r requirements.txt

0x02 工具使用

自定义搜索方式:

1、通过命令行参数进行定制

--min-key MIN_KEY- 指定要分析的最小密钥长度(默认值为 20--max-key MAX_KEY- 指定要分析的最大密钥长度(默认值为 80--max-key MAX_KEY- 指定要分析的最大密钥长度(默认值为 80

还添加了一个单独的脚本,允许您在单个单词中计算字符的熵。它将帮助您更好地根据您的需求自定义垃圾箱潜水员。您可以使用以下命令进行检查:

$> python3 entropy.py f2441e3810794d37a34dd7f8f6995df4

当您知道自己在寻找什么时,这种方式非常有用。以下是一些示例:

当您查找 AWS 秘密访问密钥时:

$> python3 DumpsterDiver.py -p [PATH_TO_FOLDER] --min-key 40 --max-key 40 --entropy 4.3

查找 Azure 共享密钥时:

$> python3 DumpsterDiver.py -p [PATH_TO_FOLDER] --min-key 66 --max-key 66 --entropy 5.1

当您查找 SSH 私钥时(默认情况下,RSA 私钥以 76 字节长的字符串编写):

$> python3 DumpsterDiver.py -p [PATH_TO_FOLDER] --min-key 76 --max-key 76 --entropy 5.1

当您查找任何出现或:

aws_access_key_idaws_secret_access_key
$> python3 DumpsterDiver.py -p ./test/ --grep-words *aws_access_key_id* *aws_secret_access_key* -a

2、查找硬编码密码。

使用熵查找密码不是很有效,因为它会产生大量误报。这就是为什么DumpsterDiver使用不同的方法来查找硬编码密码的原因 - 它使用passwordmeter验证密码复杂性。若要自定义此搜索,可以使用以下命令:

--min-pass MIN_PASS- 指定要分析的最小密码长度(默认值为 8)。需要向语法添加标志。-s--max-pass MAX_PASS- 指定要分析的最大密码长度(默认值为 12)。需要向语法添加标志。-s--pass-complex {1,2,3,4,5,6,7,8,9}- 指定密码复杂性介于 1(普通密码)到 9(非常复杂的密码)之间的边缘(默认值为 8)。需要向语法添加标志。-s

例如,如果要查找复杂的密码(包含大写,小写,特殊字符,数字并且长度为10到15个字符),则可以使用以下命令进行操作:

$> python3 DumpsterDiver.py -p [PATH_TO_FOLDER] --min-pass 10 --max-pass 15 --pass-complex 8

3、限制扫描。

您可能希望跳过扫描某些文件。为此,您可以使用以下参数:

--exclude-files- 指定不应分析的文件名或扩展名。文件扩展名应包含字符(例如)。多个文件名和扩展名应用空格分隔。..pdf--bad-expressions- 指定错误的表达式。如果 DumpsterDiver 在文件中找到这样的表达式,则此文件将不会 分析。多个错误的表达式应用空格分隔。

如果要使用单独的文件指定多个文件名,错误的表达式或grep单词,可以通过以下bash技巧来完成:

$> python3 DumpsterDiver.py -p ./test/ --exclude-files `while read -r line; do echo $line; done < blacklisted_files.txt`

4、通过 config.yaml 文件进行自定义

无需使用多个命令行参数,您可以在文件中一次指定所有上述参数的值。config.yaml

5、高级搜索

DumpsterDiver还支持高级搜索。除了使用通配符进行简单的 greping 之外,此工具还允许您创建条件。假设您正在搜索公司电子邮件的泄漏。此外,您只对包含至少 100 个电子邮件地址的大泄漏感兴趣。为此,应按以下方式编辑文件:rules.yaml

filetype: [".*"]filetype_weight: 0grep_words: ["*@example.com"]grep_words_weight: 10grep_word_occurrence: 100

让我们假设一个不同的场景,您正在 or 文件中查找术语“pass”、“password”、“haslo”、“hasło”(如果您正在分析波兰公司存储库)。然后,您可以通过通过以下方式修改“rules.yaml”文件来实现此目的:.db.sql

filetype: [".db", ".sql"]filetype_weight: 5grep_words: ["*pass*", "*haslo*", "*hasło*"]grep_words_weight: 5grep_word_occurrence: 1

请注意,仅当总权重 () 为 时,才会触发该规则。filetype_weight + grep_words_weight>=10

6、使用 Docker

docker 映像可用于 DumpsterDiver。使用以下方法运行它:

$> docker run -v /path/to/my/files:/files --rm rzepsky/dumpsterdiver -p /files

如果要覆盖其中一个配置文件( 或 ):config.yamlrules.yaml

$> docker run -v /path/to/my/config/config.yaml:/config.yaml /path/to/my/config/rules.yaml:/rules.yaml -v /path/to/my/files:/files --rm rzepsky/dumpsterdiver -p /files

获取工具包

https://github.com/securing/dumpsterdiver

原文始发于微信公众号(白帽学子):硬编码密钥自动识别工具

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月23日11:51:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   硬编码密钥自动识别工具http://cn-sec.com/archives/1623186.html

发表评论

匿名网友 填写信息