SID به معنای security identifiers هست. در سیستم عاملهای ویندوزی شناسههایی به عنوان SID وجود دارند که در واقع تعیین کننده سطح امنیت users و groups میباشد. در اولین سیستم عاملهایی که توسط شرکت ایکروسافت ساخته شد اصلا چیزی بعنوان user وجود نداشت.
پس از معرفی ویندوز ویستا (vista) شرکت مایکروسافت مفهومی بنام users بر روی سیستم عاملهای خود تعیین کرد که کاربران را از یکدیگر متمایز میساخت. در اوایل کار تنها دو یوزر بنام guest و administrator وجود داشت که البته دسترسیهای یوزر administrator بیشتر از الان بود.
با پیشرفت سیستم عاملها و آپدیت آنها، به مرور زمان شرکت مایکروسافت به این نتیجه رسید که دسترسیهای administrator را کاهش دهد. معمولا در شبکههای کامپیوتری به دلیل وجود یکسری مسائل امنیتی سعی میکنند یوزری با سطح دسترسی administrator جود نداشته باشد.
یا شاید شما هم شنیده باشید که در os hardening میگویند که باید یوزر administrator را disable کنید تا امنیت سیستم شما افزایش پیدا کند. مایکروسافت تمام سعی خود را در نسخههای جدید ویندوز انجام داده است که حدالامکان به یک برنامه دسترسی administrator ندهد.
اگر شما نیاز داشته باشید برای ی برنامه دسترسی administrator بگیرید میتوانید این دسترسی را فقط برای اجرای آن برنامه و با استفاده از run as administrator بگیرید. یه چیزی شبیه به دنیای لینوکس که شما در حالت عادی از userهای معمولی استفاده میکنید و برای کاری که نیاز به دسترسی root دارد با استفاده از sudo دسترسی بالاتر میگیرید.
یکسری مفاهیم امنیتی وجود دارد مثل user context که من در اینجا نمیخواهم فعلا در مورد این موارد صحبتی کنم ولی شما برای مطالعه بیشتر میتونید یه سری به مقالات انگلیسی بزنید. (در مورد اینکه زمانی که یک برنامه در ویندوز اجرا میشود در چه سطحی اجرا میشود.)
قبل از اینکه بخواهیم راجب SIDها توضیحات بیشتری بدیم بهتر هست یه معرفی از user و groupهای پیش فرض و استاندارد مایکروسافت ویندوز داشته باشیم.
Built-in Users & Groups
ما یکسری user و group داریم که در محصولات مایکروسافت Built-In هستند. Built-In به این معناست که زمانی که شما ویندوز را نصب میکنید خود ویندوز این user هارا بصورت automatic میسازد. برای مثال در ویندوز اگر شما به بخش Description یا توضیات یوزر administrator توجه کنید، Built-In نوشته شده است.
زمان نصب ویندوز، خود سیستم عامل تعداد زیادی گروه و یوزر را بصورت Built-In ایجاد میکند. ممکن است شما در آینده یک نرمافزار نصب کنید که این نرمافزار برای انجام فعالیتهای خو یکسری user یا group ایجاد نماید. شما با استفاده از کنسول lusrmgr. msc میتوانید یوزرها و گروههای موجود در سیستم عامل خود را مشاهده کنید.
کافی است که با استفاده از کلیدهای ترکیبی WIN + R و تایپ lusrmgr. msc در پنجره Run کنسول lusrmgr را باز نمایید.
در مورد گروههای Built-In این مورد را هم صرفا جهت یادگیری میگویم که خود این گروهها به دو دسته تقسیم میشوند:
گروههای Local Built-in گروههایی هستند که توسط سیستم عامل ایجد میشوند و شما میتوانید آنها را مشاهده کنید یا یک user را به دلخواه عضو این گروهها نمایید. در گروههای System Built-in شما قادر به مشاهده این گروهها در کنسول lusrmgr. msc نیستید.
همچینن در آینده خواهید آموخت که شما نمیتوانید ساختار و دسترسیهای گروههای System Built-in را تغییر دهید. در واقع این گروهها گروههایی هستند که خود سیستم عامل از آنها استفاده میکند و شما مجوزی برای ویرایش آنها ندارید. شاید تصور کنید در سیستم عاملهای ویندوزی administrator بالاترین سطح دسترسی است ولی خوب است بدانید system بیشترین سطح دسترسی را دارد.
در ادامه من هر کدام از این گروهها را توضیح میدهم:
Local Built-in Groups
همانطور که بالاتر توضیح دادم، گروههای Local Built-in گروههایی هستند که توسط خود سیستم عامل ایجاد میشوند یا کاربر آنها را ایجاد نمیکند. شما میتوانید یک user ایجاد و عضو این گروهها کنید. ممکن است با توجه به نسخه سیستم عامل شما برخی از این گروهها در سیستم شما موجود نباشد.
Administrators Groups
اعضای گروه administrators کاربرانی هستند که به قویترین سطح کاربری دسترسی دارند. تقریبا میتوان گفت به اعضای این گروه از طرف سیستم عامل اختیارات زیادی داده شده است. اعضای گروه administrator علاوه بر مجوزهایی که دارند میتوانند به یوزرها و گروههای یگر نیز مجوز دسترسی بدهند.
به طور کامل میتوان گفت اعضای گروه administrators تمامی دسترسیهای موجود را دارا هستند.
Users Group
این گروه بطور کلی برای کاربرانی تعیین شده که قرار است دسترسی محدودی داشته باشند. برای مثال کاربران یک شرکت کوچک معمولا جزو گروه users هستند. گروه users اجازهای برای نصب نرمافزار بر روی سیستم عامل ندارند و در صورت نیاز باید پسورد یکی از یوزرهای گروه administrators را داشته باشند.
Replicator Group
عمل replication به معنای همانندسازی است. replication در شبکههای Domain mode کار انتقال اطلاعات بین سرورها و کلاینتها را انجام میدهد. برای خیلی از سرویسها replication تعریف میشود. خود replication انواعی دارد که شما میتوانید در اینترنت توضیحاتی بیشتری راجب آن بخوانید.
در دامینها یک ویژگی بنام directory replication وجود دارد چرایی و نحوه کارکرد آن را در کلاسهای MCSE مایکروسافت به شما توضیح میدهند. در شبکههای دامین کاربرانی که سرویس replication را آغاز میکنند باید عضو این گروه باشند.
هیچ کاربری بصورت پیشفرض عضو گروه Replicator نیست و این گروه تنها برای دسترسیهای directory replication ساخته شده است.
Backup Operators Group
همانطور که میدانید یکی از مهمترین فرایندهایی که در سیستم عامل ها، چه ویندوزی و چه غیر ویندوزی وجود آن بسیار لازم و حیاتی است فرایند Backup میباشد. گروه Backup Operators برای آن ایجاد شده که یک کاربر بخواهد از فایلهای سیستمی نسخه پشتیبانی تهیه کند.
در خیلی از موارد یک کاربر بصورت دستی این کار را انجام نمیدهد و شما یک user را به این گروه اضافه میکنید و اطلاعات آن را در اختیار نرمافزارها برای تهیه نسخه پشتیبانی قرار میدهید. گروه Backup Operators نیز همانند Replicator Group عضو پیشفرضی ندارد.
اعضای Backup Operators Group حتی در صورتی که به فایل سیستمهای NTFS دسترسی نداشته باشند نیز امکان بکاپ از آنها را دارند. شما میتوانید برای انجام پروسههای بکاپ گیری از نرمافزارهای Backup utility استفاده کنید.
Event Log Readers Group
یکی از مواردی که هر سیستمی مثل روترها و سوییچها نیازمند آن است و در سازمانهای متوسط و بزرگ خیلی به آن اهمیت داده میشود بحث نگهداری از logها و لاگ گیری از سیستمها و سرویس هاست.
در کلاسهای CEH آخرین مرحله از هک کردن یک سیستم clear track یا پاک کردن ردپا میباشد که بخش اعظمی از این بخش شامل پاک کردن logهای یک سیستم میشود. به همین دلیل در سازمانها و در شبکههای بزرگ سیستمهای مختلفی برای نگهداری log و عملیات لاگ گیری اجرا میشود.
کاربرانی که در گروه Event Log Readers عضو میشوند امکان خواندن logهای یک سیستم را دارند. فرایند خواندن و تحلیل logها خود یک تخصص در دنیای شبکه محسوب میشود. البته که در پروژههای کوچک خیلی از نرمافزارها میتواند به شما در این زمینه کمک کند.
در مباحث جرمشناسی که شما در آینده قطعا با آن آشنایی پیدا خواهید کرد تحلیل logها و انجام فرایندهای لاگ گیری به شیوههای مختلف یکی از کارهای مهم محسوب میشود. برای گروه Event Log Readers نیز بصورت پیشفرض عضوی تعیین نشده است.
Guests Group
گروه مهما دسترسیهای خیلی محدودی نسبت به یک سیستم دارد. شما چینین گروهی را در بیشتر سیستم عاملها و یا حتی سیستمهای مدیریت کاربر مثل سیستم مودمهای خانگی نیز مشاهده میکنید. هدف از ساخت این گروه اینات که اگر شما به یک کاربر که عضوی از شبکه شما نیست میخواستید دسترسی بدهید، این میزان از سطح دسترسی را برای او فعال کنید.
معمولا در شبکهها بدلیل وجود خطرات امنیتی سعی میشود کاربری با سطح دسترسی Guests Group وجود نداشته باشد. اگر شما خواستید یک کاربر را عضو Guests Group کنید بهتر آن است که یک گروه با دسترسیهای مشخص ایجاد و سپس کاربر مورد نظر را عضو آن گروه کنید.
بصورت پیشفرض در سیستم عاملهای جدید شرکت مایکروسافت یوزر Guests عضو Guests Group میباشد.
Power Users Group
شرکت مایکروسافت نه تنها در ارائه محصولات ویندوزی بلکه در ارائه تمامی محصولات خود تلاش میکند Backward Compatibility را حفظ نماید. برای مثال مایکروسافت در همین بحث replication که آن را توضیح دادیم تلاش نموده ارتباط نسخههای سرویسهای قدیمی و جدید را فراهم سازد.
یا کلا در محصولات مایکروسافتی همیشه تلاش شده که نسخههای جدید یک نرمافزار توانایی ساپورت خروجیهای نسخه قدیمی را داشته باشد. از ویندوز ۷ به بعد Power Users Group با این هدف ایجاد شد تا کامپیوترهایی که با سیستم عامل ویندوز XP دسترسی به یک پوشه در یک ویندوز دیگر دارند، بتوانند دسترسی خود را حفظ کند.
Remote Desktop Users Group
تصور میکنم خیلی از افراد با سرویس Remote Desktop آشنایی داشته باشند. این سرویس به کاربران سیستم عاملهای ویندوزی این اجازه را میدهد تا از راه دور در یک شبکه کامپیوتری بتوانند یک کامپیوتر را کنترل کنند.
در واقع Remote Desktop یک سرویس Remote همانند نرمافزارهایی مثل ANYDESK است با این تفاوت که در Remote Desktop سرعت و کیفیت ارائه سرویس بالاتر و لزوما شما برای استفاده از آن به اینترنت نیازی نخواهید داشت.
در مورد مزایا و معایب Remote Desktop و پروتکل آن میتوان کلی صحبت نمود، مسئلهای که در اینجا برای ما مهم است این است که اعضای گروه Remote Desktop Users قادر هستند با استفاده از سرویس Remote Desktop به یک کامپیوتر از راه دور متصل شوند.
در واقع اگر یه مقدار بخوایم درستتر صحبت کنیم اعضای Remote Desktop Users Group قادر هستند بصورت Remote به یک کامپیوتر logon کنند.
Performance Monitor Users Group
گاها ممکن است برای شما پیش آمده باشد که متوجه سرعت پایین کامپیتر خود شده باشید. معمولا افرادی که با کاهش سرعت سیستم خود مواجه میشوند با استفاده از ابزارهایی مانند task manager یا ابزارهای حرفهایتر performance سیستم خود را برسی میکنند.
برسی performance سیستم به شما این اجازه را میدهد تا موتوجه شوید چه میزان از حجم پردازش سیستم شما درگیر چه عملکرد و پروسهای است. در شبکههای بزرگتر شما توانایی این را ندارید تا در صورت بروز مشکل روی هر سیستم login کرده و performance سیستم را برسی کنید.
نرمافزارها و ابزارهایی برای این کار وجود دارند که در واقع عمل Performance Monitor را برای شما انجام میدهند. یکی از این ابزارها PerfMon هست که شما با استفاده از پنجره run در ویندوز میتوانید آنرا اجرا نمایید.
در این مقاله من قصد ندارم در مورد عملکرد این نرمافزارها صحبت کنم. صرفا چیزی که شما باید در این بخش بدانید آن است که یوزرهایی که عضو Performance Monitor Users Group هستند توانایی دسترسی به performance سیستم را دارند.
اعضای این گروه هم میتوانند به صورت local و مستقیم پشت یک سیستم کامپیوتری نشسته و به اطلاعات performance سیستم دسترسی پیدا کنند و یا اینکه بصورت remote و از راه دور این اطلاعات را مشاهده یا جمع آوری کنند.
معمولا در شبکههایی با ساختارهای درست این اطلاعات بصورت remote جمع آوری و ذخیرهسازی میشود تا در صورت بروز مشکل بتوان منشا مشکل را پیدا نمود.
IIS_IUSRS Group
Iis به معنای Internet Information Service یک وب سرور است که توسط مایکروسافت طراحی و ارائه شده. در واقع این وب سرور یکی از سادهترین و آسانترین وب سرورها از نظر من محسوب میشود. اولین نسخه iis مربوط به سیستم عامل windows NT ورژن ۳.۵۱ بود.
همانطور که میدانید windows NT یکی از قدیمیترین سیستم عامل هاست و پس از windows NT ما تازه شاهد windows ۲۰۰۰ از شرکت مایکروسافت بودیم. سرویسهای اطلاعاتی وب سرور iis از دسترسی گروه IIS_IUSRS Group استفاده میکنند.
Network Configuration Operators Group
در شبکههای کامپیوتری یکی از کارهایی که شما برای شبکه کردن چند کامپیوتر به آن نیازمند هستید Network Configuration است. در واقع تنظیم IP، subnetting، dns و… بر روی کامپیوترها جزو اولین کارهایی هست که شما نیازمند آن هستید تا چند کامپیوتر را شبکه کنید.
در اینجا اصلا ما کاری به workgroup بودن یا Domain بودن شبکه شما نداریم. شما برای اینکه کارت شبکه یک کامپیوتر را تنظیم کنید ممکن است از داخل control panel وارد بخش change adapter setting شوید و یا اینکه از پنجره run استفاده کرده و کنسول ncpa. cpl را باز کنید.
اعضای گروه Network Configuration Operators امکان پیکربندی و مدیریت شبکههای کامپیوتری را دارند. اعضای این گروه میتوانند تنظیمات مربوط به شبکه یک کامپیتر را (همانند تنظیمات TCP/IP) تغییر دهند.
Distributed COM Users Group
اولین سوالی که ممکن است ذهن هر کسی را به خود مشغول کند این است که Distributed COM چیست و چه کاربردی دارد؟
Distributed COM یا Dcom پروتکلی اس که امکان ارتباط مستقیم عناصر نرم افزاری یک شبکه را با هم فراهم میسازد. البته نام این پروتکل قبلا OLE Network بود ولی پس از مدتی به Distributed COM تغییر یافت. همچنین این پروتکل از پورت ۱۳۵ نیز استفاده میکند.
در آینده در مورد پروتکلها و شماره پورت آنها با یکدیگر صحبت میکنیم. در اینجا شما صرفا بدانید هر پروتکل در دنیای کامپیوتر از یک یا چند پورت منحصر بفرد استفاده میکنند و در واقع با استفاده از این پورتها یک پروتکل در دو کامپیوتر میتوانند با یکدیگر ارتباط برقرار کنند.
در مورد COM و کارکرد آن بحثهای زیادی وجود دارد ولی بصورت خلاصه میتوان گفت مایکروسافت این پروتکل را برای ایجاد یک لایه ارتباطی تحت سرور com+ ایجاد نموده است. و منضور از Distributed COM، ایجاد این ارتباط بصورت توزیع شده میباشد.
در کامپیوترها کاربرانی که عضو Distributed COM Users Group میباشند توانایی فعالسازی و اجرای عناصر Distributed COM را دارند. البته این گروه بصورت پیشفرض هیچ اعضایی ندارد.
Cryptographic Operators Group
در آینده و در مباحث مربوط به information security ما در مورد cryptographic بحث خواهیم نمود. فعلا در این سطح از دانش توضیح این مطالب کمی دشوار است و برای توضیح آن من باید مفاهیم زیادی را به شما توضیح دهم.
فعلا شما در مورد cryptographic در این حد بدانید که در بیشتر سیستم عاملها با توجه به کارکرد و عملکردی که دارند فرایند cryptographic انجام میدهد.
اعضای گروه Cryptographic Operators Group امکان دسترسی و یا انجام عملیاتهای پنهانی بر روی کامپیوتر را دارند. و همانند خیلی از گروههایی که در بالا توضیح دادیم این گروه هم بصورت پیشفرض عضوی ندارد.
Hyper-V Administrators
در دورههای MCSE شما با یکی دیگر از سرویسهای مایکروسافتی بنام Hyper-V آشنا میشوید. این سرویس مانند VMware ESXI برای Virtualization کاربرد دارد. البته در حال حاضر تا آنجایی که من میدانم محصولاتی مانند ESXI قویتر از Hyper-V عمل میکند.
گروه Hyper-V Administrators مربوط به سرویس Hyper-V میشود و ما در آینده، در آموزشهای مربوط به mcse راجب این گروه بحث خواهیم نمود.
System Built-in Groups
اعضای System Built-in Groups دارای معیارها و policyهای مشخصی هستند. همچنین از دیگر ویژگیهای این گروهها این است که از طریق کنسول lusrmgr. msc قابل مدیریت نیستند ولی شما بعنوان ادمین شبکه میتوانید از این گروهها برای مدیریت منابع شبکه استفاده کنید.
خیلی از مفاهیمی که در اینجا من توضیح میدهم صرفا برای آشنایی و یادگیری بهتر میباشد. شما با این گروهها در کلاسهای MCSE آشنایی پیدا میکنید. پس خیلی مهم نیست اگر مفهوم برخی از این گروهها که در پایین میخوام توضیح بدهم را متوجه نمیشوید.
Creator Owner
Creator Owner به زبان ساده یعنی صاحب یک data یا پروسه در سیستم عاملهای ویندوزی. برای مثال اگر یوزر mixseda یک پوشه روی desktop خود ایجاد نماید، Creator Owner آن یک پوشه محسوب میشود. اگر شما یک پروسه بکآپ گیری بر روی کپیوتر خود ایجاد کنید Creator Owner آن پروسه هستید.
در واقع کاربرد Creator Owner این است که مالکیت دقیق یک پروسه یا data را در سیستم عاملهای مایکروسافتی مشخص نماید. زمانی که permissionهای سیستم عامل ویندوز را مطالعه و هر یک را تکتک امتحان کنید متوجه مفهوم Creator Owner میشوید.
در واقع من بعنوان یک کاربر در سیستم عاملهای ویندوزی به خاطر اینکه مالک و Creator Owner یک فایل هستم امکان انجام فعالیتهای خاصی را بر روی آن فایل دارم. بدون اینکه به آن فایل permission داشته باشم. البته این توضیح دقیقی نیست ولی بنظرم تا همینجا کفایت میکند.
Everyone
همه افرادی که میتوانند به کامپیوتر شما دسترسی پیدا کنند جزو گروه Everyone هستند. اگر شما دسترسی یک پروسه یا فایل را به Everyone بدهید همه یوزرها میتوانند به آن پروسه یا data دسترسی پیدا کنند.
در صورتی که کامپیوتر شما join یک دامین هست و شما به یک فایل دسترسی Everyone را داده اید؛ تمامی یوزرهایی که در آن دامین join هستند امکان مشاهده فایل شما را دارند. گروه Everyone خیلی شبیه به یک نوع از گروه بنام users در دنیای Linux هست.
Interactive
کاربرانی که بصورت local از منابع یک سیستم استفاده میکنند، عضو گروه Interactive آن سیستم هستند.
Network
زمانی که شما از طریق شبکههای کامپیوتری یا Network به منابع یک سیستم دستیابی پیدا میکنید؛ جزو گروه Network میباشید.
Authenticated Users
Authenticated Users همانطور که از نام آن پیداست شامل تمامی کاربرانی میشود که از طریق متدهای Authentication معتبر برای یک کامپیوتر؛ به آن دسترسی پیدا کرده اند.
خیلی راحت بخوام این مفهوم رو توضیح بدم، هر کاربری که به یک کامپیوتر logon یا login نموده است جزو Authenticated Users محسوب میشود.
Logon Anonymous
زمانی که کامپیوترها بصورت ناشناس و بدون احراز هویت توسط سرور یک سرویس را دریافت میکنند میگوییم این سرویس بصورت anonymous به کامپیوترها ارائه میشود. زمانی که افرادی بدون داشتن user account معتبر وارد یک سیستم کامپیوتری شوند یا از آن دسترسی بگیرند جزو گروه Logon Anonymous قرار میگیرند.
در واقع خیلی از سرویسها همانند وب سرویسها و… در شبکه ما ممکن است بصورت Anonymous ارائه شود. یا اینکه ممکن است یک نفر به دلایلی یک FTP در سطح شبکه خود ایجاد کند که بتوان به آن بصورت Anonymous متصل شد. البته که این کار اشتباه است ولی بعنوان یک مثال شدنی است.
نکته دیگری که باید راجب این گروه Logon Anonymous بدانید این است که در گذشته اعضای این گروه نیز جزو زیر مجموعههای گروه Everyone بودند. ولی از سرویس پک دوم ویندوز XP (XP SP2) به بعد مایکروسافت تصمیم گرفت این گروه را از Everyone جدا کند.
Batch
حتما تا کنون با فایلهای Batch آشنا شده اید؛ فایلهای Batch به فایلهایی گفته میشود که با فرمت. bat ذخیرهسازی شده و روی هر سیستم عامل اجرا میشوند. عموما در شبکههای کامپیوتری ما از این فایلها برای کانفیگ کامپیوترها و یا پیادهسازی یک پروسه روی تعداد انبوهی کامپیوتر استفاده میکنیم.
گروه Batch در کامپیوترها شامل userهایی میباشد که برای اجرای عملاتهای اجرایی بصورت دستهای logon میکنند. در واقع شما در شبکههای کامپیوتری خیلی از کارها را قرار نیست روی هر کامپیوتر انجام بدهید.
برای مثال شما اگر بخواهید روی تمامی کامپیوترهای یک سازمان یک file sharing تعریف کنید، قطعا روی تکتک این کامپیوترها login نمیکنید چون بر فرض اگر این سازمان تنها ۱۰۰۰ کامپیوتر داشته باشد، شما ممکن است تا مدتها کابوس ببینید 😊.
بجای این کار میتوانید یک Batch فایل تعریف کنید که روی هر کامپیوتر اجرا شود و عملیات مربوط به ساخت file sharing را برای شما روی آن کامپیوتر انجام دهد. حالا در مورد همان فایل Batch هم ممکن است شما تکتک به سراغ کامپیوترها بروید یا اینکه یک فرایند تعریف کنید تا طی آن در یک ساعت مشخص روی تمامی کامپیوترها این فایل Batch اجرا شود.
Dial-up
Dial-up یک سیستم خیلی قدیمی بود که البته ممکن هست هنوز هم در برخی از کامپیوترها مورد استفاده قرار گیرد. اگر بخاطر داشته باشید قبلا اینترنتهای کامپیوتر بصورت Dial-up بود. یعنی شما با استفاده از یک نرمافزار یا با استفاده از یک ابزار باید شمارهای را میگرفتید تا به اینترنت متصل میشدید.
در واقع Dial-up یک راهکار ارتباطی بین کامپیوترها در شبکه میتواند باشد. اعضای گروه Dial-up، یوزرهایی هستند که بصورت Dial-up به کامپیوتر شما logon میکنند.
Service
شما در آینده با یکسری Service بر روی سرورها آشنایی پیدا خواهید کرد که کاربران برای دریافت این سرویسها حتما باید پروسه Authentication را انجام دهند. مجموعه یوزر اکانتهایی که برای دریافت یا اجرای یک سرویس به کامپیوتر شما logon میکنند، جزو گروه Service قرار میگیرند.
System
این گروه توسط خود سیستم عامل مورد استفاده قرار میگیرد. تا جایی که من میدانم System یا local System قویترین گروه دسترسی محسوب میشود و دسترسی کاملی به کل سیستم کامپیوتری دارد. از طرفی زمانی که یک هکر به یک سیستم کامپیوتری تحت ویندوز نفوذ میکند، سعی میکند دسترسی خود را به System ارتقا دهد.
اگر یک سرویس یا پروسه بتواند به گروه local System دسترسی پیدا کند و با دسترسی آن اجرا شود، آن سرویس به تمامی فرایندها و مجوزها دسترسی خواهد داشت. برای همین اگر یک هکر بتواند عملیات مورد نظر خود را با دسترسی گروه System انجام دهد، هیچ چیزی جلودار او نیست.
در سیستم عاملهای مایکروسافت ویندوز برخی از پروسهها و سرویسها بصورت پیشفرض با دسترسی گروه System اجرا میشوند.
ممکن است گروههایی در اینجا وجود داشته باشد که من آنها را توضیح نداده باشم. البته شما با تمامی این گروهها در network plus آشنایی پیدا نمیکنید ولی من در هر مقاله ترجیه میدهم کلیه مفاهیم را بصورت کامل بیان کنم.
مقدار پیشفرض SID ها
خب برمیگردیم سر بحثمون در مورد SID ها:
زمانی که من یک دسترسی به هر شکلی روی یک کامپیوتر دارم، در نهایت یک سطحی از دسترسی برای من شخص شده است و این سطح دسترسی در دنیای مایکروسافت ویندوز با استفاده از SID برای من مشخص میشود. شما با استفاده از دستور whoami /all در command prompt میتوانید SID یوزر خود را مشاهده کنید.
همچنین اگر دقت کنید شما این امکان را خواهید داشت تا SID گروههای سیستم خود را نیز مشاهده نمایید. SID همان چیزی است که یک یوزر را منحصر بفرد میسازد. در واقع اگر شما دو یوزر با نام کاربریهای یکسان، دسترسیهای یکسان و پسوردهای یکسان در شبکه خود ایجاد کنید، SID آنها را از یکدیگر متمایز میکند.
یکسری از SIDها بصورت well-known تعریف شده اند. برای مثال شما در تمامی سیستم عاملهای ویندوزی شاهد آن هستید که SID گروه everyone بصورت زیر است:
S-1-1-0
یا اینکه در تمامی کامپیوترها گروه local این ساختار را برای SID داراست:
S-1-2-0
یه نکتهی خیلی جالب که توی کتاب CEH ورژن ۹ در مورد SIDها نوشته شده این است که شما قبل از login روی هر کامپیوتر یه سطحی از دسترسی روی آن دارید. و این سطح از دسترسی شما شامل یک SID میباشد و این SID در تمامی کامپیوترها از ساختار زیر پیروی میکند:
S-1-5-18
یا یک نمونه دیگر از SID ها، Null SID میباشد که از ساختار زیر تبعیت میکند:
S-1-0-0
ما یکسری SID معروف داریم، معمولا افرادی که چندین سال است در شبکههای مایکروسافتی کار میکنند با این SIDها آشنایی دارند:
ردیف |
نام SID |
مقدار SID |
توضیحات |
1 |
Null SID |
S-1-0-0 |
Null SID به معنای گروهی هست که هیچگونه عضوی ندارد. |
2 |
Everyone |
S-1-1-0 |
گروهی که همه کاربران را به جز Logon Anonymous در بر میگیرد. |
3 |
Local |
S-1-2-0 |
این گروه مربوط به کاربرانی میشود که بصورت local از سیستم استفاده میکنند. |
4 |
Creator Owner ID |
S-1-3-0 |
این گروه با ایجاد یک پروسه ، عنصر یا فایل توسط کاربر ایجاد میشود و نشان دهنده مالکیت کاربر نسبت به فایل یا پروسه است. |
5 |
Creator Group ID |
S-1-3-1 |
این SID با ایجاد یک عنصر توسط یک گروه، جایگزین میشود. |
6 |
Enterprise Domain Controllers |
S-1-5-9 |
|
7 |
Authenticated Users |
S-1-5-11 |
|
8 |
Domain Admins |
S-1-5-21 |
|
9 |
Users |
S-1-5-32-545 |
|
10 |
Guests |
S-1-5-32-546 |
|
11 |
Account Operators |
S-1-5-32-548 |
|
12 |
Server Operators |
S-1-5-32-549 |
|
13 |
Print Operators |
S-1-5-32-550 |
|
14 |
Backup Operators |
S-1-5-32-551 |
|
15 |
Replicators |
S-1-5-32-552 |
|
16 |
Remote Desktop Users |
S-1-5-32-555 |
|
17 |
Network Configuration Operators |
S-1-5-32-556 |
|
18 |
Incoming Forest Trust Builders |
S-1-5-32-557 |
|
19 |
Event Log Readers |
S-1-5-32-573 |
|
البته خیلی از موارد دیگه هم وجود دارند که اینجا به آن اشاره نشده ولی در کتابهای مربوط به امنیت در مورد SIDهای بالا توضیح داده شده.
اگر به یاد داشته باشید در جلسه گذشته در مورد SAM یا security accounts manager صحبت نمودیم. خوب است بدانید SAM دیتای مربوط به SIDها را در خود نگهداری میکند. شما با استفاده از همین command: whoami /all میتوانید بسیاری از ساختارهای SIDها را برای گروههای مختلف مشاهده کنید.
ساختار SID
خود SID شامل یک ساختار است. منظور از سختار این است که این شناسه صرفا یکسری کاراکترهای رندوم نیست و از خود SID میتوان به یکسری مفاهیم رسید. برای مثال شما SID زیر را در نظر بگیرید:
S-1-5-21-925799540-4244847519-4294395161-1000
SIDها از نظر ساختار دارای سه قسمت اصلی میباشند:
بخش ابتدایی SID که معادل S-1-5-21 هست نشان دهنده گروه SID میباشد. برای مثال اگر دو user دارای گروههای یکسانی باشند، بخش ابتدایی آنها نیز یکسان است مانند دو SID زیر:
S-1-5-21-925799540-4244847519-4294395161-1000
S-1-5-21-549688327-91903405-2500298261-1000
بخش دوم مربوط به دامین است که در اینجا ما خیلی نمیخواهیم به توضیح آن بپردازیم. زمانی که یک دامین ایجاد میشود یک بخش از SID همه کامپیوترهایی که join آن دامین هستند، یکسان است. در SID که بالاتر مثال زدیم قسمت «۹۲۵۷۹۹۵۴۰-۴۲۴۴۸۴۷۵۱۹-۴۲۹۴۳۹۵۱۶۱» مربوط به این بخش است.
مهمترین قسمتی که یک SID را تشکیل میدهد Relative Identifier است که به اختصار به آن Relative ID یا RID نیز گفته میشود. در واقع این بخش شامل یک عدد است که هر user را با user دیگر متمایز میکند. یعنی در واقع کاربران با استفاده از RID شناسایی میشوند.
در RIDها نیز ما یکسری پیفرضها را داریم. برای مثال کاربر administrator در تمامی کامپیوترها از RID معادل ۵۰۰ استفاده میکند. یا برای مثال یوزر Guest در تمامی کامپیوترها بصورت پیشفرض از RID ۵۰۱ استفاده میکند.
شما با استفاده از کامند زیر و وارد کردن آن در CMD میتوانید لیست تمامی user accountهای سیستم خود بهمراه SIDهای آنها را مشاهده نمایید:
wmic useraccount get name, sid
SIDها به گونهای طراحی شدهاند که در یک شبکه کامپیوتری تقریبا غیر ممکن است شما دو user با SIDهای مشابه هم پیدا کنید.
ولی میتوان در شبکهها از یک سیستم ایمیج گرفت و بصورت عمدی باعث بوجود آمدن SIDهای مشابه شد. البته که این کار باعث بوجود آمدن مشکلات زیادی در شبکه شما میشود. در آینده به شما آموزش خواهم داد که در صورت بروز یک همچین اتفاقی چکاری باید انجام دهید تا SID تغییر کند.
وظیفه SID
بطور کلی در شبکههای مایکروسافتی تمامی userها با SID شناسایی میشوند. زمانی که شما قصد دارید پروسه Authentication را سپری کنید در اولین مرحله برای یک سرور username و password خود را ارسال میکنید.
سپس سروری که قصد ارائه سرویس به شما را دارد؛ یک token برای شما میسازد که شامل username، SID و همچنین گروهی که کاربر در آن عضو است میباشد. سپس سرور ارائه دهنده سرویس این توکن را برای کلاینت ارسال میکند تا بتواند سرویس مورد نظر خود را با استفاده از آن دریافت کند.
در token برای یک مدت زمانی مشخصی دارای اعتبار است و پس از گذشت آن مدت زمان، کلاینت دوباره باید برای احراز هویت و ادامه سرویس دهی پروسه Authentication را طی کند. در مورد tokenها در اینجا قصد صحبت کردن نداریم. شما برای درک بهتر از SIDها میتوانید در مورد Special identity groups مطالعه کنید.
واقعا در مورد SIDها و نحوه کار آنها میتوان ساعتها صحبت نمود و زمانی که من این مقاله را شروع میکردم فکر نمیکردم اینقدر طولانی شود. در صورتی که از مطالب بالا سوالی داشتید در بخش نظرات مطرح کنید تا به آن پاسخ بدم.