مضى على الشبكة و يوم من العطاء.
  • تحذير: يجب على كل روّاد الشبكة تشغيل برامج الاختراق داخل الأنظمة الوهمية وهي بهدف التعلم وحماية الأعضاء والتوعية بها

مقدمه عن Active Directory(الجزء الثالث) Authentication/LSASS & SAM& NTDS

Ahmad105Ahmad105 is verified member.

./عضو نشيط
.:: كاتب تقني ::.
>:: v1p ::<

السمعة:

1702211836428.png

في هذا المقال رح نحكي على Authentication والمفال الي بعده وحتى الثالث والي بعده
اهم مقالات في مقدمة Active Directory حاول تاخذ ملاحظات في هاذا في المقالات الي انا قلتلك عليها مهمه تاكد انك تفهمهم لانه كل الهجمات الي رح نحكي عليها لقدام مبنيه على فهمنا لهذه الاشياء اصلا الهجوم كيف ياتي الهجمات تاتي عن طريق الاخطاء الي ممكن تكون موجوده
بناء على هذه الاخطاء وايضا هيكون في اشيء حساسه هي الي رح نستفيد منها في المستقبل
زي اننا نسحب credentials او غيره قبل اما ندخل على Authentication خليني اقولك في شئ حابب انك تعرفه احنا حكينا ان Domain Controllers هو عباره عن جهاز server هو الي بيدير البيئه هاي كامله انه العقل لهاي البيئه بيخزن معلومات عن كل اشئ وحكينا زي ايش زي المستخدم والريسورس مين بيقدر يوصل لشئ ...واخ طبعا شرحنا ها في المقالات السابقه وكلها مخزنه اغلبها
في NTDS.DIT
1702213807060.png




طيب هذا Domain Controllers موجود عليه اشي وهونفسه اوتقدر تقول KDC يعنى Key Distribution Center هذا المسؤول عن يعطى ticket ورح نحكي عنها في اخر المقال
لكن الي بدياك تعرفه ان Kerberos موجود كما نوضح في الصوره وهو مسؤول عن عملية Authentication وهاض الاشي موجود Domain Controllers ;
1702218554449.png

وال Kerberos موجود في KDC والKDC هو نفسه Domain Controllers وهنا شرح Kerberos
وهنا نظره عامه kerberos-authentication


نروح Authentication
Authentication نوعان الاوهما

Local (SAM) | Domain (KDC)

شو الفرق Local (SAM) زي انك تفتح جهازك تطلعلك صفحة تسجيل دخول ادخل المستخدم وادخل كلمة المرور تعمل login على جهازك هذا نوع Authentication local تمام شو الي بيصير فهمك الى بيصير في الخلفيه رح يساعدنا في فهم الهجوم الي بيصير الي عندى processes اسمها LSASS هاي LSASS processes بتخزن كل credentials كل المستخدمين والارقام السريه واي شئ ممكن تحتاجه مهم وحساس موجود في LSASS processes تمام
LSASS processes لما انا اعمل login رح اروح اعطيها password بتاخد هاذا password بتحوله ل NTLMهاش هذا الهاش خاص بالويندوز فل تتذكر ان ما نفول عليه الى الان على الويندوز

رح تحول password بتحوله ل NTLM الي هي LSASS بعدين تروح تبعته لقاعدة بينات موجوده عندك على الجهاز مخزن فيها كل credentials انته فكر فيها انته لما تعمل login ويقلك نجح تسجيل الدخول تب كيف عرف مش المفروض انه المستحدم وكلمة مروره مخزنين تب وين مخزنين مخزنين في قاعدة بيانات اسمها sam فبتروح تبعت للsam بتقلها يا sam هل هذا المستخدم والرقم السري فبتاخد صحيح
اذا كان صحيح بتقله اه ورح تاخد NTML الي حولته LSASS processes بتاخده منها ان كان صح فبتقوله نجح تسجيل الدخول بتفتحلك جلسه اذا كان فشل تسجيل الدخول مابتفتح جلسه وبالمناسبه LSASS بتخزن برضك ticket بشكل مؤقت
معلومه عن هاش مش بس sam بياكد عليه LSASS كمان بتحفظه عندها بشكل مؤقت لانه انته رح تضلك تحتاجه فبدل ما انته تعلطيها اياه خلص هي مخزناته عندها
فمعناته انته لو تقدر تقرا LSASS رح تقدر تقدر تقرا credentials تبعك
تب عشان ما نعقد الامور ال
Local ntml تاخده LSASS توديه للsam يا اه يا لا بنفس الوقت LSASS بتخزن كل credentials بتيجيها تمام هاذا بالنسبه لل localالصحيحه الي بتجيها
هاي بالنسبه للlocal

1702219974106.png



ان كنت تريد اكثر المقاله
وهنا كان هناك ثغره CVE-2022-21857



1702392782135.png

طيب بالنسبه للdomain هسا انته المفروض يكون عندك user موجود على هذا domain وpassword وحكينا passwordو user هوobjct

هذا المستخدم Object اله password كل التفاصيل الي بتخص Object حتى userوpassword وين مخزنه حكينا في Domain Controllers فين بالضبط في NTDS.DIT
مخزن فيها credentials وبتشبه sam ولكن مابدل ما هي عندي هي على Domain Controllers
نفسه في قاعدة البينات NTDS.DIT
انا لما اعمل login ببعت credentials تبعتي مش للLOCAL (SAM) لا وتذكير lsassمسؤوله عن جزىيتين لكن انا ما بروح اقارنه مع localy انا بروح اقارنه مع Domain Controllers نفسه عن طريق
برتكول اسمه Kerberos تب مين المسؤول عن هذه الجزئيه
1702394075434.png


1702395924498.png

انا لما تفتح صفحة login وبدخل credentials تبعتي بتروح credentials تبعتي تتحول بردك لهاش وعندنا 3انواع للهاش هما اصلا4
الاول انقرض(تقريبا) او فيك تعتبره خالص راح زمنه ولمعلرفة قصدي في تقريبا شاهد هذا الفيديو لتفهم




هسا في عندنا AES and RC4 عموما رح تاخد مننا credentials وتعمل اله هاش وتحوله غالبا NTLM وفيه انواع ده الطبيعي تمامNTLM
تب مين الي رح يحوله LSASS processes هسا ما رح تبعته للsam رح تبعته للمكتبه اسمها Kerberos.dll هاي رح تاخذ الكردنشل تبعي وتبعتها لمين للKDCللDomain Controllers
وهوه بيتاكد ويعمل شغله ورح نحكي عليها لقدام وبناءً عليه ادخل او ما ادخل بتوقع ان الصوره اكتملت

local بحكي مع sam يبى localy
Domain بحكي معDomain Controllers يعنى انا قاعد ابعت Request للcredentials تبعتي المخزنه هو ننتزكر credentials الي بتاخدها lsass بتحتفظ فيها تمام طيب خلينا نشوف شوية اشياء قبل اما نروح اللشئ القادم
خلينا نشوف sam ونشوف هاي المكتبه Kerberos وكيف انها معمولها lood داخل LSASS processes



1702397647362.png

خاينا نروح للويندوز طبعا احنا ما اشتغلنا على lap تبعنا
هاي قبل اما نشرح على الكورس قبل اما اجهزlap
خلينا ناخد مثال عملى هاي victim1









رح اعمل loginعلىDomain بعطيه اسمdomain الي هوه green
1702399076669.png

والمستخدم الي هوه victim1 وممكن تعطيه بطريقه ثانيه فيه
Distinguished Name يكون[email protected]
برضك بتظبط ورح اعطيها الرقم السري
وبعدين اعمل login





1702401364138.png

هسا صراحه اذا كانت credentials مخزنه في lsass مارح تصير العمليه الي حكينا عنها لكن اذا لاول مره اسجل فلا
كل ما تعمل terminate لل LSASS processes بتنطفى وترجع تعيد processes من اول وجديد تمام
هاي فتح الجهاز خلينا نشوف اول اشي sam وين موجوده لو رحت على/ :
C داخل / :C لو رحت على Windows وبعدين System32
داخله اروح على config رح تلاقي sam

كود:
C:\Windows\System32\config


(sam)هاي قاعدة البينات المخزن فيها credentials انته
1702403381123.png
المفروض لو اخذتها قدرت تقرا محتواها بتقدر تعرف كل credentials للlocal user,وdomain userتمام لو اجي اعملها copy
واجي اعملها pastعلى مثلا سطح المكتب شورح يقلي
لا تقدر تسوي هذا الاشي اول لما يكون النظام مفتوح ولكن هناك طرق ثانيه انك تعمل readلهذا الملف ولكن بدها صلحيات النظام
فاذا وصلت جهاز بصلحيات عاديه ما بتقدر تستفيد من (sam) غير اذا كانت صلاحياتك عاديه هاي بالنسبه للlocal user المستخدم localy

يعنى مش موجودين على Domain Controllers تمام يعنى على جهازك موجودين على Local

طيب خليني اوريك اياها
1702406058067.png


بقله net user رح يقلي في عندك administrator ,وvictim1وحسابgeustهذا خاص باشياء اخرى مثل windows defender
victim1 لكن كlocaly انا حاليا داخل بvictim1.green انا داخل بالDomain Controllers
1702406362271.png

ولو احكيله net user /domain رح تطلعلي قايمة user مختلفين هدول user موجودين على domain
1702406851654.png

وهدول user localy فميز بينهم
1702407897495.png

طب نروح لل LSASS processes رح اعمل run ل
1702408163438.png

نشغلها بصلاحيات الادمن
1702477436612.png


نروح نبحث على LSASS processes
1702477556633.png


قبل اما تفتحها شوف هون NT system يعني هاي شغاله بصلاحيات النظام يعني administrator الي يقدر يقراها او يتفاعل معها بشكل عام

1702477864565.png

نفتحها نروح على modules
1702478049305.png

لو نبحث على modules الي معمولها lood داخل هاي processes لو ننزل لتحت رح تلاقي Kerberos.dll
هاي المسؤوله انها تاخذ من credentials وتبعتها للDomain Controllers هذا هو الي كنت حابب احكيه في هذه المقاله
وشوف هنا يمكنك مراجعة هذا الفيديو عن طريقة فيك تقول انها كسر تشفير ملف sam
من الدقيقه 45تقريبا الى ساعه ودقيقه





ضلت شغله بدى احكي عنها
هسا عشان تحكي مع Domain Controllers رح نستخم شوية اشياء
زي key , ticket , Session key فهي الاشياء رح تسمعنى بقلك عنها كتير في المقالين القادمين
فخيلني ابسط هالك عشان تكون فاهم هي شو
الkey وضيفته يعمل encryption للconnection بيني وبين services
او بشكل عام يعمل بيني connection وبين resources الموجوده داخل active directory
سواء services او Domain Controllers نفسه وبيختلف من key لkey يعنى من resources لresources
ال key بيختلفبس بدياك تعرف اشي واحد بيعمل encryption لل بيني وبين connection resources تبticket ا active directory قائمه على فكرة ticket
وticket هاي عباره عن تصريح بتسمحلك توصل لمكان معين داخل active directory وهاي ticket
لها مدة صلاحيه بحلول ثمانيه الى عشر ساعات ده الطبيعي فاذا انته معك وحده من هدول ticket تقدر تقوم بوضائف معينه ذاكر الprocesses الي حكينا عنها قبل شوي لما اجي اعمل Authentication مع Domain Controllers واحكي مع lsass
وتروح lsass تروح تخلي Kerberos.dll تروح تحكي مع Domain Controllers وتبعتله credentials هاي كلها عباره عن authentication process عشان اخد TGT
شو TGT هي عباره عن ticket تقدر تحكي لنها تصريح تثبت انها اي شئ داخل active directory انه انته شخص تنتمي لهذه البيئه يعني عشان تقدر تحكي مع اي حدا داخل
active directory او تحديدا مع Domain Controllers بدك ticket وعشان تاخد ticket لازم تثبتله انك الك تصريح بالدخول
وهوه بشكل عان بنخفف من عمليات طلب Authentication على network كيف باني اعطيك ticket بدل ما انته كل شويه تطلب Authentication فانته هيك اثبتلي انك شخص
تمام مسموحلك تدخل عندي خد هاي ticket لو بدك تحكي معي المره الجيه ابعتلي ticket انهي ticket فيهم TGT عشان احكي مع Kerberos عشان احكي مع Domain Controllers عشان احكي مع KDC
اما TGS عشان احكي مع services في عندي ويب سيرفر في عندى طابعه في عندي mysql في عندي قاعدة بيانات في عندى resources موجوده على الشبكه هاي عباره عن services
عشان اقدر اصلها وعشان اثبتلها اني مسموحلي ادخل او مش مسموحلي ادخل فبيكون معي TGS موجود داخل TGS مين انا وشو صلاحياتي وبستخدمها عشان احكي مع services محدده كل services
الها TGS خاصه بها مين الي بيعطيني اياها برده Domain Controllers يعني Domain Controllers بيعطيك اثنين ticket

1702484092570.png

هاي الاشياء الي بدياك تعرفها في المقال القادم والي بعده رح نشرح الجزئيه هاي بالتفصيل على TGT , TGS , Session key
هاي الاشياء الي بدك تعرفها لحد الان وهنا خلاص طلعنا من مرحلة مذا تعلم وبعد ذلك نعدخل في الجد
وفي النهايه هنا المقال السابق

المصادر https://www.udemy.com/course/greenhackadattack101/
 

المرفقات

  • 1702407180524.png
    1702407180524.png
    74.4 KB · المشاهدات: 165
  • 1702407369403.png
    1702407369403.png
    74.4 KB · المشاهدات: 160
  • 1702407449572.png
    1702407449572.png
    115.6 KB · المشاهدات: 159
  • 1702408319433.png
    1702408319433.png
    214.8 KB · المشاهدات: 169
التعديل الأخير:
مشاهدة المرفق 6105
في هذا المقال رح نحكي على Authentication والمفال الي بعده وحتى الثالث والي بعده
اهم مقالات في مقدمة Active Directory حاول تاخذ ملاحظات في هاذا في المقالات الي انا قلتلك عليها مهمه تاكد انك تفهمهم لانه كل الهجمات الي رح نحكي عليها لقدام مبنيه على فهمنا لهذه الاشياء اصلا الهجوم كيف ياتي الهجمات تاتي عن طريق الاخطاء الي ممكن تكون موجوده
بناء على هذه الاخطاء وايضا هيكون في اشيء حساسه هي الي رح نستفيد منها في المستقبل
زي اننا نسحب credentials او غيره قبل اما ندخل على Authentication خليني اقولك في شئ حابب انك تعرفه احنا حكينا ان Domain Controllers هو عباره عن جهاز server هو الي بيدير البيئه هاي كامله انه العقل لهاي البيئه بيخزن معلومات عن كل اشئ وحكينا زي ايش زي المستخدم والريسورس مين بيقدر يوصل لشئ ...واخ طبعا شرحنا ها في المقالات السابقه وكلها مخزنه اغلبها
في NTDS.DIT
مشاهدة المرفق 6106




طيب هذا Domain Controllers موجود عليه اشي وهونفسه اوتقدر تقول KDC يعنى Key Distribution Center هذا المسؤول عن يعطى ticket ورح نحكي عنها في اخر المقال
لكن الي بدياك تعرفه ان Kerberos موجود كما نوضح في الصوره وهو مسؤول عن عملية Authentication وهاض الاشي موجود Domain Controllers ;مشاهدة المرفق 6113
وال Kerberos موجود في KDC والKDC هو نفسه Domain Controllers وهنا شرح Kerberos
وهنا نظره عامه kerberos-authentication


نروح Authentication
Authentication نوعان الاوهما


شو الفرق
Local (SAM) زي انك تفتح جهازك تطلعلك صفحة تسجيل دخول ادخل المستخدم وادخل كلمة المرور تعمل login على جهازك هذا نوع Authentication local تمام شو الي بيصير فهمك الى بيصير في الخلفيه رح يساعدنا في فهم الهجوم الي بيصير الي عندى processes اسمها LSASS هاي LSASS processes بتخزن كل credentials كل المستخدمين والارقام السريه واي شئ ممكن تحتاجه مهم وحساس موجود في LSASS processes تمام
LSASS processes لما انا اعمل login رح اروح اعطيها password بتاخد هاذا password بتحوله ل NTLMهاش هذا الهاش خاص بالويندوز فل تتذكر ان ما نفول عليه الى الان على الويندوز

رح تحول password بتحوله ل NTLM الي هي LSASS بعدين تروح تبعته لقاعدة بينات موجوده عندك على الجهاز مخزن فيها كل credentials انته فكر فيها انته لما تعمل login ويقلك نجح تسجيل الدخول تب كيف عرف مش المفروض انه المستحدم وكلمة مروره مخزنين تب وين مخزنين مخزنين في قاعدة بيانات اسمها sam فبتروح تبعت للsam بتقلها يا sam هل هذا المستخدم والرقم السري فبتاخد صحيح
اذا كان صحيح بتقله اه ورح تاخد NTML الي حولته LSASS processes بتاخده منها ان كان صح فبتقوله نجح تسجيل الدخول بتفتحلك جلسه اذا كان فشل تسجيل الدخول مابتفتح جلسه وبالمناسبه LSASS بتخزن برضك ticket بشكل مؤقت
معلومه عن هاش مش بس sam بياكد عليه LSASS كمان بتحفظه عندها بشكل مؤقت لانه انته رح تضلك تحتاجه فبدل ما انته تعلطيها اياه خلص هي مخزناته عندها
فمعناته انته لو تقدر تقرا LSASS رح تقدر تقدر تقرا credentials تبعك
تب عشان ما نعقد الامور ال
Local ntml تاخده LSASS توديه للsam يا اه يا لا بنفس الوقت LSASS بتخزن كل credentials بتيجيها تمام هاذا بالنسبه لل localالصحيحه الي بتجيها
هاي بالنسبه للlocal

مشاهدة المرفق 6116







مشاهدة المرفق 6215
طيب بالنسبه للdomain هسا انته المفروض يكون عندك user موجود على هذا domain وpassword وحكينا passwordو user هوobjct

هذا المستخدم Object اله password كل التفاصيل الي بتخص Object حتى userوpassword وين مخزنه حكينا في Domain Controllers فين بالضبط في NTDS.DIT
مخزن فيها credentials وبتشبه sam ولكن مابدل ما هي عندي هي على Domain Controllers
نفسه في قاعدة البينات NTDS.DIT
انا لما اعمل login ببعت credentials تبعتي مش للLOCAL (SAM) لا وتذكير lsassمسؤوله عن جزىيتين لكن انا ما بروح اقارنه مع localy انا بروح اقارنه مع Domain Controllers نفسه عن طريق
برتكول اسمه Kerberos تب مين المسؤول عن هذه الجزئيه
مشاهدة المرفق 6216

مشاهدة المرفق 6217
انا لما تفتح صفحة login وبدخل credentials تبعتي بتروح credentials تبعتي تتحول بردك لهاش وعندنا 3انواع للهاش هما اصلا4
الاول انقرض(تقريبا) او فيك تعتبره خالص راح زمنه ولمعلرفة قصدي في تقريبا شاهد هذا الفيديو لتفهم

هسا في عندنا AES and RC4 عموما رح تاخد مننا credentials وتعمل اله هاش وتحوله غالبا NTLM وفيه انواع ده الطبيعي تمامNTLM

تب مين الي رح يحوله LSASS processes هسا ما رح تبعته للsam رح تبعته للمكتبه اسمها Kerberos.dll هاي رح تاخذ الكردنشل تبعي وتبعتها لمين للKDCللDomain Controllers
وهوه بيتاكد ويعمل شغله ورح نحكي عليها لقدام وبناءً عليه ادخل او ما ادخل بتوقع ان الصوره اكتملت

local بحكي مع sam يبى localy
Domain بحكي معDomain Controllers يعنى انا قاعد ابعت Request للcredentials تبعتي المخزنه هو ننتزكر credentials الي بتاخدها lsass بتحتفظ فيها تمام طيب خلينا نشوف شوية اشياء قبل اما نروح اللشئ القادم
خلينا نشوف sam ونشوف هاي المكتبه Kerberos وكيف انها معمولها lood داخل LSASS processes



مشاهدة المرفق 6218
خاينا نروح للويندوز طبعا احنا ما اشتغلنا على lap تبعنا
هاي قبل اما نشرح على الكورس قبل اما اجهزlap
خلينا ناخد مثال عملى هاي victim1









رح اعمل loginعلىDomain بعطيه اسمdomain الي هوه greenمشاهدة المرفق 6219
والمستخدم الي هوه victim1 وممكن تعطيه بطريقه ثانيه فيه
Distinguished Name يكون[email protected]
برضك بتظبط ورح اعطيها الرقم السري
وبعدين اعمل login





مشاهدة المرفق 6221
هسا صراحه اذا كانت credentials مخزنه في lsass مارح تصير العمليه الي حكينا عنها لكن اذا لاول مره اسجل فلا
كل ما تعمل terminate لل LSASS processes بتنطفى وترجع تعيد processes من اول وجديد تمام
هاي فتح الجهاز خلينا نشوف اول اشي sam وين موجوده لو رحت على/ :
C داخل / :C لو رحت على Windows وبعدين System32
داخله اروح على config رح تلاقي sam

كود:
C:\Windows\System32\config


(sam)هاي قاعدة البينات المخزن فيها credentials انتهمشاهدة المرفق 6222 المفروض لو اخذتها قدرت تقرا محتواها بتقدر تعرف كل credentials للlocal user,وdomain userتمام لو اجي اعملها copy واجي اعملها pastعلى مثلا سطح المكتب شورح يقلي
لا تقدر تسوي هذا الاشي اول لما يكون النظام مفتوح ولكن هناك طرق ثانيه انك تعمل readلهذا الملف ولكن بدها صلحيات النظام
فاذا وصلت جهاز بصلحيات عاديه ما بتقدر تستفيد من (sam) غير اذا كانت صلاحياتك عاديه هاي بالنسبه للlocal user المستخدم localy

يعنى مش موجودين على Domain Controllers تمام يعنى على جهازك موجودين على Local

طيب خليني اوريك اياها
مشاهدة المرفق 6223

بقله net user رح يقلي في عندك administrator ,وvictim1وحسابgeustهذا خاص باشياء اخرى مثل windows defender
victim1 لكن كlocaly انا حاليا داخل بvictim1.green انا داخل بالDomain Controllers
مشاهدة المرفق 6224

ولو احكيله net user /domain رح تطلعلي قايمة user مختلفين هدول user موجودين على domain
مشاهدة المرفق 6225
وهدول user localy فميز بينهم
مشاهدة المرفق 6229
طب نروح لل LSASS processes رح اعمل run ل
مشاهدة المرفق 6230
نشغلها بصلاحيات الادمن
مشاهدة المرفق 6239

نروح نبحث على LSASS processes
مشاهدة المرفق 6240

قبل اما تفتحها شوف هون NT system يعني هاي شغاله بصلاحيات النظام يعني administrator الي يقدر يقراها او يتفاعل معها بشكل عام

مشاهدة المرفق 6241
نفتحها نروح على modules
مشاهدة المرفق 6242
لو نبحث على modules الي معمولها lood داخل هاي processes لو ننزل لتحت رح تلاقي Kerberos.dll
هاي المسؤوله انها تاخذ من credentials وتبعتها للDomain Controllers هذا هو الي كنت حابب احكيه في هذه المقاله
وشوف هنا يمكنك مراجعة هذا الفيديو عن طريقة فيك تقول انها كسر تشفير ملف sam
من الدقيقه 45تقريبا الى ساعه ودقيقه





ضلت شغله بدى احكي عنها
هسا عشان تحكي مع Domain Controllers رح نستخم شوية اشياء
زي key , ticket , Session key فهي الاشياء رح تسمعنى بقلك عنها كتير في المقالين القادمين
فخيلني ابسط هالك عشان تكون فاهم هي شو
الkey وضيفته يعمل encryption للconnection بيني وبين services
او بشكل عام يعمل بيني connection وبين resources الموجوده داخل active directory
سواء services او Domain Controllers نفسه وبيختلف من key لkey يعنى من resources لresources
ال key بيختلفبس بدياك تعرف اشي واحد بيعمل encryption لل بيني وبين connection resources تبticket ا active directory قائمه على فكرة ticket
وticket هاي عباره عن تصريح بتسمحلك توصل لمكان معين داخل active directory وهاي ticket
لها مدة صلاحيه بحلول ثمانيه الى عشر ساعات ده الطبيعي فاذا انته معك وحده من هدول ticket تقدر تقوم بوضائف معينه ذاكر الprocesses الي حكينا عنها قبل شوي لما اجي اعمل Authentication مع Domain Controllers واحكي مع lsass
وتروح lsass تروح تخلي Kerberos.dll تروح تحكي مع Domain Controllers وتبعتله credentials هاي كلها عباره عن authentication process عشان اخد TGT
شو TGT هي عباره عن ticket تقدر تحكي لنها تصريح تثبت انها اي شئ داخل active directory انه انته شخص تنتمي لهذه البيئه يعني عشان تقدر تحكي مع اي حدا داخل
active directory او تحديدا مع Domain Controllers بدك ticket وعشان تاخد ticket لازم تثبتله انك الك تصريح بالدخول
وهوه بشكل عان بنخفف من عمليات طلب Authentication على network كيف باني اعطيك ticket بدل ما انته كل شويه تطلب Authentication فانته هيك اثبتلي انك شخص
تمام مسموحلك تدخل عندي خد هاي ticket لو بدك تحكي معي المره الجيه ابعتلي ticket انهي ticket فيهم TGT عشان احكي مع Kerberos عشان احكي مع Domain Controllers عشان احكي مع KDC
اما TGS عشان احكي مع services في عندي ويب سيرفر في عندى طابعه في عندي mysql في عندي قاعدة بيانات في عندى resources موجوده على الشبكه هاي عباره عن services
عشان اقدر اصلها وعشان اثبتلها اني مسموحلي ادخل او مش مسموحلي ادخل فبيكون معي TGS موجود داخل TGS مين انا وشو صلاحياتي وبستخدمها عشان احكي مع services محدده كل services
الها TGS خاصه بها مين الي بيعطيني اياها برده Domain Controllers يعني Domain Controllers بيعطيك اثنين ticket


مشاهدة المرفق 6248
هاي الاشياء الي بدياك تعرفها في المقال القادم والي بعده رح نشرح الجزئيه هاي بالتفصيل على TGT , TGS , Session key
هاي الاشياء الي بدك تعرفها لحد الان وهنا خلاص طلعنا من مرحلة مذا تعلم وبعد ذلك نعدخل في الجد
وفي النهايه هنا المقال السابق

احمد المبدع
صدقاً انا سعيد جداً بقراءة هاي العظمة وسعيد جداً بهاذ المحتوى الرائع
بارك الله فيك وجزاك الله خيراً عنا وعن كل انسان يستفيد + تم التقييم
ننتظر جديدك يا وحش
تقبل مروري
اخوك ستورم
 
احمد المبدع
صدقاً انا سعيد جداً بقراءة هاي العظمة وسعيد جداً بهاذ المحتوى الرائع
بارك الله فيك وجزاك الله خيراً عنا وعن كل انسان يستفيد + تم التقييم
ننتظر جديدك يا وحش
تقبل مروري
اخوك ستورم
ان شاء الله بعد الامتحانات او ممكن انزل موضوع اخر
 
  • Love
التفاعلات: STORM
مشاهدة المرفق 6105
في هذا المقال رح نحكي على Authentication والمفال الي بعده وحتى الثالث والي بعده
اهم مقالات في مقدمة Active Directory حاول تاخذ ملاحظات في هاذا في المقالات الي انا قلتلك عليها مهمه تاكد انك تفهمهم لانه كل الهجمات الي رح نحكي عليها لقدام مبنيه على فهمنا لهذه الاشياء اصلا الهجوم كيف ياتي الهجمات تاتي عن طريق الاخطاء الي ممكن تكون موجوده
بناء على هذه الاخطاء وايضا هيكون في اشيء حساسه هي الي رح نستفيد منها في المستقبل
زي اننا نسحب credentials او غيره قبل اما ندخل على Authentication خليني اقولك في شئ حابب انك تعرفه احنا حكينا ان Domain Controllers هو عباره عن جهاز server هو الي بيدير البيئه هاي كامله انه العقل لهاي البيئه بيخزن معلومات عن كل اشئ وحكينا زي ايش زي المستخدم والريسورس مين بيقدر يوصل لشئ ...واخ طبعا شرحنا ها في المقالات السابقه وكلها مخزنه اغلبها
في NTDS.DIT
مشاهدة المرفق 6106




طيب هذا Domain Controllers موجود عليه اشي وهونفسه اوتقدر تقول KDC يعنى Key Distribution Center هذا المسؤول عن يعطى ticket ورح نحكي عنها في اخر المقال
لكن الي بدياك تعرفه ان Kerberos موجود كما نوضح في الصوره وهو مسؤول عن عملية Authentication وهاض الاشي موجود Domain Controllers ;مشاهدة المرفق 6113
وال Kerberos موجود في KDC والKDC هو نفسه Domain Controllers وهنا شرح Kerberos
وهنا نظره عامه kerberos-authentication


نروح Authentication
Authentication نوعان الاوهما


شو الفرق
Local (SAM) زي انك تفتح جهازك تطلعلك صفحة تسجيل دخول ادخل المستخدم وادخل كلمة المرور تعمل login على جهازك هذا نوع Authentication local تمام شو الي بيصير فهمك الى بيصير في الخلفيه رح يساعدنا في فهم الهجوم الي بيصير الي عندى processes اسمها LSASS هاي LSASS processes بتخزن كل credentials كل المستخدمين والارقام السريه واي شئ ممكن تحتاجه مهم وحساس موجود في LSASS processes تمام
LSASS processes لما انا اعمل login رح اروح اعطيها password بتاخد هاذا password بتحوله ل NTLMهاش هذا الهاش خاص بالويندوز فل تتذكر ان ما نفول عليه الى الان على الويندوز

رح تحول password بتحوله ل NTLM الي هي LSASS بعدين تروح تبعته لقاعدة بينات موجوده عندك على الجهاز مخزن فيها كل credentials انته فكر فيها انته لما تعمل login ويقلك نجح تسجيل الدخول تب كيف عرف مش المفروض انه المستحدم وكلمة مروره مخزنين تب وين مخزنين مخزنين في قاعدة بيانات اسمها sam فبتروح تبعت للsam بتقلها يا sam هل هذا المستخدم والرقم السري فبتاخد صحيح
اذا كان صحيح بتقله اه ورح تاخد NTML الي حولته LSASS processes بتاخده منها ان كان صح فبتقوله نجح تسجيل الدخول بتفتحلك جلسه اذا كان فشل تسجيل الدخول مابتفتح جلسه وبالمناسبه LSASS بتخزن برضك ticket بشكل مؤقت
معلومه عن هاش مش بس sam بياكد عليه LSASS كمان بتحفظه عندها بشكل مؤقت لانه انته رح تضلك تحتاجه فبدل ما انته تعلطيها اياه خلص هي مخزناته عندها
فمعناته انته لو تقدر تقرا LSASS رح تقدر تقدر تقرا credentials تبعك
تب عشان ما نعقد الامور ال
Local ntml تاخده LSASS توديه للsam يا اه يا لا بنفس الوقت LSASS بتخزن كل credentials بتيجيها تمام هاذا بالنسبه لل localالصحيحه الي بتجيها
هاي بالنسبه للlocal

مشاهدة المرفق 6116







مشاهدة المرفق 6215
طيب بالنسبه للdomain هسا انته المفروض يكون عندك user موجود على هذا domain وpassword وحكينا passwordو user هوobjct

هذا المستخدم Object اله password كل التفاصيل الي بتخص Object حتى userوpassword وين مخزنه حكينا في Domain Controllers فين بالضبط في NTDS.DIT
مخزن فيها credentials وبتشبه sam ولكن مابدل ما هي عندي هي على Domain Controllers
نفسه في قاعدة البينات NTDS.DIT
انا لما اعمل login ببعت credentials تبعتي مش للLOCAL (SAM) لا وتذكير lsassمسؤوله عن جزىيتين لكن انا ما بروح اقارنه مع localy انا بروح اقارنه مع Domain Controllers نفسه عن طريق
برتكول اسمه Kerberos تب مين المسؤول عن هذه الجزئيه
مشاهدة المرفق 6216

مشاهدة المرفق 6217
انا لما تفتح صفحة login وبدخل credentials تبعتي بتروح credentials تبعتي تتحول بردك لهاش وعندنا 3انواع للهاش هما اصلا4
الاول انقرض(تقريبا) او فيك تعتبره خالص راح زمنه ولمعلرفة قصدي في تقريبا شاهد هذا الفيديو لتفهم

هسا في عندنا AES and RC4 عموما رح تاخد مننا credentials وتعمل اله هاش وتحوله غالبا NTLM وفيه انواع ده الطبيعي تمامNTLM

تب مين الي رح يحوله LSASS processes هسا ما رح تبعته للsam رح تبعته للمكتبه اسمها Kerberos.dll هاي رح تاخذ الكردنشل تبعي وتبعتها لمين للKDCللDomain Controllers
وهوه بيتاكد ويعمل شغله ورح نحكي عليها لقدام وبناءً عليه ادخل او ما ادخل بتوقع ان الصوره اكتملت

local بحكي مع sam يبى localy
Domain بحكي معDomain Controllers يعنى انا قاعد ابعت Request للcredentials تبعتي المخزنه هو ننتزكر credentials الي بتاخدها lsass بتحتفظ فيها تمام طيب خلينا نشوف شوية اشياء قبل اما نروح اللشئ القادم
خلينا نشوف sam ونشوف هاي المكتبه Kerberos وكيف انها معمولها lood داخل LSASS processes



مشاهدة المرفق 6218
خاينا نروح للويندوز طبعا احنا ما اشتغلنا على lap تبعنا
هاي قبل اما نشرح على الكورس قبل اما اجهزlap
خلينا ناخد مثال عملى هاي victim1









رح اعمل loginعلىDomain بعطيه اسمdomain الي هوه greenمشاهدة المرفق 6219
والمستخدم الي هوه victim1 وممكن تعطيه بطريقه ثانيه فيه
Distinguished Name يكون[email protected]
برضك بتظبط ورح اعطيها الرقم السري
وبعدين اعمل login





مشاهدة المرفق 6221
هسا صراحه اذا كانت credentials مخزنه في lsass مارح تصير العمليه الي حكينا عنها لكن اذا لاول مره اسجل فلا
كل ما تعمل terminate لل LSASS processes بتنطفى وترجع تعيد processes من اول وجديد تمام
هاي فتح الجهاز خلينا نشوف اول اشي sam وين موجوده لو رحت على/ :
C داخل / :C لو رحت على Windows وبعدين System32
داخله اروح على config رح تلاقي sam

كود:
C:\Windows\System32\config


(sam)هاي قاعدة البينات المخزن فيها credentials انتهمشاهدة المرفق 6222 المفروض لو اخذتها قدرت تقرا محتواها بتقدر تعرف كل credentials للlocal user,وdomain userتمام لو اجي اعملها copy واجي اعملها pastعلى مثلا سطح المكتب شورح يقلي
لا تقدر تسوي هذا الاشي اول لما يكون النظام مفتوح ولكن هناك طرق ثانيه انك تعمل readلهذا الملف ولكن بدها صلحيات النظام
فاذا وصلت جهاز بصلحيات عاديه ما بتقدر تستفيد من (sam) غير اذا كانت صلاحياتك عاديه هاي بالنسبه للlocal user المستخدم localy

يعنى مش موجودين على Domain Controllers تمام يعنى على جهازك موجودين على Local

طيب خليني اوريك اياها
مشاهدة المرفق 6223

بقله net user رح يقلي في عندك administrator ,وvictim1وحسابgeustهذا خاص باشياء اخرى مثل windows defender
victim1 لكن كlocaly انا حاليا داخل بvictim1.green انا داخل بالDomain Controllers
مشاهدة المرفق 6224

ولو احكيله net user /domain رح تطلعلي قايمة user مختلفين هدول user موجودين على domain
مشاهدة المرفق 6225
وهدول user localy فميز بينهم
مشاهدة المرفق 6229
طب نروح لل LSASS processes رح اعمل run ل
مشاهدة المرفق 6230
نشغلها بصلاحيات الادمن
مشاهدة المرفق 6239

نروح نبحث على LSASS processes
مشاهدة المرفق 6240

قبل اما تفتحها شوف هون NT system يعني هاي شغاله بصلاحيات النظام يعني administrator الي يقدر يقراها او يتفاعل معها بشكل عام

مشاهدة المرفق 6241
نفتحها نروح على modules
مشاهدة المرفق 6242
لو نبحث على modules الي معمولها lood داخل هاي processes لو ننزل لتحت رح تلاقي Kerberos.dll
هاي المسؤوله انها تاخذ من credentials وتبعتها للDomain Controllers هذا هو الي كنت حابب احكيه في هذه المقاله
وشوف هنا يمكنك مراجعة هذا الفيديو عن طريقة فيك تقول انها كسر تشفير ملف sam
من الدقيقه 45تقريبا الى ساعه ودقيقه





ضلت شغله بدى احكي عنها
هسا عشان تحكي مع Domain Controllers رح نستخم شوية اشياء
زي key , ticket , Session key فهي الاشياء رح تسمعنى بقلك عنها كتير في المقالين القادمين
فخيلني ابسط هالك عشان تكون فاهم هي شو
الkey وضيفته يعمل encryption للconnection بيني وبين services
او بشكل عام يعمل بيني connection وبين resources الموجوده داخل active directory
سواء services او Domain Controllers نفسه وبيختلف من key لkey يعنى من resources لresources
ال key بيختلفبس بدياك تعرف اشي واحد بيعمل encryption لل بيني وبين connection resources تبticket ا active directory قائمه على فكرة ticket
وticket هاي عباره عن تصريح بتسمحلك توصل لمكان معين داخل active directory وهاي ticket
لها مدة صلاحيه بحلول ثمانيه الى عشر ساعات ده الطبيعي فاذا انته معك وحده من هدول ticket تقدر تقوم بوضائف معينه ذاكر الprocesses الي حكينا عنها قبل شوي لما اجي اعمل Authentication مع Domain Controllers واحكي مع lsass
وتروح lsass تروح تخلي Kerberos.dll تروح تحكي مع Domain Controllers وتبعتله credentials هاي كلها عباره عن authentication process عشان اخد TGT
شو TGT هي عباره عن ticket تقدر تحكي لنها تصريح تثبت انها اي شئ داخل active directory انه انته شخص تنتمي لهذه البيئه يعني عشان تقدر تحكي مع اي حدا داخل
active directory او تحديدا مع Domain Controllers بدك ticket وعشان تاخد ticket لازم تثبتله انك الك تصريح بالدخول
وهوه بشكل عان بنخفف من عمليات طلب Authentication على network كيف باني اعطيك ticket بدل ما انته كل شويه تطلب Authentication فانته هيك اثبتلي انك شخص
تمام مسموحلك تدخل عندي خد هاي ticket لو بدك تحكي معي المره الجيه ابعتلي ticket انهي ticket فيهم TGT عشان احكي مع Kerberos عشان احكي مع Domain Controllers عشان احكي مع KDC
اما TGS عشان احكي مع services في عندي ويب سيرفر في عندى طابعه في عندي mysql في عندي قاعدة بيانات في عندى resources موجوده على الشبكه هاي عباره عن services
عشان اقدر اصلها وعشان اثبتلها اني مسموحلي ادخل او مش مسموحلي ادخل فبيكون معي TGS موجود داخل TGS مين انا وشو صلاحياتي وبستخدمها عشان احكي مع services محدده كل services
الها TGS خاصه بها مين الي بيعطيني اياها برده Domain Controllers يعني Domain Controllers بيعطيك اثنين ticket


مشاهدة المرفق 6248
هاي الاشياء الي بدياك تعرفها في المقال القادم والي بعده رح نشرح الجزئيه هاي بالتفصيل على TGT , TGS , Session key
هاي الاشياء الي بدك تعرفها لحد الان وهنا خلاص طلعنا من مرحلة مذا تعلم وبعد ذلك نعدخل في الجد
وفي النهايه هنا المقال السابق

الله يعطيك العافية ويجزيك كل خير
 

آخر المشاركات

فانوس

رمضان
عودة
أعلى