۱ کلیات و مفاهیم پایه Enumeration
این جزوه آموزشی بر اساس سورسهای رسمی، اسلایدها و کلاسهای آموزشی دوره CEH v13 (ماژول ۴: Network Enumeration) تنظیم شده است. در این فایل، تمامی مطالب حاشیهای حذف شده و مفاهیم به صورت گامبهگام و مرتب تدوین گردیدهاند.
مرحله Enumeration (شمارش و شناسایی عمیق) یکی از مراحل اصلی ارزیابی امنیتی است. در این گام، برخلاف مراحل جمعآوری غیرفعال اطلاعات (Reconnaissance)، یک ارتباط فعال (Active Connection) با سیستم هدف برقرار شده و درخواستهای متعددی برای استخراج جزئیات ساختاری شبکه ارسال میشود. هدف اصلی این گام، گردآوری اطلاعات لازم برای ارزیابی جامع سیستمهاست.
منابع و اطلاعات قابل استخراج در مرحله Enumeration
پروتکلها و سرویسهای مختلف شبکه امکان استخراج اطلاعات زیر را فراهم میسازند:
- منابع شبکه و فایلهای به اشتراک گذاشته شده (Shared Resources & Drives)
- جداول مسیریابی (Routing Tables) و توپولوژی شبکه
- تنظیمات و بنرهای سرویسها (Service Banners & Configurations)
- جزئیات دقیق سرویسهای DNS و SNMP
- نام ماشینها، نامهای کاربری (Usernames) و گروهها (Groups)
- اطلاعات مربوط به اکتیو دایرکتوری (Active Directory Objects & OUs)
۲ مرجع پورتها و سرویسهای کلیدی Enumeration
جدول زیر پورتهای استاندارد و سرویسهای مرتبط مطرحشده در این دوره را خلاصه میکند:
| شماره پورت | پروتکل | سرویس مرتبط | توضیحات و اطلاعات قابل استخراج |
|---|---|---|---|
| 53 | TCP/UDP | DNS | انتقال زون (Zone Transfer)، استخراج رکوردهای DNS و نام ماشینها |
| 135 | TCP/UDP | MS RPC Endpoint Mapper | شناسایی ایندپوئینتهای RPC و سرویسهای ویندوزی |
| 137 | UDP | NetBIOS Name Service (NBNS) | شناسایی نام سیستمها و دامینها در شبکه محلی |
| 139 | TCP | NetBIOS Session Service | ارتباطات SMB over NetBIOS، مشاهده اشتراکگذاریها |
| 445 | TCP/UDP | SMB over TCP (Direct Host) | اشتراکگذاری فایل/پرینتر، استخراج اطلاعات سیستمعامل و حسابها |
| 161 | UDP | SNMP Agent | پایش شبکه، استخراج مشخصات تجهیزات، کاربران و تنظیمات |
| 162 | TCP/UDP | SNMP Trap | دریافت هشدارها و رخدادهای سیستم از سمت Agent |
| 389 | TCP/UDP | LDAP | پرسوجو در Active Directory، استخراج کاربران، گروهها و ساختار دایرکتوری |
| 123 | UDP | NTP | همسانسازی زمان، استخراج لیست کلاینتها و آدرسهای IP متصل |
| 25 | TCP | SMTP | سرویس ارسال ایمیل، استخراج نامهای کاربری با دستورات VRFY/EXPN |
| 500 | UDP | IPSec / ISAKMP (IKE) | ارتباطات VPN، شناسایی الگوریتمهای رمزنگاری و هش |
| 2049 | TCP | NFS | فایل سیستم شبکهای در سیستمعاملهای یونیکس/لینوکس |
| 22 | TCP | SSH | ریموت شل امن، شناسایی نسخه و بنر سرویس |
| 2000, 2001, 5050, 5060, 5061 | TCP/UDP | VoIP / SIP | ارتباطات صوتی و تصویری IP-PBX، شناسایی کلاینتها و گیتویها |
۳ بررسی تخصصی تکنیکهای Enumeration به تفکیک پروتکل
۳.۱. NetBIOS Enumeration
نامهای NetBIOS رشتههای ۱۶ کاراکتری هستند که برای شناسایی دستگاهها روی پروتکل TCP/IP استفاده میشوند. ساختار نامگذاری آن به صورت Flat (بدون قوانین ساختاریافته) بوده و از Broadcast برای پیدا کردن ماشینها در شبکه استفاده میکند.
- اطلاعات قابل استخراج: لیست کامپیوترهای دامین، لیست منابع به اشتراک گذاشته شده (Shares)، سیاستهای کلمه عبور (Password Policies).
- ابزارها و دستورات کاربردی:
- دستور
nbtstat(ویندوز):nbtstat.exe -c: نمایش محتوای cache نامهای NetBIOS و جدول IPهای حلشده.nbtstat.exe -a <IP>: دریافت جدول نامهای NetBIOS یک ماشین از راه دور.
- ابزار
nbtscan(لینوکس/کالی):nbtscan 192.168.233.0/24: اسکن رنج شبکه برای کشف نام ماشینها و دامینها.- نکته کلیدی: اگر در خروجی
nbtscanعبارتUnknownیاAnonدر برابر یک آدرس IP درج شود، نشاندهنده آن است که هدف احتمالاً یک سیستم غیرویندوزی (مانند روتر، سویچ، فایروال یا لینوکس) است که سرویس NetBIOS ندارد.
- دستور
net view(ویندوز):net view \\<IP> /ALL: نمایش منابع به اشتراک گذاشته شده در صورت وجود سشن فعال.
- اسکریپت انمپ (Nmap):
nmap -sV -v --script nbstat.nse <IP>: استخراج اطلاعات NetBIOS با انمپ.
- ابزارهای گرافیکی: SuperScan 4.1.
- دستور
۳.۲. SNMP Enumeration
پروتکل SNMP برای پایش و مدیریت دستگاههای شبکه (سوئیچها، روترها، سرورها) استفاده میشود. این سرویس بر پایه معماری Agent (روی دستگاه هدف، پورت UDP 161) و Manager (دستگاه مدیریتی) کار میکند.
- کلیدهای جامعه (Community Strings):
- Read Community String: به صورت پیشفرض
publicاست؛ اجازه مشاهده تنظیمات سیستم را میدهد. - Read/Write Community String: به صورت پیشفرض
privateاست؛ اجازه تغییر تنظیمات از راه دور را میدهد.
- Read Community String: به صورت پیشفرض
- تفاوت نسخههای SNMP:
- SNMP v1 & v2c: کلمات عبور و اطلاعات را به صورت متن ساده (Cleartext) منتقل میکنند.
- SNMP v3: قابلیتهای رمزنگاری (Encryption)، احراز هویت (Authentication)، و مفاهیم Inform و Trap امن را اضافه کرده است.
- عملیاتهای اصلی SNMP:
Get/GetNext/GetBulk: دریافت اطلاعات از Agent.Set: تغییر تنظیمات روی Agent.Trap/Inform: ارسال پیامهای نخواسته یا گزارش رخدادها از Agent به Manager.
- ابزارهای شناسایی SNMP:
snmp-check,snmpwalk,SNMP Scanner,OpUtils,Getif,PRTG,SolarWinds,Cacti,SNScan,Net-SNMP.
۳.۳. LDAP Enumeration
پروتکل LDAP (پورت TCP 389) سرویسی برای دسترسی به دایرکتوریهای توزیعشده مانند Active Directory است. از LDAP برای جستجوی سریع اطلاعات کاربران، ایمیلها، دپارتمانها و سرورها استفاده میشود.
- اسکریپتنویسی دستی LDAP با پایتون (Python LDAP Enumeration):
با استفاده از کتابخانه
ldap3در پایتون میتوان به سرور LDAP متصل شد و اطلاعات را استخراج نمود:pythonimport ldap3 # اتصال به سرور هدف روی پورت 389 server = ldap3.Server('Target_IP', get_info=ldap3.ALL, port=389) connection = ldap3.Connection(server) connection.bind() # در صورت موفقیت True برمیگرداند # دریافت اطلاعات دامنه و Naming Context print(server.info) # جستجوی تمامی اشیاء دایرکتوری connection.search( search_base='DC=DOMAIN,DC=LOCAL', search_filter='(&(objectClass=*))', search_scope='SUBTREE', attributes='*' ) # مشاهده نتایج استخراج شده print(connection.entries) - ابزارهای مدیریت و استخراج LDAP:
- AD Explorer (Sysinternals): ابزار قدرتمند مایکروسافت برای مشاهده هیرارکی و ساختار درختی Active Directory.
- سایر ابزارها: JXplorer, LDAP Administrator, LDAP Admin Tool, LDAP Account Manager, LEX The LDAP Explorer.
۳.۴. NTP Enumeration
پروتکل NTP (پورت UDP 123) برای همسانسازی زمان در شبکه استفاده میشود. دقت زمان در این پروتکل ۱۰ میلیثانیه و در شبکههای داخلی تا ۲۰۰ میکروثانیه میرسد.
- اطلاعات قابل استخراج: لیست سیستمهای متصل به سرور NTP، آدرسهای IP کلاینتها، نام سیستمها و مشخصات سیستمعامل.
- ابزارها و دستورات:
ntptrace: ردگیری زنجیره سرورهای NTP تا منبع اصلی.ntpdc: پایش عملکرد NTP daemon (کوئریmonlistبرای استخراج لیست کلاینتهای اخیر).ntpq: بررسی وضعیت و کارایی سرور NTP (کوئریreadlist).
۳.۵. SMTP Enumeration
پروتکل SMTP (پورت TCP 25) پروتکل ارسال ایمیل است. در صورت پیکربندی نامناسب، امکان استخراج حسابهای کاربری وجود دارد.
- دستورات استخراج کاربر در SMTP:
VRFY: تایید وجود نام کاربری روی سرور.EXPN: نمایش لیست واقعی کاربران یک لیست توزیع ایمیل.RCPT TO: مشخص کردن گیرنده پیام.
- ابزارها و دستورات:
- اتصال دستی:
telnet <IP> 25. - اسکریپت انمپ:
nmap -p 25 --script=smtp-enum-users <IP>.
- اتصال دستی:
۳.۶. DNS Enumeration
در فرآیند DNS Enumeration، هدف پیدا کردن سرورهای DNS، نامهای میزبان، رکوردهای DNS (مانند A, MX, NS, CNAME, TXT) و آدرسهای IP شبکه است.
- روشهای استخراج و ابزارها:
- دستور
nslookup:nslookup->server <IP>->set type=any->ls -d domain(جهت تست Zone Transfer).
- دستورات
dig,dnsenum,dnsrecon. - تکنیک DNSSEC Zone Walking:
- استخراج رکوردهای DNSSEC سرور با ابزارهای
dnsrecon -d <Domain> -zیاldns-walk @<DNS_IP> <Domain>.
- استخراج رکوردهای DNSSEC سرور با ابزارهای
- ابزار OWASP Amass:
- اجرای ترکیبی شناسایی فعال و غیرفعال: ابزار Amass جهت استخراج رکوردهای DNS بدون ایجاد هشدار روی سیستم هدف.
- دستور
۳.۷. IPSec / IKE Enumeration
پروتکل IPSec برای امنسازی ترافیک (از جمله VPNها) از پروتکلهای AH, ESP و IKE/ISAKMP استفاده میکند.
- پورت: اسکن پورت UDP 500 جهت کشف سرویس ISAKMP.
- دستورات:
nmap -sU -p 500 <Target_IP>.ike-scan -M <Target_IP>: ارسال بستههای IKE جهت کشف الگوریتمهای رمزنگاری (Encryption)، هش (Hash)، نوع احراز هویت (Auth) و LifeDuration.
۳.۸. VoIP Enumeration
سرویس VoIP برای انتقال صوت و تصویر از پروتکل SIP (Session Initiation Protocol) روی پورتهای 2000, 2001, 5050, 5060, 5061 استفاده میکند.
- اطلاعات قابل استخراج: سیستمهای IP-PBX، VoIP Gateways، کلاینتهای نرمافزاری و لیست کاربران.
- ابزارها:
svmap: اجرای اسکن روی شبکه (svmap 192.168.0.1/24).- ابزارهای اسکن SIP:
- شناسایی کلاینتها و پاسخهای SIP روی پورت 5060.
۳.۹. Linux / Unix Enumeration
برای استخراج لیست کاربران متصل و نشستهای کاری فعال در سیستمهای لینوکسی استفاده میشود.
- دستورات کلیدی:
finger @<IP>یاfinger user@<IP>: استخراج اطلاعات حساب کاربر، مسیر home، شل مورد استفاده و زمان آخرین ورود.rusers,rwho: نمایش کاربران فعال از راه دور (در صورت فعال بودن دمونهایfingerd,rusersd,rwhod).
۴ سناریوی عملی آزمایشگاهی (Active Directory & Kerberos Enumeration)
این بخش مراحل گامبهگام سناریوی عملی تدریس شده در کلاس و اسلایدها را بازسازی میکند [10-16]:
گامهای اجرای سناریو:
nmap -sn 192.168.233.0/24
nbtscan 192.168.233.0/24
نتیجه: کشف نام کامپیوترها و نام دامین (challenge-dc.local).
- کشف نسخه سیستمعامل و بیلد (Windows Server 2019) و تایید نام دامین (
challenge-dc.local).
nmap -p 389 192.168.233.0/24 --open
نتیجه: پیدا کردن IP سرور کنترلکننده دامین (DC) به آدرس 192.168.233.182.
- تنظیم پارامترهای آدرس DC (
192.168.233.182)، نام دامین (challenge-dc.local) و لیست کاربران. - اجرای اسکن احراز هویت Kerberos.
- نتیجه: کشف حسابهای کاربری معتبر دامین مانند
test,adminو وضعیت حسابguest.
- اجرای
AD Explorerاز مجموعه Sysinternals. - وارد کردن IP سرور (
192.168.233.182)، نام کاربری کشفشده (test) و کلمه عبور. - اقدامات انجامشده در AD Explorer:
- پیمایش ساختار درختی دامین (
challenge-dc.local). - مشاهده واحدهای سازمانی (OUها) مانند
OU=اداری. - بررسی اعضای گروههای حساس مانند
Domain AdminsوAdministrators. - جستجوی مشخصات سیستمعاملها با فیلتر
operatingSystem=*2019*. - استخراج SID و مشخصات حسابهای کاربری.
- پیمایش ساختار درختی دامین (
۵ روشهای مقابله و امنسازی (Countermeasures)
جدول زیر راهکارهای دفاعی و امنسازی سرورها را در برابر حملات Enumeration خلاصه میکند:
| سرویس | خطرات امنیتی | راهکارهای مقابله و امنسازی |
|---|---|---|
| SNMP | افشای اطلاعات با Community String شفاف | غیرفعالسازی یا حذف SNMP Agent؛ تغییر public/private پیشفرض؛ ارتقا به SNMPv3 (دارای رمزنگاری)؛ محدودسازی اتصال کلاینتها. |
| DNS | افشای ساختار شبکه با Zone Transfer | غیرفعالسازی Zone Transfer برای میزبانهای نامطمئن؛ عدم قرار دادن آدرسهای IP خصوصی در DNS عمومی؛ استفاده از Premium DNS؛ پیادهسازی Split-DNS. |
| LDAP | افشای ترافیک و حسابها به صورت Cleartext | اجبار به استفاده از LDAPS (SSL/TLS - Port 636)؛ انتخاب نام کاربری متفاوت از آدرس ایمیل؛ فعالسازی سیاست Account Lockout. |
| SMTP | استخراج نامهای کاربری با VRFY/EXPN | پیکربندی سرور جهت نادیده گرفتن درخواستهای VRFY/EXPN؛ عدم ارسال پاسخهای حاوی جزئیات سیستم و بنرهای امنیتی. |
۶ دیکشنری تخصصی و اصطلاحنامه Enumeration
در این بخش، کلیه واژهها، ابزارها، پروتکلها و اصطلاحات مطرحشده در این ماژول به همراه تعریف مختصر فارسی و انگلیسی گردآوری شده است:
| اصطلاح / ابزار / پروتکل | عنوان انگلیسی | تعریف و کاربرد در Enumeration |
|---|---|---|
| Enumeration | Enumeration | فرآیند برقراری ارتباط فعال با سیستم هدف جهت استخراج نام کاربران، گروهها، مسیرها و تنظیمات سرویسها. |
| NetBIOS | Network Basic Input/Output System | API و پروتکل نامگذاری سیستمهای ویندوزی در شبکه محلی که از نامهای ۱۶ کاراکتری و ساختار Flat استفاده میکند. |
| NBNS | NetBIOS Name Service | سرویس حل نام NetBIOS که روی پورت UDP 137 کار میکند. |
| SMB | Server Message Block | پروتکل اشتراکگذاری فایل، پرینتر و ارتباطات بینپردازشی در ویندوز (پورتهای TCP 139 و 445). |
| SNMP | Simple Network Management Protocol | پروتکل پایش و مدیریت تجهیزات شبکه روی پورت UDP 161. |
| Community String | Community String | کلمه عبور احراز هویت در SNMP v1/v2c (شامل public برای خواندن و private برای نوشتن). |
| MIB | Management Information Base | پایگاه داده ساختاریافته در SNMP که اطلاعات تجهیزات شبکه را نگهداری میکند. |
| LDAP | Lightweight Directory Access Protocol | پروتکل پرسوجو و دسترسی به سرویسهای دایرکتوری مانند Active Directory (پورت TCP 389). |
| LDAPS | LDAP Secure | نسخه امن LDAP که ترافیک را با SSL/TLS رمزنگاری میکند (پورت TCP 636). |
| NTP | Network Time Protocol | پروتکل همسانسازی زمان در شبکه روی پورت UDP 123. |
| SMTP | Simple Mail Transfer Protocol | پروتکل ارسال ایمیل روی پورت TCP 25. |
| VRFY / EXPN | Verify / Expand Commands | دستورات SMTP جهت تایید وجود نام کاربری یا گسترش لیستهای ایمیل. |
| Zone Transfer | DNS Zone Transfer (AXFR) | فرآیند کپی کردن کامل پایگاه داده رکوردهای یک زون DNS از سرور اصلی به سرور فرعی. |
| DNSSEC Zone Walking | DNSSEC Zone Walking | تکنیک استخراج رکوردهای DNS با سوءاستفاده از رکوردهای NSEC در DNSSEC. |
| ISAKMP / IKE | Internet Key Exchange | پروتکل تبادل کلید و برقراری ارتباطات امن در IPSec / VPN (پورت UDP 500). |
| SIP | Session Initiation Protocol | پروتکل برقراری و کنترل سشنهای صوتی و تصویری در VoIP (پورتهای 5060/5061). |
| AD Explorer | Active Directory Explorer | ابزار گرافیکی پیشرفته از Sysinternals جهت پیمایش و جستجو در Active Directory. |
| nbtscan | NetBIOS Scanner | ابزار خط فرانی لینوکس برای اسکن نامهای NetBIOS در یک رنج IP. |
| ike-scan | IKE Scanner | ابزار شناسایی و استخراج تنظیمات رمزنگاری سرورهای VPN IPSec. |
| OWASP Amass | OWASP Amass | ابزار جامع نگاشت شبکه و DNS Enumeration فعال و غیرفعال. |
| svmap | SIP Scanner (SIPVicious) | ابزار کشف و اسکن تجهیزات و کلاینتهای SIP / VoIP. |