SMB Enumeration چیست و چطور انجام میشود؟
پروتکل SMB (Server Message Block) یکی از پروتکلهای اصلی سیستمعامل ویندوز برای اشتراکگذاری فایل، پرینتر و منابع شبکه هستش. هر وقت که بخواهید روی یک شبکه داخلی یک پوشه، پرینتر یا حتی یک دستگاه NAS را در دسترس بقیه سیستمها قرار بدین، پشتصحنه همین پروتکل SMB در حال کار هستش.
این پروتکل بهصورت پیشفرض روی تعداد زیادی از دستگاهها فعال است:
روی ویندوزها
روی پرینترهای شبکه
روی NASها
روی روترهایی که قابلیت USB-Storage دارن
به همین خاطر SMB همیشه یکی از نقاط مهم در بحث امنیت شبکه و مانیتورینگ محسوب میشه و بیشتر اسیب پذیری ها روی این پروتکول هستش
ورژنهای SMB و پورتهایی که استفاده میکنه
SMBv1: ویندوز XP ، ویندوز 7 قدیمی، Server 2008 TCP/139
SMBv2: ویندوز 7 ، 8 ، 10 ، Server 2008+ TCP/445
SMBv3: ویندوز 10 ، ویندوز 11 ، Server 2016+ TCP/445
حالا SMB Enumeration چیه؟
مشخصا Enumeration یعنی جمعآوری اطلاعات درباره سرویس SMB روی یک سیستم، بدون اینکه وارد اون سیستم بشیم.
چیزهایی که معمولاً در Enumeration SMB به دست میاریم:
لیست یوزرها
لیست Shareهای موجود
اطلاعات سیستمعامل و نسخه
بررسی سطوح دسترسی
تشخیص اینکه SMB چه نسخهای هستش
این اطلاعات برای:
مدیریت شبکه
عیبیابی
بررسی امنیتی
پیدا کردن misconfiguration
مهمه
چطور این کار انجام میشه؟
1) با ابزارهایی مثل Nmap
Nmap یسری اسکریپت داره (NSE)
مخصوصSMB هست که میشه
نسخه SMB
لیست Shareها
اطلاعات سیستم
رو نمایش داد
این بخش بیشتر برای تحلیل و بررسی امنیتی استفاده میشه.
یا با استفاده از متا اسپلویت
Use auxiliary/scanner/smb/smb_login
Set rhost
Set pass_file
Set user_file
..
Run
اگه یوزر و پسورد داخل لیست بود و موفق بود پیدا میشه
ما با استفاده از مجموعه ابزار ps tools که از مایکروسافت sysinternals هستش میاییم بهره برداری میکنیم روی پروتکول smb از طریق یوزر نیم و پسورد بدست اومده
Ps tools
رو از سایت مایکروسافت دانلود کرده و توی cmd به این روش استفاده میشه ؛
Psinfo.exe اطلاعات مربوط به سیستم رو میده
Psexc64.exe میاد پراسسی رو اجرا میکنه
Pslist.exe میاد لیست میکنه پراسس هارو
و....
نحوه استفاده :
Psinfo.exe //192.168.1.1 -u amir -p 123
حالا ما برای اینکه دستریی cmd از سیستم مقصد داشته باشیم از ps exec64 استفاده میکنیم
Psexec64.exe -i //192.168.1.1 -u amir -p 123 cmd.exe
راهکارهای دفاعی:
✔ 1) غیرفعالکردن SMBv1
SMBv1
قدیمی و ناامن هستش. در ویندوزهای جدید بهصورت پیشفرض غیرفعال شده
✔ 2) اعمال Password Policy
پسوردهای حداقل ۱۲ کاراکتری
ترکیب عدد، حرف و علامت
محدودیت تعداد تلاش ورود (Account Lockout)
✔ 3) بستن پورت 445 برای اینترنت
پورت 445 فقط باید داخل شبکه داخلی باز باشه.
✔ 4) استفاده از فایروال ویندوز
برای اینکه فقط سیستمهای مجاز بتونن به SMB وصل بشن
✔ 5) مانیتورینگ Logها
بازرسی رخدادهای ورود ناموفق، دسترسیها و تغییرات.
✔ 6) فعالکردن SMB Signing
این قابلیت مانع حملات MITM در SMB میشود.
https://t.me/ViperNull
Post #256
881