使用Kali Linux进行Web应用程序信息收集
WordPress 是世界上最受欢迎的内容管理系统(CMS)。如果你想知道什么是CMS,我想用一个简单的类比来解释。在建立网站时,最初我们可以通过使用HTML、JavaScript和CSS的硬编码来实现。这就像在终端或命令行界面中运行Kali Linux程序。如果你对这种编程语言一无所知,那就很不方便。
像WordPress这样的内容管理系统平台让我们非常方便。它就像在运行一个图形用户界面的Kali Linux程序。你只需点击一些东西。WordPress允许没有技术技能或网页编程语言知识的网络管理员专注于构建内容。它还有大量的主题和插件。但有时,WordPress本身、主题和插件中会发现安全漏洞。
我们将详细学习以下主题:
- 获取 WPScan 的 API 令牌
- 识别目标的WordPress版本
- 列举一个WordPress主题
- 列举 WordPress 插件
- 列举一个WordPress用户
- 扫描WordPress、主题和插件的漏洞
准备
WPScan 是免费的,并且已经预装在 Kali Linux 中。但如果你的机器上没有 WPScan,你可以通过 apt install 安装它,或者在 GitHub 上下载,网址为 https://github.com/wpscanteam/wpscan。尽管 WPScan 是 Kali Linux 中的开源工具,但 WPScan 与其他免费工具之间存在差异。要使用 WPScan 漏洞扫描器需要额外的一些工作,我们需要一个 WPScan API 令牌。这个令牌是免费的,你只需在 https://wpscan.com 创建一个账户。
- 请通过点击右上角的开始使用按钮在https://wpscan.com注册一个账户。
图 . WPScan.com 注册
然后,根据下面所示填写新用户注册表格上的任何必填信息。
图 . WPScan.com 用户注册表单
- 一旦您提交您的注册信息,您需要确认您的电子邮件帐户。打开您的邮箱,点击由wpscan.com发送的确认链接。
图. WPScan电子邮件确认
- 一旦您的电子邮件确认成功,请点击您的个人资料菜单。
图形 . WPScan.com 个人资料菜单
您将在下面的图中看到您的API令牌。复制该令牌并将其保存到文件中。稍后我们将在终端中使用它。
图 . WPScan.com API 令牌值
在我们进入Kali Linux中的WPScan教程之前,我想介绍一下您可以在wpscan.com上获取的信息。开发者对这个工具非常认真,不仅仅是构建一个免费工具。他们的工作非常有趣。
WPScan 服务状态
在WPScan下拉菜单栏中名为为开发者的部分,有一个链接到监控WPScan系统运行状态的页面,名为状态。
图 . WPScan.com 开发者菜单
当我们进行渗透测试时,这份报告是重要的,我们可能会遇到一些错误。如果在 Kali Linux 上运行 WPScan 时发现错误,您首先要通过访问 https://status.wpscan.com/ 确保系统在线。
图 . WPScan.com 服务状态
当一切运行良好时,您将看到与上图类似的状态。
WPScan - WordPress 内容管理系统漏洞
WPScan 还发布了关于每个版本发现的 WordPress 漏洞的信息。
图 . WordPress漏洞
您可以查看列表中每个漏洞的详细信息。例如,下面的图表显示,WordPress 6.1.1 或更早版本存在通过 DNS 重绑定进行的未经身份验证的盲 SSRF 漏洞。
图示。WordPress 6.1.1 漏洞信息
WPScan - WordPress主题和插件漏洞
WPScan 还发布主题和插件的漏洞信息。
图表. WordPress 主题漏洞
图表. WordPress 插件漏洞
在Kali Linux上的WPScan教程
我假设您已经安装了WPScan和API令牌。首先,让我们看看可用的命令和WPScan的用法。运行以下命令以显示完整信息。
wpscan -hh图 . WPScan 在 Kali Linux 终端上
WPScan提供防火墙规避,通过对每个扫描使用用户代理随机化,使用以下参数。
--rua or --random-user-agent我还经常添加“强制”标志,以便在索引返回403错误代码或禁止错误时,WPScan将继续扫描。
--force为了启用漏洞扫描器功能,我们应该使用以下参数来定义我们的API令牌:
--api-token [TOKEN_VALUE]WPScan 支持三种不同格式的日志记录:JSON、CLI 和无颜色的 CLI。您可以通过以下命令定义输出文件名和格式,从而保存 WPScan 结果的输出:
-o or --output [FILENAME]
-f or --format [FORMAT]根据我们上面学习的WPScan命令,我们将尝试扫描一些WordPress目标,并枚举用户、漏洞插件和漏洞主题。为了进行枚举,我们应该使用以下参数:
-e or --enumerate [OPTION]我们目标的可选项有:
| 列出用户 |
| 列举易受攻击的插件 |
| 列举脆弱主题 |
现在,让我们将目标设置为 https://bssn.go.id 并使用 WPScan 扫描漏洞。要使用默认选项设置运行 WPScan,您可以简单地运行以下命令:
wpscan --url [URL]首先,WPScan将识别WordPress版本和发现的漏洞,其余内容取决于我们使用的枚举选项。
图 . WordPress 6.1.1 漏洞
如上图所示,我们的目标有一个WordPress版本6.1.1,该版本存在通过DNS重绑定的未认证盲SSR漏洞。详细信息在上面的图9中已显示。
WPScan 枚举用户
wpscan --rua --force --api-token [TOKEN] -e u -o user.txt -f cli --url [URL]图. WordPress 用户枚举
目标 bssn.go.id 有三个用户:admin-webbssn,adminbssn 和 operatorbssn。
WPScan 枚举插件漏洞
wpscan --rua --force --api-token [TOKEN] -e vp -o plugin.txt -f cli --url [URL]图 . WordPress 插件漏洞枚举
目标存在两个插件漏洞,如上图所示。其中一个,PHP对象注入,听起来很有趣。
WPScan 枚举主题漏洞
wpscan --rua --force --api-token [TOKEN] -e vt -o theme.txt -f cli --url [URL]图 . WordPress 主题漏洞枚举
我们的目标现在有四个主题漏洞,其中一个是 特权升级 漏洞,属于关键漏洞。
结论
我们学习了如何对 WordPress 网站进行漏洞扫描。请注意,我们在本教程中发现的漏洞尚未经过验证。在网络应用信息收集阶段,我们收集所有信息及可能存在的漏洞。然后,基于这些侦查结果,我们需要进行漏洞评估,以验证目标是否可以被攻击。
供您参考,我们上述提到的BSSN是印尼的一个政府机构,隶属于总统并对其负责。BSSN的任务是履行政府在网络安全和密码领域的职责,以协助总统执行政府职能。想象一下,作为一个网络安全领域的国家机构,居然会有如此脆弱的地方。















