Nmap For Pen Testers – بخش هشتم

Nmap For Penetration Testers

در این بخش از دوره آموزشی Nmap for Pen Testers شما با انواع روش های اسکن پورت با Nmap و دستورات مربوط به هر بخش آشنا خواهید شد.

شناسایی پورت های باز Check for open ports

قبل از مطرح کردن مسائل مربوط به اسکن پورت های شبکه، آگاهی از مطالبی مانند آشنایی با پورت ها، دست تکانی سه مرحله ای و آشنایی با انواع flag ها، خالی از لطف نمی باشد.

پورت ها به دو دسته سخت افزاری و نرم افزاری تقسیم می شوند. پورت سخت افزاری مانند پورت های سریال یا USB بوده، اما پورت های نرم افزاری یا مجازی شامل 65535 پورت می باشد که هر کدام از آنها کاربردی دارد. مثلا پورت 80 برای HTTP می باشد.

در سیستم عامل ویندوز و لینوکس شماره پورت های معروف به ترتیب در مسیرهای زیر قرار دارد.

C:\Windows\system32\drivers\etc\services
/etc/services

انواع روش های تعریف تارگت در Nmap

Three-Way Handshake یا دست تکانی سه مرحله ای

TCP که یکی از پروتکل های مهم شبکه است، برای برقراری ارتباط بین دو دستگاه مانند کلاینت و سرور، از روشی به نام دست تکانی سه مرحله ای یا Three-Way Handshake استفاده می کند. مراحل این دست تکانی به شکل زیر است:

مرحله اول : در این مرحله سیستم اول بسته ای را که فقط flag SYN در آن تنظیم شده است، به سیستم دوم ارسال می کند.(درخواست برقراری ارتباط)
مرحله دوم: در این مرحله سیستم دوم بسته ای را که flag های SYN و ACK در آن تنظیم شده است به سیستم اول پاسخ می دهد.(آمادگی برای ارتباط)
مرحله سوم: در این مرحله سیستم اول پاسخی را به سیستم دوم ارسال می کند که فقط حاوی ACK flag درون بسته ارسالی می باشد.(برقراری ارتباط)
اگر سه مرحله بالا بدون هیچ مشکلی انجام شود، یک ارتباط TCP بین دو سیستم برقرار شده است.

آشنایی با flag های TCP

SYN یا Synchronize: از این flag برای آغاز یک ارتباط بین دو سیستم استفاده می شود.
ACK یا Acknowledgment: از این flag به منظور تصدیق رسیدن یک بسته استفاده می شود.
PSH یا Push: این flag به منظور ارسال بلافاصله داده های بافر شده استفاده می شود.
RST یا Reset:از این flag به منظور راه اندازی دوباره ارتباط استفاده می شود.
FIN یا Finish: این flag به این موضوع اشاره دارد که دیگر انتقال انجام نپذیرد.
URG یا Urgent: وجود این flag به این موضوع اشاره دارد که داده های داخل بسته باید بلافاصله پردازش شوند.

تکنیک های اسکن

در ادامه با توجه به توضیح Flag های TCP، در هر یک از انواع اسکن، Flagهایی مختلفی مورد استفاده قرار می گیرد که با آنالیز پاسخ های دریافتی، می توان باز یا بسته بودن یک پورت را شناسایی نمود. یادگیری مفاهیم زیر در ادامه برای انجام اسکن پورت با Nmap و درک دستورات آن بسیار مفید خواهد بود.

TCP Connect/Full open scan

در این نوع اسکن با تکمیل ارتباط TCP پورت های باز شناسایی می شود. در صورتی که ارتباط کامل نشود پورت بسته است.

TCP Connect/Full open scan

Stealth scan یا Half-open scan

نفوذگر از این نوع اسکن برای دور زدن فایروال و مکانیزم های احراز هویت استفاده می کند. همچنین با استفاده از این روش آن ها عمل اسکن را به عنوان ترافیک معمول شبکه وا نمود کرده و بدین صورت اسکن مخفی می گردد.

دوره آموزشی Nmap برای تست نفوذگران

با توجه به اینکه بسته ACK از جانب نفوذگر به سیستم هدف ارسال نمی شود، به همین دلیل ارتباط به صورت کامل برقرار نمی شود. در برخی از سیستم هایی که برقراری ارتباط کامل ثبت می شود، با استفاده از این نوع اسکن با توجه به اینکه ارتباط را کامل نمی کند، می توان از ثبت ارتباط در سیستم هدف جلوگیری به عمل آورد.

Stealth scan یا Half-open scan

مطابق تصویر بالا اگر پاسخ از سمت قربانی RST باشد پورت بسته بوده و اگر پاسخ SYN+ACK باشد پورت مورد نظر باز است.

Xmas scan

در این نوع اسکن بسته ای که در آن flag های URG,FIN,PUSH تنظیم شده است ارسال می شود. اگر پاسخی از قربانی دریافت نشود، پورت باز بوده و اگر بسته حاوی RST flag از سمت قربانی باشد، پورت بسته است. Xmas scan تنها بر روی سیستم هایی که دارای پیاده سازی RFC793 می باشند کار کرده و برای نسخه های ویندوز کار نمی کند.

Xmas scan

FIN Scan

در این نوع اسکن بسته ای که حاوی FIN flag می باشد، ارسال می شود. اگر پاسخی از قربانی دریافت نشد، پورت باز بوده و اگر RST+ACK ارسال شد، پورت بسته است. در این نوع اسکن هم سیستم ها باید دارای پیاده سازی RFC793 باشند. همچنین این اسکن برای نسخه های ویندوز کار نمی کند.

FIN Scan

Null scan

در این نوع اسکن بسته ای که در آن هیچ flag تنظیم نشده است، ارسال می شود. اگر قربانی هیچ پاسخی ارسال نکرد، پورت باز است و اگر بسته ای که حاوی flag های RST+ACK باشد، ارسال شود، پورت بسته است. این اسکن نیز محدودیت های Xmas scan و FIN scan را دارد.

Null scan

در ادامه با توجه به توضیح مفاهیم اسکن و چگونگی ارسال درخواست و دریافت پاسخ آن ها، دستوراتی که در Nmap برای انجام هر یک از این اسکن ها مورد استفاده قرار می گیرد، به صورت زیر می باشد:

nmap -sT IP (TCP Scan)
nmap -sS IP (SYN Scan)
nmap -sX IP (XMAS Scan)
nmap -sF IP (FIN Scan)
nmap -sN IP (Null Scan)

در بخش بعدی به روش های دیگری که در اسکن پورت با Nmap مورد استفاده قرار می گیرد، خواهیم پرداخت.

درباره نویسنده: احسان نیک آور

ممکن است دوست داشته باشید