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



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

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


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

  • يجعل حساباتهم أكثر عرضة للهجمات المختلفة.
  • يجعل هذه الهجمات أكثر خطورة.

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

الخطوة 1. عكس تحليل اسم DNS من خلال PowerShell


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

في حالتنا ، يبدأ المهاجم في إجراء استطلاع على الشبكة باستخدام البرنامج النصي PowerShell ، وذلك بالفرز التسلسلي لمساحة عنوان IP للشبكة ، في محاولة لتحديد ما إذا كان هذا IP مسموحًا به للمضيف ، وإذا كان الأمر كذلك ، فما هو اسم شبكة هذا المضيف.
هناك العديد من الطرق لإنجاز هذه المهمة ، لكن استخدام Get- ADComputer cmdlet يعد خيارًا موثوقًا لأنه يُرجع مجموعة بيانات غنية حقًا حول كل عقدة:

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

إذا تسببت سرعة العمل في الشبكات الكبيرة في حدوث مشكلات ، فيمكن استخدام رد اتصال نظام DNS:

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




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

الخطوة 2: اختيار الهدف


والنتيجة النهائية لهذه الخطوة هي الحصول على قائمة بأسماء مضيف الخادم ومحطة العمل التي يمكن استخدامها لمواصلة الهجوم.



انطلاقًا من الاسم ، يبدو أن خادم "HUB-FILER" هدف يستحق ، لأنه مع مرور الوقت ، تميل خوادم الملفات إلى تجميع عدد كبير من مجلدات الشبكة والوصول الزائد إليها من قبل الكثير من الناس.

يتيح لنا العرض باستخدام Windows Explorer تحديد ما إذا كان هناك مجلد مشترك مفتوح ، لكن حسابنا الحالي لا يمكنه الوصول إليه (ربما يكون لدينا حقوق قائمة فقط).

الخطوة 3: تعلم ACL


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

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


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



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

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


من خلال تشغيل Get-ADGroupMember ، يمكننا الحصول على جميع أعضاء هذه المجموعة:

 Get-ADGroupMember -identity Helpdesk 




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



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


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

 PsExec.exe -s -i cmd.exe 

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

الخطوة 6: كشف هذا الهجوم


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

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

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



الخطوات التالية باستخدام PowerShell


هل تريد معرفة المزيد؟ استخدم رمز إلغاء القفل "blog" للوصول المجاني إلى دورة فيديو PowerShell الكاملة و Active Directory Fundamentals .

Source: https://habr.com/ru/post/ar454160/


All Articles