利用 GitHub使用 Nuclei 进行漏洞扫描

admin 2023年2月26日14:21:19评论200 views字数 3103阅读10分20秒阅读模式

最近很多小伙伴反馈看不到最新的推文,由于微信公众号推送机制改变了,解决办法:

利用 GitHub使用 Nuclei 进行漏洞扫描

利用 GitHub使用 Nuclei 进行漏洞扫描

    组织保护其整个软件供应链中的所有资产至关重要。例如,在 DevOps 生命周期中,作为开发人员,确保代码的安全性和稳定性至关重要。一种有效的方法是将自动化安全测试作为持续集成和部署 (CI/CD) 管道的一部分。

    在此文中,我们将探讨如何在 GitHub CI/CD 管道中使用Nuclei,这是一种用于扫描 Web 应用程序的强大开源工具。

什么是 GitHub CI/CD?

    GitHub Actions 是一套工具,使开发人员能够直接从 GitHub 平台构建、测试和部署他们的代码。使用它,开发人员可以设置一个 CI/CD 管道,在每次将更改推送到他们的存储库时自动构建、测试和部署他们的代码。这有助于确保一致且可靠地自动测试和部署代码更改。

    通常,组织已经转向 DevSecOps 模型,他们将安全性集成到 CI/CD 管道中。虽然这是确保深度安全防御和早期缓解的好方法,但对产品的实时版本(例如 API 或 Web 应用程序端点)运行定期扫描也很重要。在 Nuclei 的帮助下,从黑盒角度运行自动扫描不再是一项繁琐的任务。

Nuclei - 一种快速且可定制的漏洞扫描器

    Nuclei 是一种开源工具,用于借助以 YAML 编写的预定义模板来扫描漏洞。它可以扫描任何漏洞类别,包括跨站点脚本 (XSS)、SQL 注入和远程命令执行。Nuclei 快速高效,使其成为识别潜在应用程序漏洞的强大工具。

它可以设置为在本地和公开部署的应用程序的内部网络环境中运行。

Power of Nuclei

    Nuclei 的主要优势之一是能够快速准确地扫描各种漏洞。它使用称为“规则”的预定义模板来扫描已知漏洞,还可以自定义它以扫描特定漏洞或问题。这使它成为识别 Web 应用程序中潜在漏洞的理想工具。

    现在,让我们回到最初的讨论,了解如何将 nuclei 集成到您的 CI/CD 管道中。

将 Nuclei 集成到 CI/CD 管道中

    将核扫描功能集成到 CI/CD 管道中非常简单。我们将在 GitHub 上创建一个私有存储库,并假设它托管一个公共 Web 应用程序的代码,比如http://testphp.vulnweb.com/。

    按照以下步骤在 GitHub 中设置 CI/CD 管道,并运行工作流以在每次代码更改时在 testphp.vulnweb.com 上启动 Nuclei Scan。

    登录 GitHub Web 应用程序。

    单击右上角的 + 图标,然后选择新建存储库。

利用 GitHub使用 Nuclei 进行漏洞扫描

3.创建一个具有任意名称的新存储库,并将其设置为私有。

利用 GitHub使用 Nuclei 进行漏洞扫描

4.   现在,使用GitHub Desktop或Git CLI在您的系统上本地克隆存储库。

5.   导航到存储库文件夹并创建一个新目录:

.github/workflows/

6.   现在用下面的工作流代码在这个目录中创建一个.yml工作流文件:


name: CIon: [push]
jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Run Nuclei uses: projectdiscovery/nuclei-action@main with: target: "http://localhost"

7.   将target:参数更改为应用程序URL。它还支持多个url。这个工作流将运行由ProjectDiscovery团队创建的Nuclei GitHub Action,在您定义的目标URL上运行核子。关于Nuclei GitHub Action GitHub行动的详细文档可以在这里找到:

https://github.com/projectdiscovery/nuclei-action

8.   现在,使用Git CLI或GitHub Desktop将代码推回存储库,并导航到存储库,查看工作流开始执行。

利用 GitHub使用 Nuclei 进行漏洞扫描

利用 GitHub使用 Nuclei 进行漏洞扫描

使用Nuclei自定义Templates执行测试

    跟踪已知的漏洞并确保它们得到适当的补救是任何组织的基本任务。随着技术的不断发展和新代码的频繁发布,定期执行回归测试以确保漏洞不会再次出现是至关重要的。然而,这可能是一项繁琐且资源密集的任务,可能会影响发布计划。

    幸运的是,有一种解决方案可以简化这一过程,使其更有效。Nuclei是一个强大的工具,允许组织使用自定义模板执行测试。通过编写专门针对已知漏洞的模板,组织可以轻松地扫描其代码以查找任何潜在问题。

    编写Nuclei模板的过程是直接的和用户友好的。Nuclei在其网站上提供了一个全面的指南,引导用户完成创建模板的过程。该指南可以在以下找到

https://nuclei.projectdiscovery.io/templating-guide/

    让我们深入研究如何在CI/CD管道中利用自定义模板来执行测试。通过将自定义模板扫描合并到您的工作流程中,您可以轻松地扫描已知的漏洞,并确保它们在每次代码更改时都得到适当的修复。

要实现此功能,只需将工作流文件中的代码替换为以下说明:

name: CIon: [push]
jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Run Nuclei uses: projectdiscovery/nuclei-action@main with: target: ‘http://testphp.vulnweb.com/’        templates: custom_template_path

        

使用Nuclei扫描结果自动报告问题

    一旦Nuclei完成扫描,报告任何发现的问题并通知相关方是很重要的。这可以使用像GitHub Issues这样的工具来完成,它允许你在存储库中创建和跟踪问题。

    Nuclei Action支持在GitHub问题和GitHub安全仪表板上报告问题,使其易于创建工作流。

在上面的工作流文件中,将代码替换为以下代码:

name: CIon: [push]
jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Run Nuclei uses: projectdiscovery/nuclei-action@main with: target: ‘http://testphp.vulnweb.com/’ github-report: true        github-token: ${{ secrets.GITHUB_TOKEN }}

        提交新的更改,您应该会看到它将启动一个新的工作流流程,在结束时,它将报告问题。报告的问题可以在问题选项卡中找到。

利用 GitHub使用 Nuclei 进行漏洞扫描

利用 GitHub使用 Nuclei 进行漏洞扫描

利用 GitHub使用 Nuclei 进行漏洞扫描

    类似地,如果你已经有了一个代码库,你所需要做的就是根据你的需求配置工作流文件,你所有的设置都是在你提交代码更改时进行扫描,你的实时应用程序将使用Nuclei进行扫描,结果也将被报告。

文章参考:

https://blog.projectdiscovery.io/implementing-nuclei-into-your-github-ci-cd-for-scanning-live-web-applications/https://github.com/projectdiscovery/nuclei-action

总结:

我自己也用了,效果不错。嘿嘿

利用 GitHub使用 Nuclei 进行漏洞扫描


利用 GitHub使用 Nuclei 进行漏洞扫描
利用 GitHub使用 Nuclei 进行漏洞扫描

扫描二维码获取

更多精彩

利用 GitHub使用 Nuclei 进行漏洞扫描

洛米唯熊


原文始发于微信公众号(洛米唯熊):利用 GitHub使用 Nuclei 进行漏洞扫描

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月26日14:21:19
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   利用 GitHub使用 Nuclei 进行漏洞扫描http://cn-sec.com/archives/1575518.html

发表评论

匿名网友 填写信息