Cupshax یک اثبات مفهوم (PoC) برای بهرهبرداری از زنجیرهای از آسیبپذیریهای بحرانی در سیستم چاپ CUPS (Common UNIX Printing System) است. این ابزار توسط پژوهشگر امنیتی Rick de Jager توسعه یافته و در مخزن GitHub به آدرس RickdeJager/cupshax منتشر شده است.
زنجیرهٔ آسیبپذیریهای مورد استفاده در این بهرهبرداری شامل موارد زیر است:
CVE-2024-47176: در نسخههای تا ۲.۰.۱ از cups-browsed، سرویس به هر بستهای از هر منبعی اعتماد میکند و میتواند درخواستهای IPP به URLهای کنترلشده توسط مهاجم ارسال کند.Elastic+۲Medium+۲Deepwatch+۲
CVE-2024-47076: در نسخههای تا ۲.1b1 از libcupsfilters، عدم اعتبارسنجی مناسب ویژگیهای IPP بازگشتی از سرور IPP.Elastic+۲Medium+۲Deepwatch+۲
CVE-2024-47175: در نسخههای تا ۲.1b1 از libppd، عدم اعتبارسنجی ویژگیهای IPP هنگام نوشتن آنها به فایل PPD موقت.Elastic+۲Medium+۲Deepwatch+۲
CVE-2024-47177: در نسخههای تا ۲.۰.۱ از cups-filters، امکان اجرای فرمان دلخواه از طریق پارامتر FoomaticRIPCommandLine در فایل PPD.Elastic+۲Medium+۲Deepwatch+۲
این آسیبپذیریها به مهاجم امکان میدهند تا با استفاده از یک چاپگر مخرب، فرمانهای دلخواه را بر روی سیستم قربانی اجرا کند.
نحوه استفاده از Cupshax
برای استفاده از این ابزار، نیاز به نصب بستههای zeroconf
و ippserver
از طریق pip دارید.
pip install zeroconf ippserver
python cupshax.py --name "Print to PDF (Color)" \ --command "id>/tmp/pwn" \ --ip 10.0.0.3
در این مثال، یک چاپگر مخرب با نام مشخص شده ایجاد میشود که هنگام انتخاب توسط کاربر، فرمان id>/tmp/pwn را بر روی سیستم قربانی اجرا میکند.
بهروزرسانی CUPS: اطمینان حاصل کنید که از آخرین نسخههای CUPS و مؤلفههای مرتبط استفاده میکنید.
محدودسازی دسترسی شبکه: پورت UDP 631 را در فایروال مسدود کنید و از انتشار خدمات چاپگر در شبکههای غیرمطمئن خودداری کنید.
استفاده از سیاستهای امنیتی: از ابزارهایی مانند AppArmor یا SELinux برای محدودسازی دسترسیهای فرآیندهای چاپگر استفاده کنید.
آسیبپذیریهای موجود در CUPS نشاندهندهٔ اهمیت بهروزرسانی و پیکربندی صحیح سرویسهای سیستمعامل است. ابزار Cupshax با بهرهبرداری از این آسیبپذیریها، اهمیت توجه به امنیت سرویسهای بهظاهر سادهای مانند چاپگرها را برجسته میکند.
دیدگاهتان را بنویسید