Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/flyingllama87/p4wned
الاستطلاعماسحات الثغرات الأمنيةماسحات الثغرات الأمنية للويبأطر الاستغلالهجمات كلمات المرورالاستغلالجمع المعلوماتاختبار الاختراقسوء التكوين
GitHubflyingllama87/p4wned

p4wned

أبحاث وأدوات أمان Perforce - CVE-2026-6043

2منذ 2 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودعالموقع الإلكتروني

P4WNED (CVE-2026-6043)

أدوات أبحاث أمان بيرفورس (Helix Core) وقوالب nuclei.

مقالة البحث: https://morganrobertson.net/p4wned/

يرجى قراءة المقالة أعلاه للحصول على التفاصيل الكاملة.

أهداف مصرح بها فقط. استخدمها على خوادمك الخاصة أو بإذن كتابي صريح.

الجمهور المستهدف: مدراء خوادم بيرفورس، مختبرو الاختراق، مهندسو الأمان.

تحديث مايو 2026: تم إصدار بيرفورس 2026.1. هذا الإصدار يأتي بإعدادات افتراضية آمنة! سعيد جدًا برؤية هذا الإصدار لحماية الملكية الفكرية للمطورين. اقرأ المزيد هنا.

ملاحظة: تفحص هذه الأدوات التكوينات الخاطئة الناتجة عن CVE-2026-6043.


المتطلبات

الأداةتتطلب
p4wned.pyبايثون 3، ثنائي p4 CLI (انظر أدناه)
p4ghost.pyبايثون 3، ثنائي p4 CLI، مثيل p4d محلي (انظر الإعداد أدناه)
p4-auth-hammerg++، واجهة برمجة تطبيقات C++ لبيرفورس، OpenSSL 1.1.1 (انظر p4-auth-hammer/README.md)
أدوات جافاسكريبتNode.js (بدون تبعيات خارجية)
قوالب NucleiNuclei v3+
وحدات MetasploitMetasploit Framework

الحصول على ثنائي p4 (مطلوب بواسطة p4wned.py و 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

الخلفية

تعرض خوادم بيرفورس بروتوكول TCP ثنائي مخصص (المنفذ الافتراضي 1666). تأتي العديد من التثبيتات بإعدادات افتراضية غير آمنة — سرد المستخدمين دون مصادقة، كشف معلومات الخادم، مستودعات بعيدة قابلة للوصول، عدم وجود متطلبات كلمة مرور، وعدم وجود حد لمعدل محاولات تسجيل الدخول. تستغل جميع الأدوات هنا هذه الإعدادات الافتراضية دون الحاجة إلى بيانات اعتماد.


الأدوات

p4wned.py — الماسح الأمني الكامل

الماسح الرئيسي. يستخدم ثنائي p4 CLI لتعداد المستخدمين، اختبار بيانات الاعتماد، سرد المستودعات، وإنتاج تقرير.

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

الخيارات:

العلامةالوصف
-bruteتمكين وضع القوة الغاشمة — يختبر كلمات المرور ضد جميع حسابات المستخدمين المكتشفة
-auditوضع التدقيق الشامل — يواصل اختبار جميع المستخدمين حتى بعد العثور على ثغرة أمنية
-parallel Nعدد محاولات كلمة المرور المتوازية (الافتراضي: 1)

التكوين (قم بتحريره في أعلى السكربت):

ما يفعله:

  • يكشف وضع الخادم ASCII مقابل unicode
  • يعدد المستخدمين (إذا كان run.users.authorize=0)
  • يختبر كلمات المرور الفارغة وبيانات الاعتماد المعروفة/الشائعة
  • يسرد أسماء المستودعات ويأخذ عينات من مسارات الملفات الحديثة
  • يتحقق من عضوية مجموعة super في الحسابات المخترقة
  • يخرج تقرير نصي منظم

مخرجات وحدة التحكم:

root@kitploit:~
$ python3 p4wned.py

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

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

 · يكتشف حسابات المستخدمين، كلمات المرور الفارغة، بيانات الاعتماد الضعيفة، والإعدادات الغبية.
 · يؤكد الوصول إلى المستودعات وحسابات المستخدمين "super" القيمة.
 · ينتج تقريرًا مرتبًا حتى تتمكن من إصلاح الفوضى قبل وصول المخربين

أهداف مصرح بها فقط، يا أخي. استخدمها على خوادمك الخاصة أو على مسؤوليتك الخاصة.
==============================================================================


=== المعالجة: 192.0.2.10:1666 (perforce.example-studio.com) ===

[INFO] جارٍ اختبار المستخدم 'super' لمشكلات أمنية...
[INFO] المستخدم 'super' غير موجود.

[INFO] قائمة المستخدمين قابلة للوصول: build, designer1, jsmith, lead_prog, svc_build

[INFO] جارٍ اختبار المستخدم 'build' لمشكلات أمنية...
[INFO] جارٍ اختبار المستخدم 'designer1' لمشكلات أمنية...
[INFO] جارٍ اختبار المستخدم 'jsmith' لمشكلات أمنية...
[INFO] جارٍ اختبار المستخدم 'lead_prog' لمشكلات أمنية...
[INFO] جارٍ اختبار المستخدم 'svc_build' لمشكلات أمنية...

[INFO] تمت إضافة بيانات اعتماد جديدة لـ 192.0.2.10:1666: user='svc_build', password='None'
[INFO] جارٍ حفظ بيانات الاعتماد المحدثة بعد العثور على بيانات اعتماد صالحة لـ svc_build على 192.0.2.10:1666

[INFO] تم حفظ التقرير إلى perforce-report-p4wned-1775436520.txt

ملف التقرير (perforce-report-p4wned-*.txt):

root@kitploit:~
تقرير فحص أمان بيرفورس

الخادم: 192.0.2.10:1666 (perforce.example-studio.com)
  الحالة: غير آمن
  ملاحظة: غير آمن عبر المستخدم 'svc_build' (بدون كلمة مرور)

  == المستودعات ==
مستودع depot 2025/11/03 local depot/... 'المستودع الافتراضي'
مستودع assets 2024/08/19 local assets/... 'مستودع الأصول'

  == آخر 10 تغييرات ==
التغيير 1047 بتاريخ 2025/11/03 14:22:11 بواسطة lead_prog@DESKTOP-BUILD01

        دمج فرع feature/ai-pathfinding

التغيير 1046 بتاريخ 2025/11/03 09:44:38 بواسطة designer1@DESKTOP-ART02

        تم تحديث صادرات هيكل الشخصية

  == تفاصيل المستودع ==

  المستودع: depot
    -- الدلائل الجذرية --
    //depot/Source
    //depot/Content
    //depot/Config
    هذا المستودع ليس مستودعًا لـ Unreal Engine.

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

تقرير ملخص

الخادم: 192.0.2.10:1666 - غير آمن - ملاحظة: غير آمن عبر المستخدم 'svc_build' (بدون كلمة مرور)

p4ghost.py — ماسح المستودعات البعيدة

يختبر الوصول غير المصادق إلى المستودعات البعيدة عبر المستخدم المخفي remote. يعمل الاستغلال عن طريق تشغيل مثيل p4d محلي يتحكم به المهاجم — يتصل الخادم الهدف به كجزء من بروتوكول الخادم إلى الخادم، مما يؤدي إلى تسريب قائمة ملفات المستودع.

الإعداد (لمرة واحدة):

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

# ابدأ p4d عادي (ASCII) على المنفذ 1818 (يُستخدم كخادم المهاجم)
mkdir p4root_attacker
./p4d -r ./p4root_attacker -p 1818 -d

# ابدأ p4d بنمط unicode على منفذ منفصل (1819) للأهداف التي تستخدم unicode
mkdir p4root_attacker_unicode
./p4d -r ./p4root_attacker_unicode -xi   # تحويل إلى نمط unicode
./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

الوسائط:

الإصدارات المتأثرة: جميع الإصدارات الأقل من 2025.1 مع security < 4 (الافتراضي هو 0).


p4-auth-hammer — إثبات مفهوم القوة الغاشمة (C++)

إثبات مفهوم يوضح أن p4d لا يحد بشكل فعال من معدل محاولات المصادقة عندما يكون security < 3. يحقق أكثر من 300,000 محاولة تسجيل دخول في الدقيقة ضد حساب واحد باستخدام واجهة برمجة تطبيقات C++ لبيرفورس.

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

البناء (يتطلب واجهة برمجة تطبيقات C++ لبيرفورس و 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 و unicode. يضبط عدد الخيوط تلقائيًا لتحقيق أقصى إنتاجية.

الإصلاح: p4 configure set security=3 (أو 4). انظر p4-auth-hammer/README.md للحصول على التفاصيل الكاملة.


أدوات جافاسكريبت

نصوص Node.js المستقلة. لا توجد تبعيات خارجية تتجاوز مكتبة Node.js القياسية. تكتشف جميع النصوص تلقائيًا وضع SSL مقابل TCP العادي ووضع خادم ASCII مقابل unicode — لا حاجة إلى علامات.

تنسيق ملف الهدف: host:port سطر واحد لكل هدف، المنفذ الافتراضي 1666 إذا تم حذفه. يتم تجاهل الأسطر التي تبدأ بـ #.

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

الاكتشاف التلقائي: يتم تجربة TCP العادي أولاً. إذا استجاب الخادم برسالة خطأ SSL في بيرفورس ("Failed client connect, server using SSL") يتم إعادة محاولة الاتصال عبر TLS مع rejectUnauthorized: false (يقبل الشهادات الموقعة ذاتيًا). يتم تجربة وضع ASCII أولاً؛ إذا أرجعالخادم رسالة خطأ unicode، يتم إعادة محاولة الاتصال مع معلمة 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]
  الإصدار    : P4D/LINUX26X86_64/2024.2/2877946
  عنوان الخادم: internal-hostname:1666
  جذر الخادم: /opt/perforce/p4root
  الترخيص    : Acme Corp

perforce-passwordless.js — كشف الحسابات بدون كلمة مرور

يبحث عن حسابات المستخدمين التي لا تحتوي على كلمة مرور محددة. يستخدم تنسيق الإخراج المُوسوم (معلمة tag) لاكتشاف غياب حقل Password في سجلات المستخدم. تسمح الحسابات بدون كلمة مرور بتسجيل الدخول المباشر دون مصادقة.

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

الإخراج: [host:port] [tcp|ssl] [بدون كلمة مرور] username <email> "Full Name"


perforce-remote.js — تعداد ملفات المستودع البعيد

يستغل المستخدم المخفي remote عبر استدعاء الإجراء البعيد (RPC) بين الخوادم rmt-DbPipe لقراءة جدول db.rev مباشرة، واستخراج مسارات ملفات المستودع وأرقام التغييرات دون مصادقة. الإصدارات المتأثرة: أقل من 2025.1 مع security < 4.

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

الإخراج:

root@kitploit:~
[host:port] [tcp|ssl] 42 ملف(ات) في المستودع:
  [change=7] [2024-11-03] //depot/src/main.cpp
  [change=3] [2024-09-12] //depot/config/database.yml

perforce-keys.js — تعداد المفاتيح العمومية

يستخرج قيم المفاتيح/العدادات العمومية من خوادم بيرفورس. يمكن أن تحتوي المفاتيح على أرقام بناء، وسلاسل إصدار داخلي، وتكوين.

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

الإخراج: [host:port] [tcp|ssl] keyname = value


قوالب Nuclei

قوالب لـ Nuclei. تستخدم جميع القوالب خطوة بوابة TCP لتأكيد وجود خادم بيرفورس قبل تنفيذ حمولة جافاسكريبت. تستخدم القوالب نفس نهج الكشف التلقائي كأدوات جافاسكريبت.

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

الكشف

القالبالمعرفالوصف
perforce-detect.yamlperforce-detectionيكتشف خوادم بيرفورس عبر المصافحة بالبروتوكول الثنائي. الخطورة: معلوماتي.

قوالب الثغرات الأمنية

القيود: لا دعم لـ SSL، المنفذ 1666 فقط. راجع أدوات جافاسكريبت للمزيد.


وحدات Metasploit

ثلاث وحدات ماسحة مساعدة لـ Metasploit Framework، بالإضافة إلى مكتبة mixin مشتركة تتعامل مع بروتوكول بيرفورس الثنائي. تغطي هذه الوحدات نفس الثغرات الأمنية مثل الأدوات المستقلة أعلاه — تعداد المستخدمين، كشف الحسابات بدون كلمة مرور، واستغلال المستودعات البعيدة.

تكتشف جميع الوحدات تلقائيًا وضع خادم ASCII مقابل unicode. يتم دعم SSL.

الوحدةالوصف
auxiliary/scanner/perforce/perforce_user_enum

ملفات المصدر موجودة في دليل metasploit/. تم تقديم طلب سحب (PR) إلى Metasploit Framework.


مرجع سريع للإصلاح:

تنزيل الأداة
المتغيرالوصف
INPUT_FILEقائمة الأهداف (ip:port، سطر واحد لكل هدف) — الافتراضي perforce-servers.txt
P4_CMDالمسار إلى ثنائي p4 — الافتراضي ./p4
TOP_PASSWORDS_FILEقائمة كلمات المرور للقوة الغاشمة — الافتراضي top-passwords.txt
KNOWN_CREDS_FILEأزواج بيانات اعتماد معروفة لمحاولتها أولاً
REPORT_FILEمسار تقرير الإخراج
العلامةالوصف
input_fileقائمة الأهداف (ip:port، سطر واحد لكل هدف)
-skipnolicenseتخطى الخوادم التي ترجع Server license: none
-report FILEمسار تقرير الإخراج
-p4cmd PATHالمسار إلى ثنائي p4 (الافتراضي ./p4)
-unicodeport PORTمنفذ p4d المحلي بنمط unicode لاستخدامه كخادم المهاجم
-nonunicodeport PORTمنفذ p4d المحلي غير الخاص بـ unicode
-timeout SECSمهلة الأمر
القالبالمعرفالخطورةCVSSالوصف
perforce-user-extraction.yamlperforce-user-enumerationمتوسطة5.3سرد المستخدمين دون مصادقة — خوادم ASCII و unicode. يستخرج أسماء المستخدمين، البريد الإلكتروني، الأسماء الكاملة.
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.5الوصول إلى المستودع البعيد عبر المستخدم remote — خوادم ASCII و unicode. يستخرج مسارات الملفات وأرقام التغييرات. المتأثرة: < 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 يصلح الاستغلال البعيد لكنه لا يخفي قوائم المستخدمين أو معلومات الخادم