استخدام PowerShell لرفع امتياز الحسابات المحلية

استخدام PowerShell لرفع امتياز الحسابات المحلية

تصعيد الامتياز هو استخدام المهاجم للحقوق الحالية لحساب ما للحصول على مستوى إضافي من الوصول إلى النظام عادةً. في حين أن تصعيد الامتيازات يمكن أن يكون نتيجة لاستغلال ثغرات يوم الصفر ، أو عمل متسللين من الدرجة الأولى يقومون بهجوم مستهدف ، أو برامج ضارة متخفية بذكاء ، إلا أنه غالبًا ما يكون بسبب التهيئة الخاطئة للكمبيوتر أو الحساب. لتطوير الهجوم بشكل أكبر ، يستخدم المهاجمون عددًا من نقاط الضعف الفردية ، والتي يمكن أن تؤدي معًا إلى تسرب بيانات كارثي.

لماذا لا يجب أن يتمتع المستخدمون بحقوق المسؤول المحلي؟

إذا كنت محترفًا في مجال الأمان ، فقد يبدو من الواضح أنه لا ينبغي أن يتمتع المستخدمون بحقوق المسؤول المحلي ، على النحو التالي:

  • يجعل حساباتهم أكثر عرضة للهجمات المختلفة
  • يجعل تلك الهجمات نفسها أكثر شدة

لسوء الحظ ، بالنسبة للعديد من المنظمات ، لا تزال هذه قضية مثيرة للجدل للغاية وتكون مصحوبة أحيانًا بمناقشات ساخنة (انظر ، على سبيل المثال ، يقول مشرفي أن جميع المستخدمين يجب أن يكونوا مديرين محليين). بدون الخوض في تفاصيل هذه المناقشة ، نعتقد أن المهاجم قد حصل على حقوق المسؤول المحلي على النظام قيد التحقيق ، إما من خلال استغلال أو لأن الأجهزة لم تكن محمية بشكل صحيح.

الخطوة 1: حل DNS العكسي باستخدام PowerShell

بشكل افتراضي ، يتم تثبيت PowerShell على العديد من محطات العمل المحلية وعلى معظم خوادم Windows. وعلى الرغم من أنه لا يخلو من المبالغة في اعتباره أداة أتمتة وتحكم مفيدة بشكل لا يصدق ، إلا أنه قادر بنفس القدر على تحويل نفسه إلى شبه غير مرئي البرمجيات الخبيثة المليئة بالملفات (برنامج قرصنة لا يترك آثارًا للهجوم).

في حالتنا ، يبدأ المهاجم في إجراء استطلاع للشبكة باستخدام برنامج نصي من 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 باكتشاف وجود مجلد مشترك مفتوح ، لكن حسابنا الحالي لا يمكنه الوصول إليه (ربما لدينا فقط حقوق الإدراج).

الخطوة الثالثة: تعلم قوائم التحكم في الوصول (ACLs)

الآن ، على مضيف HUB-FILER ومشاركة الهدف ، يمكننا تشغيل برنامج نصي PowerShell للحصول على قائمة التحكم بالوصول (ACL). يمكننا القيام بذلك من الجهاز المحلي ، نظرًا لأن لدينا بالفعل حقوق المسؤول المحلي:

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

نتيجة التنفيذ:

استخدام PowerShell لرفع امتياز الحسابات المحلية

من خلاله نرى أن مجموعة Domain Users لها حق الوصول إلى القائمة فقط ، لكن مجموعة مكتب المساعدة لديها أيضًا الحق في التغيير.

الخطوة 4: تحديد الحساب

جري الحصول على ADGroupMember، يمكننا الحصول على جميع أعضاء هذه المجموعة:

Get-ADGroupMember -identity Helpdesk

استخدام PowerShell لرفع امتياز الحسابات المحلية

في هذه القائمة ، نرى حساب كمبيوتر حددناه بالفعل وتم الوصول إليه بالفعل:

استخدام PowerShell لرفع امتياز الحسابات المحلية

الخطوة 5: استخدم PSExec للتشغيل كحساب كمبيوتر

PsExec من Microsoft Sysinternals يسمح لك بتنفيذ الأوامر في سياق حساب النظام SYSTEM@HUB-SHAREPOINT، والذي نعلم أنه عضو في المجموعة المستهدفة لمكتب المساعدة. أي أننا نحتاج فقط إلى القيام بما يلي:

PsExec.exe -s -i cmd.exe

حسنًا ، إذن لديك حق الوصول الكامل إلى المجلد الهدف HUB-FILERshareHR ، نظرًا لأنك تعمل في سياق حساب الكمبيوتر HUB-SHAREPOINT. ومن خلال هذا الوصول ، يمكن نسخ البيانات إلى جهاز تخزين محمول أو استردادها ونقلها عبر الشبكة.

الخطوة السادسة: الكشف عن هذا الهجوم

يمكن اكتشاف ثغرة أمنية في ضبط امتياز الحساب هذا (حسابات الكمبيوتر التي تصل إلى مشاركات الشبكة بدلاً من حسابات المستخدمين أو حسابات الخدمة). ومع ذلك ، بدون الأدوات المناسبة ، من الصعب جدًا القيام بذلك.

لاكتشاف ومنع هذه الفئة من الهجمات ، يمكننا استخدام داتا أدفانتج لتحديد المجموعات التي تحتوي على حسابات كمبيوتر بداخلها ، ثم رفض الوصول إليها. DataAlert يذهب إلى أبعد من ذلك ويسمح لك بإنشاء إشعار خصيصًا لهذا النوع من السيناريوهات.

تُظهر لقطة الشاشة أدناه إشعارًا مخصصًا سيتم إطلاقه في كل مرة يصل فيها حساب الكمبيوتر إلى البيانات الموجودة على خادم مراقب.

استخدام PowerShell لرفع امتياز الحسابات المحلية

الخطوات التالية مع PowerShell

اريد معرفة المزيد؟ استخدم رمز فتح "المدونة" للوصول المجاني إلى كامل دورة فيديو حول PowerShell و Active Directory Basics.

المصدر: www.habr.com

إضافة تعليق