اجرای یک برنامه خاص با دسترسی ادمین برای یک یوزر محدود با runas

در بسیاری از سازمانها، کاربران روزمره با حساب کاربری معمولی (Standard User) وارد ویندوز میشوند تا امنیت سیستم افزایش پیدا کند. اما گاهی لازم است یک نرمافزار خاص با سطح دسترسی Administrator اجرا شود، بدون اینکه کاربر از حساب خود خارج شود یا رمز عبور ادمین سیستم را هر بار وارد کند. یکی از ابزارهای داخلی ویندوز برای انجام این کار RunAs است که در این مطلب یاد میگیریم چطوری یک برنامه خاص را با دسترسی ادمین برای کاربران معمولی اجرا کنیم. این یکی از رایجترین سناریوها در هر شبکهای هست مخصوصا در سازمانهایی که از نرمافزارهای مالی استفاده میکنند.
آنچه قراره یاد بگیریم اینجاست!
RunAs چیست؟ آموزش اجرای نرمافزار با دسترسی Administrator در ویندوز
runas یک ابزار داخلی ویندوز برای اجرای یک برنامه خاص با یک حساب کاربری دیگری هست. به جای اینکه کاربر از ویندوز Sign out کند، برنامه فقط با اعتبار کاربر دیگری اجرا میشود. دقیقا یکی از مشکلاتی که در هر شبکه میباشد همین هست که نرمافزار مالی برای اجرای برخی از تغییرات نیاز به دسترسی ادمین دارد اما شما بعنوان مدیر شبکه نمیتوانید یوزر و پسورد ادمین را در اختیار یک یوزر دیگر قرار دهید، حتی ساختن یک ادمین لوکال و در اختیار گذاشتن آن برای دیگر یوزرهای عادی شبکه (حتی مدیرعامل سازمان) کار بسیار اشتباه و خطرناکی هست. این ابزار کوچک در این مسیر ویندوز قرار دارد.
C:\Windows\System32\runas.exe
این دستور به صورت کلی به فرمت زیر اجرا میشود:
runas /user:ComputerName\Username /savecred "program path\test.exe"
فرض کنید نام کامپیوتر ما Financial هست و نام یوزری که به صورت لوکال ادمین داریم FN-admin هست و سپس یک نرم افزار در درایو D با نام shell.exe رو میخواهیم به صورت ادمین اجرا کنیم. فرمت کلی دستور به شکل زیر در خواهد آمد:
runas /user:financial\FN-admin /savecred "D:\shell.exe"
savecred مهمترین بخش دستور هست این گزینه باعث میشود اولین بار ویندوز رمز عبور یوزر ادمینی که وارد کردید را از شما بپرسد و بعد از وارد کردن رمز صحیح، اطلاعات ورود داخل Windows Credential Manager ذخیره شود و برای دفعات بعد دیگر نیازی به وارد کردن پسورد نیست.

دستور Runas رو چطوری اجرا کنیم که همیشه در دسترس کاربر باشد؟
برای اینکه هر بار نیازی نباشد این دستور را در CMD وارد کنیم از یک شورتکات در ویندوز استفاده میکنیم. طبق دستور زیر یک Shortcut روی دسکتاپ یا هر جای دیگری که مدنظر هست میسازیم:

در مرحله دوم طبق سناریویی که داشتیم دستور را به شکل زیر وارد میکنیم:

در نهایت یک اسم دلخواه میدهیم و شورتکات را هم ذخیره میکنیم:

حتی میتوان با Properties گرفتن از این شورتکات یک آیکن هم برای آن در نظر گرفت. بار اول رو باید این شورتکات را خود شما که ادمین هستید اجرا کنید چون باید رمز یوزری که ادمین هست را باید وارد کنید. برای دفعات بعدی نیازی به وارد کردن مجدد دستور نیست.
مزایای استفاده از Runas ویندوز
استفاده از RunAs مزایای زیادی دارد:
- کاربر نیاز به عضویت در گروه Administrators ندارد.
- برنامه فقط با دسترسی Administrator اجرا میشود.
- نیاز به Sign Out یا Switch User نیست.
- پیادهسازی بسیار ساده است.
- مناسب برای نرمافزارهای مدیریتی خاص.
معایب استفاده از Runas ویندوز
مهمترین نکتهای که باید به آن توجه کنید این هست که پسورد را در سیستم ذخیره میکند و اگر شخصی به همان حساب کاربری ویندوز دسترسی داشته باشد، میتواند همان دستور را اجرا کند و بدون دانستن رمز، برنامه را با آن حساب اجرا کند. امکان سواستفاده از این روش وجود دارد فرض کنید اولین بار این دستور اجرا شده باشد و پسورد روی ویندوز ذخیره شده باشد و بعدا کاربر میتواند دستور زیر را اجرا کند.
runas /savecred /user:Financial\FN-admin cmd.exe
اگر محدودیتی وجود نداشته باشد، ممکن است یک Command Prompt با همان حساب اجرا شود. به همین دلیل استفاده از /savecred روی سیستمهای اشتراکی یا برای حسابهای با دسترسی بالا، ریسک امنیتی قابل توجهی دارد. مایکروسافت استفاده از savecred را برای حسابهای حساس یا Administrator توصیه نمیکند، مگر اینکه نیاز آن کاملاً بررسی شده باشد و ریسک آن پذیرفته شود.
جمعبندی و پایان
RunAs یکی از ابزارهای کاربردی ویندوز برای اجرای برنامهها با حساب کاربری متفاوت است و در محیطهای سازمانی کاربرد فراوانی دارد. با این حال، گزینه /savecred اگرچه استفاده روزمره را آسان میکند، اما با ذخیره کردن اعتبارنامه در سیستم میتواند سطح حمله را افزایش دهد. بنابراین، پیش از استفاده از آن باید مزایا و ریسکهای امنیتی آن بهدقت بررسی شوند. در محیطهای سازمانی، اگر هدف اجرای یک نرمافزار خاص با دسترسی مدیریتی است، معمولاً استفاده از روشهایی مانند Task Scheduler، Group Policy (Software Restriction Policies یا AppLocker)، سرویسهای مدیریت دسترسی ممتاز (PAM/PIM) یا ابزارهای مدیریت Endpoint، از نظر امنیتی گزینههای مناسبتری نسبت به RunAs /savecred هستند
منبع: آکادمی بامادون