Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
p4wned — Perforce सुरक्षा अनुसंधान और उपकरण - CVE-2026-6043 | Kitploit
उपकरण/GitHubGitHub/flyingllama87/p4wned
टोहीभेद्यता स्कैनरवेब भेद्यता स्कैनरशोषण फ्रेमवर्कपासवर्ड हमलेशोषणजानकारी एकत्र करनापेनिट्रेशन टेस्टिंगगलत कॉन्फ़िगरेशन
GitHubflyingllama87/p4wned

p4wned

Perforce सुरक्षा अनुसंधान और उपकरण - CVE-2026-6043

22 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखेंवेबसाइट

P4WNED (CVE-2026-6043)

Perforce (Helix Core) सुरक्षा अनुसंधान उपकरण और nuclei टेम्पलेट्स।

शोध लेख: https://morganrobertson.net/p4wned/

कृपया पूर्ण विवरण के लिए उपरोक्त पढ़ें।

केवल अधिकृत लक्ष्य। अपने स्वयं के सर्वर पर या स्पष्ट लिखित अनुमति से उपयोग करें।

इच्छित दर्शक: Perforce सर्वर प्रशासक, पैठ परीक्षक, सुरक्षा इंजीनियर

मई 2026 अपडेट: Perforce 2026.1 जारी कर दिया गया है। यह संस्करण सुरक्षित डिफ़ॉल्ट सेटिंग्स के साथ आता है! डेवलपर IP की सुरक्षा के लिए इसे जारी होते देख बहुत खुशी हुई। यहाँ और पढ़ें।

नोट: ये उपकरण CVE-2026-6043 से उत्पन्न गलत कॉन्फ़िगरेशन को स्कैन करते हैं।


आवश्यकताएँ

उपकरणआवश्यकताएँ
p4wned.pyPython 3, p4 CLI बाइनरी (नीचे देखें)
p4ghost.pyPython 3, p4 CLI बाइनरी, स्थानीय p4d इंस्टेंस (नीचे सेटअप देखें)
p4-auth-hammerg++, Perforce C++ API, OpenSSL 1.1.1 (देखें p4-auth-hammer/README.md)
JavaScript उपकरणNode.js (कोई बाहरी निर्भरता नहीं)
Nuclei टेम्पलेट्सNuclei v3+
Metasploit मॉड्यूलMetasploit Framework

p4 बाइनरी प्राप्त करना (p4wned.py और p4ghost.py के लिए आवश्यक):

root@kitploit:~
# Perforce उपयोग की शर्तों के अधीन: https://www.perforce.com/legal
wget https://ftp.perforce.com/perforce/r25.2/bin.linux26x86_64/p4
chmod +x p4

पृष्ठभूमि

Perforce सर्वर एक कस्टम बाइनरी TCP प्रोटोकॉल (डिफ़ॉल्ट पोर्ट 1666) का प्रदर्शन करते हैं। कई इंस्टॉलेशन असुरक्षित डिफ़ॉल्ट सेटिंग्स के साथ आते हैं — बिना प्रमाणीकरण के उपयोगकर्ता सूची, सर्वर जानकारी का खुलासा, सुलभ रिमोट डिपॉट, कोई पासवर्ड आवश्यकता नहीं, और लॉगिन प्रयासों पर कोई दर-सीमा नहीं। यहाँ सभी उपकरण बिना क्रेडेंशियल की आवश्यकता के इन डिफ़ॉल्ट का शोषण करते हैं।


उपकरण

p4wned.py — पूर्ण सुरक्षा स्कैनर

प्राथमिक स्कैनर। उपयोगकर्ताओं को सूचीबद्ध करने, क्रेडेंशियल का परीक्षण करने, डिपॉट सूचीबद्ध करने और एक रिपोर्ट तैयार करने के लिए p4 CLI बाइनरी का उपयोग करता है।

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

विकल्प:

फ़्लैगविवरण
-bruteबल प्रयोग मोड सक्षम करें — सभी खोजे गए उपयोगकर्ता खातों के विरुद्ध पासवर्ड का परीक्षण करता है
-auditविस्तृत ऑडिट मोड — कमजोरी मिलने के बाद भी सभी उपयोगकर्ताओं का परीक्षण जारी रखता है
-parallel Nसमानांतर पासवर्ड प्रयासों की संख्या (डिफ़ॉल्ट: 1)

कॉन्फ़िग (स्क्रिप्ट के शीर्ष पर संपादित करें):

यह क्या करता है:

  • ASCII बनाम यूनिकोड सर्वर मोड का पता लगाता है
  • उपयोगकर्ताओं की सूची बनाता है (यदि run.users.authorize=0)
  • खाली पासवर्ड और ज्ञात/सामान्य क्रेडेंशियल का परीक्षण करता है
  • डिपॉट नाम और हाल की फ़ाइल पथों के नमूने सूचीबद्ध करता है
  • समझौता किए गए खातों पर super समूह सदस्यता की जाँच करता है
  • एक संरचित टेक्स्ट रिपोर्ट आउटपुट करता है

कंसोल आउटपुट:

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

रिपोर्ट फ़ाइल (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 उपयोगकर्ता के माध्यम से बिना प्रमाणीकरण के रिमोट डिपॉट एक्सेस का परीक्षण करता है। शोषण स्थानीय रूप से एक हमलावर-नियंत्रित p4d इंस्टेंस चलाकर काम करता है — लक्ष्य सर्वर सर्वर-टू-सर्वर प्रोटोकॉल के भाग के रूप में उससे वापस जुड़ता है, इस प्रक्रिया में अपनी डिपॉट फ़ाइल सूची को लीक करता है।

सेटअप (एक बार):

root@kitploit:~
# Perforce उपयोग की शर्तों के अधीन: 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

# पोर्ट 1818 पर एक सादा ASCII p4d प्रारंभ करें (हमलावर के सर्वर के रूप में उपयोग किया जाता है)
mkdir p4root_attacker
./p4d -r ./p4root_attacker -p 1818 -d

# यूनिकोड लक्ष्यों के लिए एक अलग पोर्ट (1819) पर यूनिकोड p4d प्रारंभ करें
mkdir p4root_attacker_unicode
./p4d -r ./p4root_attacker_unicode -xi   # यूनिकोड मोड में बदलें
./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:~
# ऊपर दिए गए स्थानीय हमलावर सर्वरों का उपयोग करके उदाहरण आह्वान
python3 p4ghost.py targets.txt -nonunicodeport 1818 -unicodeport 1819

आर्गुमेंट्स:

प्रभावित संस्करण: security < 4 वाले सभी 2025.1 से नीचे के संस्करण (डिफ़ॉल्ट 0 है)।


p4-auth-hammer — बल प्रयोग PoC (C++)

प्रूफ-ऑफ-कॉन्सेप्ट दर्शाता है कि p4d जब security < 3 होता है तो प्रभावी ढंग से प्रमाणीकरण प्रयासों को दर-सीमित नहीं करता है। Perforce C++ API का उपयोग करके एक खाते के विरुद्ध प्रति मिनट 300,000 से अधिक लॉगिन प्रयास प्राप्त करता है।

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

बिल्ड (Perforce C++ API और OpenSSL 1.1.1 आवश्यक — पूर्ण सेटअप के लिए p4-auth-hammer/README.md देखें):

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

मोड:

  • डिफ़ॉल्ट: प्रत्यक्ष पासवर्ड प्रमाणीकरण (security < 3)। दर-सीमा पूरी तरह से बायपास हो जाती है। >300,000 प्रयास/मिनट।
  • -ticketauth: टिकट-आधारित लॉगिन (security >= 3)। इस स्तर पर दर-सीमा (dm.user.loginattempts) सक्रिय है।

स्वचालित रूप से SSL और यूनिकोड सर्वर का पता लगाता है। अधिकतम थ्रूपुट के लिए स्वचालित रूप से थ्रेड गणना को ट्यून करता है।

उपचार: p4 configure set security=3 (या 4)। पूर्ण विवरण के लिए p4-auth-hammer/README.md देखें।


JavaScript उपकरण

स्टैंडअलोन Node.js स्क्रिप्ट। Node.js stdlib से परे कोई निर्भरता नहीं। सभी स्क्रिप्ट स्वचालित रूप से SSL बनाम सादा TCP और ASCII बनाम यूनिकोड सर्वर मोड का पता लगाती हैं — किसी फ़्लैग की आवश्यकता नहीं।

लक्ष्य फ़ाइल प्रारूप: host:port प्रति पंक्ति एक, छोड़े जाने पर पोर्ट डिफ़ॉल्ट रूप से 1666 होता है। # से शुरू होने वाली पंक्तियों को अनदेखा किया जाता है।

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

स्वचालित पहचान: पहले सादा TCP प्रयास किया जाता है। यदि सर्वर Perforce SSL त्रुटि संदेश ("Failed client connect, server using SSL") के साथ प्रतिक्रिया करता है तो कनेक्शन rejectUnauthorized: false (स्व-हस्ताक्षरित प्रमाणपत्र स्वीकार करता है) के साथ TLS पर पुनः प्रयास किया जाता है। पहले ASCII मोड प्रयास किया जाता है; यदि सर्वर यूनिकोड त्रुटि संदेश लौटाता है तो कनेक्शन unicode पैरामीटर के साथ पुनः प्रयास किया जाता है।


perforce-users.js — उपयोगकर्ता गणना

बिना प्रमाणीकरण के सभी उपयोगकर्ता खातों को सूचीबद्ध करने के लिए run.users.authorize=0 (डिफ़ॉल्ट) का शोषण करता है।

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

आउटपुट: [host:port] [tcp|ssl] username <email> "Full Name"


perforce-info.js — सर्वर जानकारी प्रकटीकरण

सर्वर संस्करण, आंतरिक पता, रूट पथ और लाइसेंस स्ट्रिंग निकालने के लिए dm.info.hide=0 (डिफ़ॉल्ट) का शोषण करता है।

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

आउटपुट:

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 — पासवर्ड रहित खाता पहचान

बिना पासवर्ड सेट वाले उपयोगकर्ता खाते ढूँढ़ता है। उपयोगकर्ता रिकॉर्ड में Password फ़ील्ड की अनुपस्थिति का पता लगाने के लिए टैग किए गए आउटपुट प्रारूप (tag पैरामीटर) का उपयोग करता है। पासवर्ड रहित खाते सीधे बिना प्रमाणीकरण के लॉगिन की अनुमति देते हैं।

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

आउटपुट: [host:port] [tcp|ssl] [PASSWORDLESS] username <email> "Full Name"


perforce-remote.js — रिमोट डिपॉट फ़ाइल गणना

बिना प्रमाणीकरण के डिपॉट फ़ाइल पथ और चेंज नंबर निकालने के लिए rmt-DbPipe सर्वर-टू-सर्वर RPC के माध्यम से छिपे हुए remote उपयोगकर्ता का शोषण करके db.rev तालिका को सीधे पढ़ता है। प्रभावित संस्करण: 2025.1 से नीचे security < 4 के साथ।

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

आउटपुट:

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 — वैश्विक कुंजी गणना

Perforce सर्वर से वैश्विक कुंजी/काउंटर मान निकालता है। कुंजियों में बिल्ड नंबर, आंतरिक संस्करण स्ट्रिंग और कॉन्फ़िगरेशन हो सकते हैं।

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

आउटपुट: [host:port] [tcp|ssl] keyname = value


Nuclei टेम्पलेट्स

Nuclei के लिए टेम्पलेट्स। सभी टेम्पलेट JavaScript पेलोड निष्पादित करने से पहले एक Perforce सर्वर की उपस्थिति की पुष्टि करने के लिए TCP गेट चरण का उपयोग करते हैं। टेम्पलेट्स JavaScript उपकरणों के समान स्वचालित पहचान दृष्टिकोण का उपयोग करते हैं।

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

पहचान

टेम्पलेटआईडीविवरण
perforce-detect.yamlperforce-detectionबाइनरी प्रोटोकॉल हैंडशेक के माध्यम से Perforce सर्वर का पता लगाता है। गंभीरता: जानकारी।

कमजोरी टेम्पलेट्स

सीमाएँ: कोई SSL समर्थन नहीं, केवल पोर्ट 1666। अधिक जानकारी के लिए javascript उपकरण देखें।


Metasploit मॉड्यूल

Metasploit Framework के लिए तीन सहायक स्कैनर मॉड्यूल, साथ ही एक साझा लाइब्रेरी मिक्सिन जो Perforce बाइनरी प्रोटोकॉल को संभालता है। ये मॉड्यूल ऊपर दिए गए स्टैंडअलोन उपकरणों के समान कमजोरियों को कवर करते हैं — उपयोगकर्ता गणना, पासवर्ड रहित खाता पहचान, और रिमोट डिपॉट शोषण।

सभी मॉड्यूल स्वचालित रूप से ASCII बनाम यूनिकोड सर्वर मोड का पता लगाते हैं। SSL समर्थित है।

मॉड्यूलविवरण
auxiliary/scanner/perforce/perforce_user_enum

स्रोत फ़ाइलें metasploit/ निर्देशिका में हैं। Metasploit Framework में एक PR प्रस्तुत किया गया है।


त्वरित उपचार संदर्भ:

टूल डाउनलोड करें
चरविवरण
INPUT_FILEलक्ष्य सूची (ip:port, प्रति पंक्ति एक) — डिफ़ॉल्ट perforce-servers.txt
P4_CMDp4 बाइनरी का पथ — डिफ़ॉल्ट ./p4
TOP_PASSWORDS_FILEबल प्रयोग के लिए वर्डलिस्ट — डिफ़ॉल्ट top-passwords.txt
KNOWN_CREDS_FILEपहले प्रयास करने के लिए ज्ञात क्रेडेंशियल जोड़े
REPORT_FILEआउटपुट रिपोर्ट पथ
फ़्लैगविवरण
input_fileलक्ष्य सूची (ip:port, प्रति पंक्ति एक)
-skipnolicenseउन सर्वरों को छोड़ें जो Server license: none लौटाते हैं
-report FILEआउटपुट रिपोर्ट पथ
-p4cmd PATHp4 बाइनरी का पथ (डिफ़ॉल्ट ./p4)
-unicodeport PORTहमलावर के सर्वर के रूप में उपयोग करने के लिए स्थानीय यूनिकोड p4d पोर्ट
-nonunicodeport PORTस्थानीय गैर-यूनिकोड p4d पोर्ट
-timeout SECSकमांड टाइमआउट
टेम्पलेटआईडीगंभीरताCVSSविवरण
perforce-user-extraction.yamlperforce-user-enumerationमध्यम5.3बिना प्रमाणीकरण के उपयोगकर्ता सूची — ASCII और यूनिकोड सर्वर। उपयोगकर्ता नाम, ईमेल, पूर्ण नाम निकालता है।
perforce-info-disclosure.yamlperforce-info-disclosureमध्यम5.3सर्वर जानकारी प्रकटीकरण — संस्करण, आंतरिक पता, रूट पथ, लाइसेंस।
perforce-passwordless-users.yamlperforce-passwordless-usersमहत्वपूर्ण9.1बिना पासवर्ड सेट वाले खाते ढूँढ़ता है।
perforce-remote-depot-unauth.yamlperforce-remote-depot-access-unauthउच्च7.5remote उपयोगकर्ता के माध्यम से रिमोट डिपॉट एक्सेस — ASCII और यूनिकोड सर्वर। फ़ाइल पथ और चेंज नंबर निकालता है। प्रभावित: < 2025.1 जिसमें security < 4।
बिना प्रमाणीकरण के उपयोगकर्ता सूची — उपयोगकर्ता नाम, ईमेल, पूर्ण नाम और अंतिम पहुँच समय निकालता है।
auxiliary/scanner/perforce/perforce_passwordlessबिना पासवर्ड सेट वाले खातों का पता लगाता है।
auxiliary/scanner/perforce/perforce_remote_depotछिपे हुए remote उपयोगकर्ता के माध्यम से रिमोट डिपॉट फ़ाइल गणना। प्रभावित: < 2025.1 जिसमें security < 4।
खोजसमाधान
उपयोगकर्ता गणनाp4 configure set run.users.authorize=1
जानकारी प्रकटीकरणp4 configure set dm.info.hide=1
पासवर्ड रहित उपयोगकर्तासभी खातों के लिए पासवर्ड सेट करें; p4 configure set dm.user.noautocreate=2
रिमोट डिपॉट एक्सेस2025.1+ में अपग्रेड करें, या p4 configure set security=4
प्रमाणीकरण दर सीमाp4 configure set security=3 (dm.user.loginattempts के माध्यम से प्रभावी लॉकआउट सक्षम करता है)
उपरोक्त सभीp4 configure set security=4 साथ ही ऊपर दी गई व्यक्तिगत सेटिंग्स — security=4 रिमोट शोषण को ठीक करता है लेकिन उपयोगकर्ता सूची या सर्वर जानकारी नहीं छिपाता है