Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
p4wned — Ricerca sulla sicurezza di Perforce e strumenti - CVE-2026-6043 | Kitploit
Strumenti/GitHubGitHub/flyingllama87/p4wned
RicognizioneScanner di VulnerabilitàScanner di Vulnerabilità WebFramework di ExploitAttacchi alle PasswordExploitRaccolta InformazioniPenetration TestingConfigurazione Errata
GitHubflyingllama87/p4wned

p4wned

Ricerca sulla sicurezza di Perforce e strumenti - CVE-2026-6043

22 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi RepositorySito web

P4WNED (CVE-2026-6043)

Strumenti di ricerca sulla sicurezza di Perforce (Helix Core) e nuclei templates.

Articolo di ricerca: https://morganrobertson.net/p4wned/

Leggi il link sopra per i dettagli completi.

Solo destinazioni autorizzate. Usalo sui tuoi server o con esplicita autorizzazione scritta.

Destinatari: Amministratori di server Perforce, penetration tester, ingegneri della sicurezza

Aggiornamento maggio 2026: Perforce 2026.1 è stato rilasciato. Questa versione include impostazioni predefinite sicure! Siamo molto soddisfatti di questo rilascio per proteggere la proprietà intellettuale degli sviluppatori. Leggi di più qui.

Nota: Questi strumenti cercano le configurazioni errate risultanti da CVE-2026-6043.


Requisiti

StrumentoRichiede
p4wned.pyPython 3, binario CLI p4 (vedi sotto)
p4ghost.pyPython 3, binario CLI p4, istanza p4d locale (vedi setup sotto)
p4-auth-hammerg++, API C++ di Perforce, OpenSSL 1.1.1 (vedi p4-auth-hammer/README.md)
Strumenti JavaScriptNode.js (nessuna dipendenza esterna)
Nuclei templatesNuclei v3+
Moduli MetasploitMetasploit Framework

Acquisizione del binario p4 (richiesto da 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

Contesto

I server Perforce espongono un protocollo TCP binario personalizzato (porta predefinita 1666). Molte installazioni vengono fornite con impostazioni predefinite insicure — elenco utenti non autenticato, divulgazione di informazioni del server, depo remoti accessibili, nessun requisito di password e nessuna limitazione del tasso di tentativi di accesso. Tutti gli strumenti qui sfruttano queste impostazioni predefinite senza richiedere credenziali.


Strumenti

p4wned.py — Scanner di Sicurezza Completo

Lo scanner principale. Utilizza il binario CLI p4 per enumerare gli utenti, testare le credenziali, elencare i depo e produrre un report.

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

Opzioni:

FlagDescrizione
-bruteAbilita la modalità forza bruta — testa le password su tutti gli account utente scoperti
-auditModalità di audit approfondita — continua a testare tutti gli utenti anche dopo aver trovato una vulnerabilità
-parallel NNumero di tentativi di password paralleli (predefinito: 1)

Configurazione (modifica all'inizio dello script):

Cosa fa:

  • Rileva la modalità server ASCII vs unicode
  • Enumera gli utenti (se run.users.authorize=0)
  • Testa password vuote e credenziali note/comuni
  • Elenca i nomi dei depo e campiona i percorsi recenti dei file
  • Controlla l'appartenenza al gruppo super sugli account compromessi
  • Produce un report di testo strutturato

Output 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

File report (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 di Depo Remoto

Testa l'accesso remoto non autenticato ai depo tramite l'utente nascosto remote. L'exploit funziona eseguendo un'istanza p4d locale controllata dall'attaccante — il server target si riconnette ad essa come parte del protocollo server-to-server, perdendo nel processo l'elenco dei file del depo.

Setup (una tantum):

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

Argomenti:

Versioni interessate: Tutte le versioni precedenti alla 2025.1 con security < 4 (predefinito è 0).


p4-auth-hammer — Proof of Concept di Forza Bruta (C++)

Proof-of-concept che dimostra che p4d non limita efficacemente il tasso di tentativi di autenticazione quando security < 3. Raggiunge >300.000 tentativi di login al minuto contro un singolo account utilizzando l'API C++ di Perforce.

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

Compilazione (richiede API C++ di Perforce e OpenSSL 1.1.1 — vedi p4-auth-hammer/README.md per il setup completo):

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

Modalità:

  • Predefinita: autenticazione diretta con password (security < 3). La limitazione del tasso viene completamente bypassata. >300.000 tentativi/min.
  • -ticketauth: login basato su ticket (security >= 3). La limitazione del tasso (dm.user.loginattempts) è attiva a questo livello.

Rileva automaticamente server SSL e unicode. Ottimizza automaticamente il numero di thread per la massima produttività.

Rimedio: p4 configure set security=3 (o 4). Vedi p4-auth-hammer/README.md per i dettagli completi.


Strumenti JavaScript

Script Node.js autonomi. Nessuna dipendenza oltre alla libreria stdlib di Node.js. Tutti gli script rilevano automaticamente la modalità SSL vs TCP semplice e ASCII vs unicode del server — nessun flag richiesto.

Formato file target: host:port uno per riga, la porta predefinita è 1666 se omessa. Le righe che iniziano con # vengono ignorate.

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

Rilevamento automatico: Viene prima tentato TCP semplice. Se il server risponde con il messaggio di errore SSL di Perforce ("Failed client connect, server using SSL"), la connessione viene ritentata su TLS con rejectUnauthorized: false (accetta certificati autofirmati). Viene prima tentata la modalità ASCII; se il server restituisce il messaggio di errore unicode, la connessione viene ritentata con il parametro unicode.


perforce-users.js — Enumerazione Utenti

Sfrutta run.users.authorize=0 (predefinito) per elencare tutti gli account utente senza autenticazione.

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

Output: [host:port] [tcp|ssl] username <email> "Full Name"


perforce-info.js — Divulgazione Informazioni Server

Sfrutta dm.info.hide=0 (predefinito) per estrarre versione del server, indirizzo interno, percorso root e stringa della licenza.

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

Output:

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 — Rilevamento Account Senza Password

Trova account utente senza password impostata. Utilizza il formato di output con tag (parametro tag) per rilevare l'assenza del campo Password nei record utente. Gli account senza password consentono l'accesso diretto non autenticato.

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

Output: [host:port] [tcp|ssl] [PASSWORDLESS] username <email> "Full Name"


perforce-remote.js — Enumerazione File Depo Remoto

Sfrutta l'utente nascosto remote tramite l'RPC server-to-server rmt-DbPipe per leggere direttamente la tabella db.rev, estraendo percorsi di file del depo e numeri di change senza autenticazione. Versioni interessate: precedenti alla 2025.1 con security < 4.

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

Output:

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 — Enumerazione Chiavi Globali

Estrae valori di chiavi/contatori globali dai server Perforce. Le chiavi possono contenere numeri di build, stringhe di versione interne e configurazione.

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

Output: [host:port] [tcp|ssl] keyname = value


Nuclei Templates

Template per Nuclei. Tutti i template utilizzano un passaggio gate TCP per confermare la presenza di un server Perforce prima di eseguire il payload JavaScript. I template utilizzano lo stesso approccio di rilevamento automatico degli strumenti JavaScript.

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

Rilevamento

TemplateIDDescrizione
perforce-detect.yamlperforce-detectionRileva server Perforce tramite handshake del protocollo binario. Severità: info.

Template di Vulnerabilità

Limitazioni: Nessun supporto SSL, solo porta 1666. Vedi gli strumenti javascript per maggiori informazioni.


Moduli Metasploit

Tre moduli scanner ausiliari per Metasploit Framework, più una libreria mixin condivisa che gestisce il protocollo binario Perforce. Questi moduli coprono le stesse vulnerabilità degli strumenti autonomi sopra — enumerazione utenti, rilevamento account senza password e sfruttamento del depo remoto.

Tutti i moduli rilevano automaticamente la modalità server ASCII vs unicode. SSL è supportato.

ModuloDescrizione
auxiliary/scanner/perforce/perforce_user_enum

I file sorgente si trovano nella directory metasploit/. È stata inviata una PR al Metasploit Framework.


Riferimento rapido ai rimedi:

Scarica lo strumento
VariabileDescrizione
INPUT_FILEElenco target (ip:port, uno per riga) — predefinito perforce-servers.txt
P4_CMDPercorso del binario p4 — predefinito ./p4
TOP_PASSWORDS_FILEWordlist per forza bruta — predefinito top-passwords.txt
KNOWN_CREDS_FILECoppie di credenziali note da provare per prime
REPORT_FILEPercorso del report di output
FlagDescrizione
input_fileElenco target (ip:port, uno per riga)
-skipnolicenseSalta i server che restituiscono Server license: none
-report FILEPercorso del report di output
-p4cmd PATHPercorso del binario p4 (predefinito ./p4)
-unicodeport PORTPorta p4d unicode locale da usare come server dell'attaccante
-nonunicodeport PORTPorta p4d non unicode locale
-timeout SECSTimeout del comando
TemplateIDSeveritàCVSSDescrizione
perforce-user-extraction.yamlperforce-user-enumerationMedia5.3Elenco utenti non autenticato — server ASCII e unicode. Estrae nomi utente, email, nomi completi.
perforce-info-disclosure.yamlperforce-info-disclosureMedia5.3Divulgazione informazioni server — versione, indirizzo interno, percorso root, licenza.
perforce-passwordless-users.yamlperforce-passwordless-usersCritica9.1Trova account senza password impostata.
perforce-remote-depot-unauth.yamlperforce-remote-depot-access-unauthAlta7.5Accesso remoto al depo tramite utente remote — server ASCII e unicode. Estrae percorsi file e numeri di change. Interessati: < 2025.1 con security < 4.
Elenco utenti non autenticato — estrae nomi utente, email, nomi completi e ultimi orari di accesso.
auxiliary/scanner/perforce/perforce_passwordlessRileva account senza password impostata.
auxiliary/scanner/perforce/perforce_remote_depotEnumerazione file depo remoto tramite l'utente nascosto remote. Interessati: < 2025.1 con security < 4.
RiscontroCorrezione
Enumerazione utentip4 configure set run.users.authorize=1
Divulgazione informazionip4 configure set dm.info.hide=1
Utenti senza passwordImposta password per tutti gli account; p4 configure set dm.user.noautocreate=2
Accesso remoto al depoAggiorna a 2025.1+, oppure p4 configure set security=4
Limitazione tasso di autenticazionep4 configure set security=3 (abilita il blocco effettivo tramite dm.user.loginattempts)
Tutti i precedentip4 configure set security=4 più le singole impostazioni sopra — security=4 corregge l'exploit remoto ma non nasconde elenchi utenti o informazioni server