استفاده از PowerShell برای افزایش امتیاز حساب های محلی

استفاده از PowerShell برای افزایش امتیاز حساب های محلی

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

چرا کاربران نباید حقوق مدیر محلی داشته باشند؟

اگر شما یک حرفه ای در زمینه امنیت هستید، ممکن است بدیهی به نظر برسد که کاربران نباید از حقوق سرپرست محلی برخوردار باشند، به عنوان مثال:

  • حساب های آنها را در برابر حملات مختلف آسیب پذیرتر می کند
  • همین حملات را بسیار شدیدتر می کند

متأسفانه، برای بسیاری از سازمان‌ها این موضوع هنوز یک موضوع بحث‌برانگیز است و گاهی اوقات با بحث‌های داغ همراه است (به عنوان مثال، نگاه کنید به: سرپرست من می گوید همه کاربران باید ادمین محلی باشند). بدون پرداختن به جزئیات این بحث، ما معتقدیم که مهاجم حقوق مدیر محلی را در سیستم تحت بررسی به دست آورده است، یا از طریق یک سوء استفاده یا به دلیل اینکه ماشین ها به درستی محافظت نشده اند.

مرحله 1 معکوس کردن وضوح DNS با PowerShell

به طور پیش فرض، PowerShell در بسیاری از ایستگاه های کاری محلی و در اکثر سرورهای ویندوز نصب شده است. و در حالی که بدون اغراق نیست که یک ابزار اتوماسیون و کنترل فوق العاده مفید در نظر گرفته می شود، به همان اندازه قادر است خود را به یک ابزار تقریبا نامرئی تبدیل کند. بدافزار بدون فایل (برنامه هک که اثری از حمله به جا نمی گذارد).

در مورد ما، مهاجم شروع به شناسایی شبکه با استفاده از یک اسکریپت PowerShell می کند، به طور متوالی در فضای آدرس IP شبکه تکرار می شود، سعی می کند تعیین کند که آیا IP داده شده به یک میزبان حل می شود یا خیر، و اگر چنین است، نام شبکه این میزبان چیست.
راه های زیادی برای انجام این کار وجود دارد، اما با استفاده از cmdlet گرفتن-ADComputer یک گزینه محکم است زیرا مجموعه بسیار غنی از داده ها را در مورد هر گره برمی گرداند:

 import-module activedirectory Get-ADComputer -property * -filter { ipv4address -eq ‘10.10.10.10’}

اگر سرعت در شبکه های بزرگ مشکل است، می توان از یک تماس DNS استفاده کرد:

[System.Net.Dns]::GetHostEntry(‘10.10.10.10’).HostName

استفاده از PowerShell برای افزایش امتیاز حساب های محلی

این روش فهرست کردن میزبان ها در شبکه بسیار محبوب است، زیرا اکثر شبکه ها از مدل امنیتی صفر استفاده نمی کنند و درخواست های DNS داخلی را برای انفجارهای مشکوک فعالیت نظارت نمی کنند.

مرحله 2: یک هدف را انتخاب کنید

نتیجه نهایی این مرحله به دست آوردن لیستی از نام های میزبان سرور و ایستگاه کاری است که می توان از آنها برای ادامه حمله استفاده کرد.

استفاده از PowerShell برای افزایش امتیاز حساب های محلی

از این نام، سرور 'HUB-FILER' هدف شایسته ای به نظر می رسد با گذشت زمان، سرورهای فایل، به عنوان یک قاعده، تعداد زیادی پوشه شبکه و دسترسی بیش از حد افراد به آنها را جمع می کنند.

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

مرحله 3: ACL را یاد بگیرید

اکنون، در هاست و اشتراک هدف HUB-FILER خود، می‌توانیم یک اسکریپت PowerShell را برای دریافت ACL اجرا کنیم. ما می توانیم این کار را از ماشین محلی انجام دهیم، زیرا از قبل حقوق مدیر محلی را داریم:

(get-acl hub-filershare).access | ft IdentityReference,FileSystemRights,AccessControlType,IsInherited,InheritanceFlags –auto

نتیجه اجرا:

استفاده از PowerShell برای افزایش امتیاز حساب های محلی

از آن می بینیم که گروه Domain Users فقط به لیست دسترسی دارد، اما گروه Helpdesk نیز حق تغییر را دارد.

مرحله 4: شناسایی حساب

در حال دویدن Get-ADGroupMember، می توانیم همه اعضای این گروه را دریافت کنیم:

Get-ADGroupMember -identity Helpdesk

استفاده از PowerShell برای افزایش امتیاز حساب های محلی

در این لیست یک حساب کامپیوتری می بینیم که قبلاً شناسایی کرده ایم و قبلاً به آن دسترسی داشته ایم:

استفاده از PowerShell برای افزایش امتیاز حساب های محلی

مرحله 5: از PSExec برای اجرا به عنوان یک حساب رایانه استفاده کنید

psexec از Microsoft Sysinternals به شما امکان می دهد دستورات را در زمینه حساب سیستم SYSTEM@HUB-SHAREPOINT، که می دانیم عضوی از گروه هدف Helpdesk است، اجرا کنید. یعنی فقط باید انجام دهیم:

PsExec.exe -s -i cmd.exe

خوب، پس شما به پوشه هدف HUB-FILERshareHR دسترسی کامل دارید، زیرا در زمینه حساب رایانه HUB-SHAREPOINT کار می کنید. و با این دسترسی، داده ها را می توان در یک دستگاه ذخیره سازی قابل حمل کپی کرد یا در غیر این صورت بازیابی و از طریق شبکه منتقل کرد.

مرحله 6: شناسایی این حمله

این آسیب‌پذیری ویژه تنظیم امتیاز حساب (حساب‌های رایانه‌ای که به جای حساب‌های کاربری یا حساب‌های سرویس به اشتراک‌های شبکه دسترسی دارند) قابل کشف است. با این حال، بدون ابزار مناسب، انجام این کار بسیار دشوار است.

برای شناسایی و جلوگیری از این دسته از حملات می توانیم استفاده کنیم DataAdvantage برای شناسایی گروه‌هایی که حساب‌های رایانه‌ای در آن‌ها دارند و سپس دسترسی به آن‌ها را ممنوع کنید. DataAlert فراتر می رود و به شما امکان می دهد یک اعلان به طور خاص برای این نوع سناریو ایجاد کنید.

اسکرین شات زیر یک اعلان سفارشی را نشان می‌دهد که هر بار که یک حساب رایانه به داده‌های سرور نظارت شده دسترسی پیدا می‌کند، فعال می‌شود.

استفاده از PowerShell برای افزایش امتیاز حساب های محلی

مراحل بعدی با PowerShell

میخواهی بیشتر بدانی؟ از کد باز کردن قفل "وبلاگ" برای دسترسی رایگان به کامل استفاده کنید دوره ویدیویی PowerShell و Active Directory Basics.

منبع: www.habr.com

اضافه کردن نظر