آسیب پذیری سرویس WebEx سیسکو

کشف اشکال امنیتی اجرای کد از راه دور در سرویس WebEx سیسکو

آسیب پذیری جدیدی در سرویس ویدئو کنفرانس WebEx سیسکو کشف شده است که نوعی غیر رایج از آسیب­پذیری اجرای کد از راه دور به شمار می آید. دلیل غیر طبیعی بودن این آسیب پذیری این است که کاربران با بهره برداری از آن می توانند حتی زمانی که WebEx آماده دریافت ارتباط از راه دور نمی باشد، دستورات خود  را از طریق WebEx اجرا نمایند. این اشکال توسط سیسکو در نسخه ۳۳٫۰٫۵ WebEx و نسخه­های بالاتر برطرف شده است.

آسیب ­پذیری اجرای کد از راه دور یک آسیب­پذیری با شدت بحرانی است که به کاربران اجازه می­دهد از راه دور به یک برنامه کاربردی آسیب­پذیر متصل شوند و دستورات خود را با سطح دسترسی بالا روی کامپیوتر هدف اجرا کنند. آسیب­پذیری مذکور توسط Ron Bowes و Jeff McJunkin از تیم امنیتی شرکت Counter Hack در حین انجام تست نفوذ روی این محصول کشف شده است. هدف این تیم از عملیات تست نفوذ یافتن روشی برای افزایش سطح دسترسی یک حساب کاربری عادی بود اما در حین تست نفوذ آسیب­پذیری اجرای کد از راه دور کشف کردند که نام آن را WebExec گذاشته­اند. این تیم در حین انجام تست نفوذ متوجه شدند که WebEx از یک سرویس به نامWebexService  استفاده می­کند که هر کاربر با هر سطح دسترسی  می­تواند این سرویس را شروع و یا متوقف نموده و با سطح دسترسی System دوباره آن­ را اجرا نماید.

علاوه بر این، این سرویس از فایل اجرایی WebExService.exe استفاده می­کند و از آنجاییکه هر کاربر عضو گروه Everyone اجازه دسترسی کامل به این فایل اجرایی را دارند، همه کاربران قادر به تغییر مقادیر آن هستند.

این فایل اجرایی توسط همه کاربران و حتی یک کاربر عادی قابل دسترسی است و در نتیجه مهاجم می­تواند فایل خود را با آن جایگزین کرده و سطح دسترسی خود را افزایش دهد.  زمانیکه محققان این تیم به وجود این آسیب پذیری پی بردند، این آسیب پذیری قبلا توسط محققان دیگری نیز کشف شده بود و سیسکو در ماه سپتامبر با انتشار یک بروزرسانی جدید این آسیب پذیری را برطرف کرده بود.

پس از کشف این آسیب پذیری محققان با استفاده از اطلاعات حاصل از دیباگ و تکنیک­های مختلف سعی و خطا و مهندسی معکوس تصمیم به بررسی عمیق­تر WebexService.exe نمودند. نتیجه این بررسی­ها مشخص نمود که با اینکه این سرویس برای بروزرسانی WebEx طراحی شده است اما می­تواند برای اجرای برنامه­های دیگر مورد استفاده قرار گیرد. از آنجاییکه این سرویس با سطح دسترسی System اجرا می­شود، تمام برنامه­های اجرایی که با استفاده از آن اجرا شوند نیز دارای همان سطح دسترسی خواهند بود.

سرویس WebexService هنگام بالا آمدن سیستم عامل ویندوز به طور خودکار شروع به اجرا نمی کند و تنها زمانی که نیاز به بروزرسانی WebEx و یا در مورد بالا برای اجرای برنامه­های دیگر باشد شروع می­شود.

برای  استفاده از سرویس WebexService جهت اجرای یک برنامه، به راحتی می­توان با مشخص نمودن آرگومان­های مورد نظر در هنگام ارسال دستور اجرا در خط فرمان، سرویس آن را شروع کرد. برای مثال، برای شروع برنامهcalc.exe  با داشتن سرویس WebexService.exe، می­توان از دستور زیر استفاده کرد:

sc start webexservice a software-update 1 calc c d e f

زمانی که برنامه calc.exe توسط یک سرویس با سطح دسترسی System اجرا شود، دارای دسترسی System خواهد بود که در شکل زیر نشان داده شده است:

اکنون فرض کنید که یک کاربر استاندارد بدون هیچ مجوزی دسترسی باشد. برای به دست آوردن مجوزهای لازم می­توان برنامه cmd.exe را توسط سرویس مذکور فراخوانی کرده و به سطح دسترسی مدیر سیستم رسید.

فرمان بالا یک خط فرمان با سطح دسترسی مدیریتی را اجرا می­کند که در نتیجه کاربر استاندارد کنترل کامل سیستم را دردست دارد و در شکل زیر نشان داده شده است:

به گفته محققان امنیتی، اگرچه آنها قبلا از وجود این آسیب­پذیری مطلع بودند، ولی در هفته پیش امکان اجرای از راه دور این آسیب پذیری را تشخیص دادند. نکته جالب درمورد این آسیب­پذیری این است که بدون اینکه سیستم آماده برقرای ارتباط باشد اجرای کد از راه دور ممکن است. دلیل این اتفاق این است که دستور sc موجود در خط فرمان ویندوز می­تواند برای شروع یک سرویس روی سیستم راه دور با دستور زیر استفاده شود:

c:\>sc \\10.0.0.0 start webexservice a software-update 1 net localgroup administrators testuser /add

برای استفاده از دستور sc از راه دور ابتدا عملیات احراز هویت در ماشین هدف باید انجام شود. این احراز هویت  با یک حساب محلی یا یک حساب دامنه امکان پذیر است. بنابراین برای اتصال به سرویس «کنترل سرویس» (svcctl) در ویندوز ابتدا به احراز هویت نیاز می­باشد. هنگامی که کاربر به این سرویس متصل باشد می­تواند سرویس­های ویندوز را در صورت داشتن اجازه دسترسی به آن­ها، از راه دور شروع یا متوقف نمایید که در مواردی مثل WebexService اجازه شروع یا توقف این سرویس به همه داده می­شود. با این حال بیشتر سرویس­ها نیاز به سطح دسترسی بالاتر مانند مدیر سیستم دارند.

برای اجرای فرمان sc پورت ۴۴۵ ماشین هدف باید باز و قابل دسترس باشد، و از آنجاییکه اکثر شرکت­ها و ISPها پورت ۴۴۵ را روی مسیریاب ها و  firewallهای خود مسدود می­کنند، بهره برداری از این آسیب­پذیری از طریق اینترنت کاربردی نیست. به همین دلیل. به گفته Bowes این آسیب­پذیری بیشتر توسط مهاجمی قابل بهره برداری است که در یک شبکه و محیط دامنه قرار گیرد و بتواند کدهای خود را روی سیستم­های دامنه­ای که در آن قرار دارد اجرا نماید.

نوشتن دیدگاه

آدرس ایمیل شما منتشر نخواهد شد.