• Centos7下安装ruby2.7.8环境、WPScan的安装及使用介绍


    前一段自己搭建了一个基于Wordpress搭建的博客,为了测试一下博客网站是否存在漏洞,网上搜索了一下主要采用WPScan工具。它是一个针对 WordPress 核心、插件和主题的漏洞扫描器,它可以帮助网站管理员检查其 WordPress 站点是否存在已知的安全问题。但是,WPScan 依赖于 Ruby,因此首先需要在系统中安装 Ruby,还需要安装 RubyGems,它是 Ruby 的包管理器。

    接下来在 CentOS 7 上来部署WPScan工具,因为WPScan的部署需要用到ruby2.6版本以上。CentOS 7默认的Ruby版本为2.0 ,Ruby的最新版本已经到3.3.0. Ruby下载官网,我这边选择了2.7.8的版本。

    一、安装Ruby2.7.8环境

    首先安装 Ruby 2.7 或更高版本,需要使用第三方仓库,因为默认的 CentOS 仓库可能不包含最新版本的 Ruby。以下是安装Ruby 2.7的步骤:

    1. 添加 Remi 仓库
      Remi 提供了多个版本的 Ruby,包括最新版本。首先,您需要添加 Remi 的 PHP 和 MySQL 仓库,因为 Ruby 2.5+ 通常与这些技术一起提供。

      sudo yum install epel-release
      sudo yum install yum-utils
      sudo yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/7/x86_64/
      sudo yum-config-manager --add-repo https://rpms.remirepo.net/enterprise/remi-release-7.rpm
      
      • 1
      • 2
      • 3
      • 4
    2. 下载 仓库提供的 Ruby2.7.8版本

      卸载机器上自带的ruby rubygems

      sudo yum remove ruby rubygems -y
      
      • 1

      下载Ruby2.7.8。

      sudo wget https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.8.tar.gz
      
      • 1

      这将安装 Ruby 2.5 版本。如果您需要安装不同的版本,只需将 2.5 替换为您想要的版本号。

    3. 安装环境准备
      安装解决ruby语言的环境依赖库。

      sudo yum install gcc gcc-c++ gdbm-devel readline-devel openssl-devel wget -y
      
      • 1
    4. 安装 RubyGems
      通常情况下,通过安装 Ruby,RubyGems 也会被一同安装。但如果需要手动安装 RubyGems,可以使用以下命令:

       tar -zxvf ruby-2.7.8.tar.gz
       cd ruby-2.7.8
       ./configure --prefix=/usr/local/ruby --enable-shared
       make && make install
      
      • 1
      • 2
      • 3
      • 4
    5. 设置环境变量(如果需要):
      如果您安装了多个 Ruby 版本,可能需要设置 GEM_HOMEPATH 环境变量来指定使用哪个 Ruby 版本的 RubyGems。

      export RUBY_HOME=/usr/local/ruby
      export PATH=$RUBY_HOME/bin:$RUBY_HOME/lib:$PATH
      
      • 1
      • 2

      将上述命令添加到您的 ~/.bashrc~/.bash_profile 文件中,然后重新加载配置文件或重新打开终端。

      source ~/.bashrc
      
      • 1
    6. 测试 Ruby 安装是否成功
      如果您需要安装 Ruby 开发包或其他相关包,可以使用以下命令:

       ruby -v
       gem -v
      
      • 1
      • 2

    二、安装WPScan工具

    采用Ruby的gem安装WPScan,可以使用以下命令:

     gem install wpscan
    
    • 1

    三、使用WPScan工具

    WPScan是一款强大的WordPress安全扫描工具,可以帮助网站管理员评估和增强其WordPress网站的安全性。本文将深入介绍如何使用WPScan扫描单个目标,并结合实际例子,帮助读者理解和应用该工具。

    1.WPScan扫描单个网站

    确认目标:
    在开始扫描之前,首先需要确认扫描的目标。目标可以是一个特定的WordPress网站,您需要获取其URL。
    示例应用:
    假设我们要扫描一个名为"http://example.com"的WordPress网站。我们将使用该URL作为扫描的目标。
    启动WPScan:
    在确认目标后,打开终端或命令行界面,并输入以下命令来启动WPScan:

    wpscan --url http://example.com
    
    • 1

    上述命令中的--url选项后跟着目标WordPress网站的URL。
    扫描选项:
    WPScan提供了多个选项,可以根据需要配置扫描的深度和灵敏度。以下是一些常用的扫描选项:

    • --enumerate:启用特定类型的枚举扫描,如用户、插件和主题。
    • --plugins-detection:设置插件检测的模式,如默认、被动或侵入式。
    • --detection-mode:设置扫描的侦测模式,如快速、默认或深度。

    示例应用: 在我们的例子中,我们可以使用以下命令配置扫描选项:

    wpscan --url http://example.com --enumerate u,p,t --plugins-detection aggressive --detection-mode aggressive
    
    • 1

    上述命令中,我们启用了用户、插件和主题的枚举扫描,并将插件检测和扫描模式都设置为"aggressive"。

    扫描结果分析:
    WPScan将开始扫描目标WordPress网站,并显示扫描结果。结果包括发现的漏洞、插件和主题的信息,以及其他有关目标网站的详细内容。
    示例应用:
    扫描完成后,WPScan将显示扫描结果的摘要。您可以逐一查看每个漏洞、插件或主题的详细信息,并根据需要采取相应的措施。
    例如,如果WPScan检测到某个插件存在已知的漏洞,您可以考虑升级插件或寻找替代方案来修复该漏洞。
    导出扫描结果:
    WPScan允许将扫描结果导出到不同的格式,以便进行进一步的分析和报告。

    示例应用:

    要将扫描结果导出为文本文件,可以使用以下命令:

    wpscan --url http://example.com --output example_scan.txt --format txt
    
    • 1

    该命令将扫描结果保存到名为example_scan.txt的文本文件中,以供后续分析和记录。

    总结:

    通过上述步骤,您可以使用WPScan扫描单个目标的WordPress网站。从确认目标到启动WPScan、配置扫描选项、分析扫描结果以及导出结果,这些步骤为您提供了全面的指导。

    需要注意的是,使用WPScan进行安全评估时,请始终遵循合法和道德的准则。确保您获得了适当的授权,并且仅在合法的环境中使用WPScan。

    示例应用中的命令和选项只是一个简单的示例,实际的使用场景可能因特定需求、操作系统、环境等因素而有所不同。在实际操作中,请参考WPScan的官方文档和GitHub存储库,以获取最新的命令和选项。

    2.WPScan扫描多个目标

    WPScan是一款功能强大的WordPress安全扫描工具,可以帮助网站管理员评估和增强其WordPress网站的安全性。本文将深入介绍如何使用WPScan扫描多个目标,并结合实际例子,帮助读者理解和应用该工具。

    确认目标列表:
    在开始扫描之前,首先需要确认扫描的目标列表。目标列表可以包含多个WordPress网站的URL。
    示例应用:
    假设我们要扫描以下三个WordPress网站:

    • 网站A: http://example.com
    • 网站B: http://testsite.com
    • 网站C: http://demo.com

    我们将使用这三个URL作为扫描的目标列表。

    启动WPScan批量扫描:
    WPScan提供了批量扫描功能,可以通过提供目标列表文件来扫描多个目标。首先,将目标列表保存到一个文本文件中,每个URL占一行。
    示例应用:
    创建一个名为targets.txt的文本文件,并将上述三个目标URL添加到文件中,每个URL占一行。

    http://example.com
    http://testsite.com
    http://demo.com
    
    • 1
    • 2
    • 3

    然后,在终端或命令行界面中,使用以下命令来启动WPScan的批量扫描:

    wpscan --url-list targets.txt
    
    • 1

    WPScan将读取targets.txt文件中的目标URL,并逐个进行扫描。

    扫描选项和配置:
    WPScan提供了多个选项和配置,可以根据需要自定义批量扫描的深度和灵敏度。您可以使用各种扫描选项来优化扫描结果。
    示例应用:
    在我们的例子中,我们可以使用以下命令来配置扫描选项:

    wpscan --url-list targets.txt --enumerate u,p,t --plugins-detection aggressive --detection-mode aggressive
    
    • 1

    上述命令中,我们启用了用户、插件和主题的枚举扫描,并将插件检测和扫描模式都设置为"aggressive"。
    扫描结果分析:
    WPScan将按顺序扫描目标列表中的每个WordPress网站,并显示扫描结果。结果包括发现的漏洞、插件和主题的信息,以及其他有关目标网站的详细内容。
    示例应用:
    扫描完成后,WPScan将显示每个目标的扫描结果的摘要。您可以逐一查看每个目标的漏洞、插件或主题的详细信息,并根据需要采取相应的措施。
    例如,如果WPScan检测到某个目标网站的某个插件存在已知的漏洞,您可以考虑升级插件或寻找替代方案来修复该漏洞。
    导出扫描结果:
    WPScan允许将扫描结果导出到不同的格式,以便进行进一步的分析和报告。

    示例应用:

    要将扫描结果导出为文本文件,可以使用以下命令:

    wpscan --url-list targets.txt --output batch_scan.txt --format txt
    
    • 1

    该命令将扫描结果保存到名为batch_scan.txt的文本文件中,以供后续分析和记录。

    总结:

    通过上述步骤,您可以使用WPScan扫描多个目标的WordPress网站。从确认目标列表到启动WPScan批量扫描、配置扫描选项、分析扫描结果以及导出结果,这些步骤为您提供了全面的指导。

    3.使用参数和选项

    WPScan是一款广泛使用的WordPress安全扫描工具,它提供了一系列的参数和选项,以帮助用户进行全面的安全评估和漏洞扫描。本文将深入介绍WPScan的一些常用参数和选项,并结合实际例子,帮助读者理解和应用这些功能。

    --url指定目标URL
    这是WPScan最基本的参数,用于指定要扫描的目标WordPress网站的URL。
    示例应用:

    wpscan --url http://example.com
    
    • 1

    上述命令将扫描名为"http://example.com"的WordPress网站。

    --enumerate枚举功能
    WPScan提供了多个枚举功能,用于收集有关目标网站的信息,如用户、插件、主题等。
    示例应用:

    wpscan --url http://example.com --enumerate u,p,t
    
    • 1

    上述命令将启用用户(u)、插件(p)和主题(t)的枚举扫描。

    --plugins-detection插件检测级别
    这个选项用于指定插件检测的级别,包括默认、主动和侵入性三个级别。
    示例应用:

    wpscan --url http://example.com --plugins-detection aggressive
    
    • 1

    上述命令将以侵入性的方式检测目标网站的插件。

    --detection-mode扫描模式
    WPScan提供了多种扫描模式,包括默认、被动和侵入性模式,用于控制扫描的深度和灵敏度。
    示例应用:

    wpscan --url http://example.com --detection-mode aggressive
    
    • 1

    上述命令将以侵入性的模式进行深度扫描。

    --exclude-content-based排除内容
    这个选项用于指定要排除的内容类型,以加快扫描速度。
    示例应用:

    wpscan --url http://example.com --exclude-content-based "attachments,timthumbs"
    
    • 1

    上述命令将排除附件和TimThumb图像处理程序的扫描。

    --proxy代理设置
    如果您需要通过代理服务器进行扫描,可以使用此选项设置代理。
    示例应用:

    wpscan --url http://example.com --proxy http://proxyserver.com:8080
    
    • 1

    上述命令将通过代理服务器进行扫描。

    --output输出格式和文件
    WPScan允许将扫描结果以不同的格式输出到文件中,如文本、JSON等。
    示例应用:

    wpscan --url http://example.com --output scan_results.txt --format txt
    
    • 1

    上述命令将扫描结果保存为文本文件"scan_results.txt"。

    --follow-redirection跟随重定向
    如果目标网站有重定向,您可以使用此选项来跟随重定向并扫描最终目标。
    示例应用:

    wpscan --url http://example.com --follow-redirection
    
    • 1

    上述命令将跟随重定向并扫描重定向后的目标。

    --random-user-agent随机User-Agent
    WPScan提供了随机生成User-Agent的选项,用于模拟不同的用户代理。

    示例应用:

    wpscan --url http://example.com --random-user-agent
    
    • 1

    上述命令将随机生成User-Agent进行扫描。

    输出和报告生成
    WPScan作为一款强大的WordPress安全扫描工具,不仅提供了详尽的扫描功能,还支持生成详细的输出和报告,帮助用户理解扫描结果并采取相应的安全措施。本文将深入探讨WPScan的输出和报告生成功能,并结合实际示例,帮助读者更好地理解和应用这些功能。

    输出选项
    WPScan提供了多种输出选项,使用户能够按照自己的需求获取扫描结果。以下是一些常用的输出选项:

    • --output:将扫描结果保存到文件中。
    • --format:指定输出格式,如txt、json、xml等。
    • --no-banner:不显示WPScan的横幅信息。
      示例应用:
    wpscan --url http://example.com --output scan_results.txt --format txt --no-banner
    
    • 1

    上述命令将扫描结果保存为文本文件"scan_results.txt",并以纯文本格式显示,同时不显示WPScan的横幅信息。
    默认输出
    当不指定输出选项时,WPScan会以默认的方式将扫描结果输出到终端。默认输出包括以下几个部分:

    • 概要信息:显示扫描的目标URL、扫描开始时间、扫描的插件和主题数量等。
    • 漏洞信息:列出发现的漏洞及其严重程度。
    • 发现的用户:显示扫描期间发现的用户信息。
    • 发现的插件和主题:列出扫描期间发现的插件和主题信息。
      示例输出:
    [+] URL: http://example.com/
    [+] Started: 2023-12-24 10:00:00
    [+] Interesting Finding: Vulnerable Plugin (PluginName) - Critical
    [+] Interesting Finding: Vulnerable Theme (ThemeName) - High
    [+] Identified User: admin
    [+] Identified User: editor
    [+] Identified Plugin: Plugin1
    [+] Identified Plugin: Plugin2
    [+] Identified Theme: Theme1
    [+] Identified Theme: Theme2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    详细报告
    WPScan还支持生成详细的HTML报告,以便更好地展示扫描结果。生成报告的功能需要安装额外的依赖(如Ruby Gems中的terminal-tablehtmlentities),并使用--generate-report参数来指定报告生成的路径。
    示例应用:

    wpscan --url http://example.com --generate-report wpscan_report.html
    
    • 1

    上述命令将生成一个名为"wpscan_report.html"的HTML报告,其中包含了扫描结果的详细信息。
    报告内容
    WPScan生成的HTML报告包含了丰富的内容,涵盖了扫描的各个方面,如目标信息、漏洞详情、插件和主题信息等。报告还以图表和表格的形式直观地展示了扫描结果。

    示例报告内容:

    • 目标信息:显示扫描的目标URL、扫描开始时间和结束时间等。

    • 漏洞详情:列出所有发现的漏洞及其详细信息,包括漏洞名称、CVE编号、严重程度等。

    • 用户信息:显示扫描期间发现的用户信息。

    • 插件和主题:列出扫描期间发现的插件和主题信息,包括名称、版本号、漏洞等级等。

    • 图表和统计信息:以图表和表格的形式展示扫描结果的概要信息和统计数据,如漏洞分布、漏洞严重程度等等。

    以上只是WPScan输出和报告生成的一些示例,实际使用中还有更多选项和功能可供选择。通过灵活运用这些选项和功能,用户可以根据需要获取详细的扫描结果,并生成形式多样的报告,以便更好地理解和应对安全风险。

    需要注意的是,WPScan仅提供扫描结果和报告,用户仍需根据扫描结果采取相应的安全措施,修复漏洞和加固网站。扫描结果仅作为参考,用户应自行评估漏洞的严重程度和风险,并根据实际情况进行修复和改进。

    希望本文对您理解WPScan的输出和报告生成功能,并在实际应用中提供帮助。通过合理利用WPScan的输出和报告功能,您将能更好地评估和加强WordPress网站的安全性,确保其免受潜在的风险和攻击。

  • 相关阅读:
    Android Profiler入门与实践
    【前端】CSS(1) —— CSS的基本语法和一些简单的选择器
    C++day7模板、异常、auto关键字、lambda表达式、数据类型转换、STL、list、文件操作
    求二进制中1的个数的三种方法
    Linux系列之进程管理
    Tekton 设计简介 及 实践
    李彦宏回顾大模型重构百度这一年
    IDEA代码重构技巧--抽取类和接口
    ESP32设备通信-LoRa通信
    WinUI 3 踩坑记:第一个窗口
  • 原文地址:https://blog.csdn.net/love6a6/article/details/136298177