当前位置:首页网络攻防学习Nosy Parker:在文本数据中寻找秘密

Nosy Parker:在文本数据中寻找秘密

关于

Nosy Parker 是一个命令行工具,可以在文本数据中查找秘密和敏感信息。它对于进攻性和防御性安全测试都很有用。

主要特征:

  • 它支持扫描文件、目录和 Git 存储库的整个历史记录
  • 它使用正则表达式匹配一组 103 个模式,根据进攻性安全活动的经验和反馈选择高信噪比
  • 它将共享相同秘密的匹配分组在一起,进一步强调信号而不是噪音
  • 速度很快:它可以在单核上以每秒数百兆字节的速度扫描,并且能够在较旧的 MacBook Pro 上在不到 2 分钟的时间内扫描 100GB 的 Linux 内核源代码历史记录

Nosy Parker 的这个开源版本是内部版本的重新实现,内部版本经常用于Praetorian的进攻性安全活动。内部版本具有额外的误报抑制功能和基于机器学习的替代检测引擎。请阅读此处此处的博客文章了解更多信息。

安装

预构建的二进制文件

最新版本页面上提供了适用于 x86_64 Linux 和 x86_64/ARM64 macOS 的预构建二进制文件。这是最简单的入门方法,并且会带来良好的性能。

Docker 镜像

预构建的多平台 Docker 映像可用于 x86_64 和 ARM64 的最新版本:

docker pull ghcr.io/praetorian-inc/noseyparker:latest

预构建的 Docker 映像可用于 x86_64 的最新提交:

docker pull ghcr.io/praetorian-inc/noseyparker:edge

注意: Docker 映像的运行速度明显慢于本机二进制文件,尤其是在 macOS 上。

从源头构建

1. 先决条件 这已经在 x86_64 上的 Ubuntu Linux 的多个版本以及在 Intel 和 ARM 处理器上运行的 macOS 上进行了测试。

所需的依赖项:

2. 使用Cargo构建

cargo build --release

这将在 处生成优化的二进制文件target/release/noseyparker

使用快速入门

注意:如果您使用的是 Docker 映像,请将noseyparker以下命令替换为使用已安装卷的 Docker 调用:

docker run -v "$PWD":/opt/ ghcr.io/praetorian-inc/noseyparker:latest <ARGS>

数据存储

大多数 Nosy Parker 命令都使用数据存储。这是 Nosy Parker 用于记录其发现并维护其内部状态的特殊目录。scan如果需要,该命令将隐式创建数据存储。您还可以使用该命令显式创建数据存储datastore init -d PATH

扫描文件系统内容以查找机密

Nosy Parker 内置支持扫描文件、递归扫描目录以及扫描 Git 存储库的整个历史记录。

例如,如果您在本地有CPythoncpython.git的 Git 克隆,则可以使用该scan命令扫描其整个历史记录。Nosy Parker 将在 处创建一个新的数据存储np.cpython并将其发现保存在那里。

$ noseyparker scan --datastore np.cpython cpython.git
Found 28.30 GiB from 18 plain files and 427,712 blobs from 1 Git repos [00:00:04]
Scanning content  ████████████████████ 100%  28.30 GiB/28.30 GiB  [00:00:53]
Scanned 28.30 GiB from 427,730 blobs in 54 seconds (538.46 MiB/s); 4,904/4,904 new matches

 Rule                      Distinct Groups   Total Matches
───────────────────────────────────────────────────────────
 PEM-Encoded Private Key             1,076           1,192
 Generic Secret                        331             478
 netrc Credentials                      42           3,201
 Generic API Key                         2              31
 md5crypt Hash                           1               2

Run the `report` command next to show finding details.

通过 URL、GitHub 用户名或 GitHub 组织名称扫描 Git 存储库

Nosy Parker 还可以扫描尚未克隆到本地文件系统的 Git 存储库。、和选项允许您指定感兴趣的存储库--git-url URL--github-user NAME--github-org NAMEscan

例如,要扫描 Nosy Parker 存储库本身:

$ noseyparker scan --datastore np.noseyparker --git-url https://github.com/praetorian-inc/noseyparker

例如,要扫描属于以下的可访问存储库octocat

$ noseyparker scan --datastore np.noseyparker --github-user octocat

如果环境变量中可用,这些输入说明符将使用可选的 GitHub 令牌NP_GITHUB_TOKEN。提供访问令牌可提供更高的 API 速率限制,并可能使您可以访问其他存储库。

请参阅noseyparker help scan了解更多详情。

总结调查结果

Nosy Parker 完成扫描后会打印出其结果摘要。您也可以单独运行此步骤:

$ noseyparker summarize --datastore np.cpython

 Rule                      Distinct Groups   Total Matches
───────────────────────────────────────────────────────────
 PEM-Encoded Private Key             1,076           1,192
 Generic Secret                        331             478
 netrc Credentials                      42           3,201
 Generic API Key                         2              31
 md5crypt Hash                           1               2

通过该选项支持其他输出格式,包括 JSON 和 JSON 行--format=FORMAT

报告详细调查结果

要查看 Nosy Parker 发现的详细信息,请使用该report命令。这将打印出一份专为人类消费而设计的基于文本的报告:

$ noseyparker report --datastore np.cpython
Finding 1/1452: Generic API Key
Match: QTP4LAknlFml0NuPAbCdtvH4KQaokiQE
Showing 3/29 occurrences:

    Occurrence 1:
    Git repo: clones/cpython.git
    Blob: 04144ceb957f550327637878dd99bb4734282d07
    Lines: 70:61-70:100

        e buildbottest

        notifications:
          email: false
          webhooks:
            urls:
              - https://python.zulipchat.com/api/v1/external/travis?api_key=QTP4LAknlFml0NuPAbCdtvH4KQaokiQE&stream=core%2Ftest+runs
            on_success: change
            on_failure: always
          irc:
            channels:
              # This is set to a secure vari

    Occurrence 2:
    Git repo: clones/cpython.git
    Blob: 0e24bae141ae2b48b23ef479a5398089847200b3
    Lines: 174:61-174:100

        j4 -uall,-cpu"

        notifications:
          email: false
          webhooks:
            urls:
              - https://python.zulipchat.com/api/v1/external/travis?api_key=QTP4LAknlFml0NuPAbCdtvH4KQaokiQE&stream=core%2Ftest+runs
            on_success: change
            on_failure: always
          irc:
            channels:
              # This is set to a secure vari
...

(注意:上面的结果是合成的、无效的秘密。)通过选项支持其他输出格式,包括 JSON 和 JSON 行--format=FORMAT

从 GitHub 枚举存储库

要列出属于 GitHub 用户或组织的存储库的 URL,请使用以下github repos list命令。此命令使用 GitHub REST API 枚举属于一个或多个用户或组织的存储库。例如:

$ noseyparker github repos list --user octocat
https://github.com/octocat/Hello-World.git
https://github.com/octocat/Spoon-Knife.git
https://github.com/octocat/boysenberry-repo-1.git
https://github.com/octocat/git-consortium.git
https://github.com/octocat/hello-worId.git
https://github.com/octocat/linguist.git
https://github.com/octocat/octocat.github.io.git
https://github.com/octocat/test-repo1.git

可以通过环境变量提供可选的 GitHub 个人访问令牌NP_GITHUB_TOKEN。提供访问令牌可提供更高的 API 速率限制,并可能使您可以访问其他存储库。

通过该选项支持其他输出格式,包括 JSON 和 JSON 行--format=FORMAT

请参阅noseyparker help github了解更多详情。

寻求帮助

运行noseyparker不带参数的二进制文件会打印顶级帮助并退出。您可以通过运行来获取特定命令的简短帮助noseyparker COMMAND -h

help提示:通过命令或长格式--help选项可以获得更详细的帮助。

温馨提示:

文章标题:Nosy Parker:在文本数据中寻找秘密

文章链接:https://www.cutrui.cn/2643.html

更新时间:2023年07月02日

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
网络攻防学习

Spring_All_Reachable Spring漏洞综合利用工具

2023-6-30 10:28:05

网络攻防学习

使用 eBPF 的高级 IP 智能和 DNS 监控

2023-7-2 9:41:48

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索

你有新的私信

请务必要查看您的私信哟~~