تصور کنید مالک یک قلعه هستید، ما برای پیشگیری از حملات دشمن باید چه کاری انجام بدهیم؟ باید خودمان دیوارها، برج‌ها و درهای آن را برای پیدا کردن نقاط ضعف بررسی کنیم تا از خطرات احتمالی پیشگیری بکنیم . در دنیای امنیت شبکه، این قلعه همان کامپیوتر ما و این کار «اسکن آسیب‌پذیری» نام دارد. پیدا کردن آسیب‌پذیری‌ها قبل از هکرها یک ضرورت حیاتی است.  ما با اسکن و شناسایی این نقاط ضعف، از سرقت اطلاعات کاربرانمان، از کار افتادن کسب‌وکارمان و از دست دادن کامل کنترل روی سیستم‌هایمان جلوگیری می‌کنیم.در این مقاله، قصد داریم به صورت گام‌به‌گام و عملی یاد بگیریم که چگونه با استفاده از قابلیت‌های پیشرفته Nmap، یک اسکن کامل برای شناسایی آسیب‌پذیری‌های رایج روی یک سیستم هدف اجرا کنیم.

Nmap

  پیش نیاز های این آموزش چیست؟

برای شروع این آموزش تنها به دو چیز نیاز داریم:نرم افزار Nmap و آشنایی اولیه با نحوه کار  آن. در صورتی که با Nmap آشناییت ندارید پیشنهاد میکنیم ابتدا مقاله   Nmapچیست؟ معرفی بهترین پورت اسکنر شبکه دنیا را در سایت ما مطالعه کنید.

اسکن گام به گام با Nmap

 

گام اول: پیدا کردن آدرس IP هدف

ما میتوانیم برای پیدا کردن آدرس IP دستگاهی که می‌خواهیم اسکن کنیم (که در این آموزش یک ماشین مجازی است)، بسته به سیستم‌عامل خود می‌توانیم از دستورات زیر استفاده کنیم:

  • در ویندوز: ترمینال Command Prompt  را باز کرده و دستور ipconfig  را وارد کنید.
  • در لینوکس: ترمینال را باز کرده و دستور ip a  یا دستور ifconfig  را وارد کنید.
  • در: macOS ترمینال را باز کرده و دستور ifconfig یا ip a را وارد کنید.

که با توجه به اینکه ما از  Windows 10به عنوان هدف استفاده میکنیم دستور ipconfig را زدیم که در تصویر زیر نتیجه را میتوانید مشاهده بکنید:

 

در خروجی دستور، آدرس 192.168.56.1  مربوط به شبکه‌ی مجازی ما برای ارتباط با ماشین مجازی است و آدرس 192.168.1.100  مربوط به شبکه اصلی اینترنت ماست؛ هدف ما در این آموزش، آدرسی است که در شبکه‌ی مجازی قرار دارد.

گام دوم: اسکن اولیه برای شناسایی پورت ها و سرویس ها

برای این کار از دستور رو به رو استفاده میکنیم: nmap -sV -sC 192.168.56.1

بیایید این دستور را باز کنیم:

  • Nmap :  نام ابزار ماست.
  • :-sV  این سوییچ به Nmap می‌گوید که علاوه بر پیدا کردن پورت باز، نسخه سرویس در حال اجرا روی آن را هم تشخیص دهد. این اولین قدم برای پیدا کردن آسیب‌پذیری است.
  •  : -sC این سوییچ مجموعه‌ای از اسکریپت‌های پیش‌فرض و ایمن Nmap را اجرا می‌کند تا اطلاعات اولیه‌ای جمع‌آوری کند.
  •  : 192.168.56.1آدرس IP هدف ما

 

 

همانطور که در تصویر می‌بینید، Nmap سیستم‌عامل هدف را Windows تشخیص داده و پورت‌های کلیدی مانند ۱۳۵، ۱۳۹ و ۴۴۵ را باز یافته است. یک نکته مهم این است که روی پورت ۸۰ یک وب‌سرور Apache فعال است که ارزش بررسی بیشتر را دارد. در گام بعد میخواهیم به دنبال آسیب‌پذیری‌های آن‌ها بگردیم.

 

گام سوم: اسکن تخصصی برای کشف آسیب پذیری ها

تا این بخش فقط متوجه شدیم چه پورت‌هایی باز هستند؛ این مثل آن است که نقشه یک قلعه را بررسی کنیم. اما مرحله مهم‌تر این است که بفهمیم آیا قفل این درها ضعیف هستند یا نه. برای این کار از موتور اسکریپت‌نویسی Nmap (NSE) استفاده می‌کنیم که مجموعه‌ای از اسکریپت‌های امنیتی قدرتمند برای شناسایی آسیب‌پذیری‌هاست.

برای این کار از دستور رو به رو استفاده میکنیم: nmap --script vuln 192.168.56.1

:--script vuln این گزینه باعث می‌شود Nmap مجموعه‌ای از اسکریپت‌های امنیتی را اجرا کند و اسکن را از حالت پایه به یک تحلیل عمیق‌تر تبدیل کند. با اجرای این دستور، اسکریپت‌های مرتبط با شناسایی آسیب‌پذیری فعال شده و سیستم هدف به‌طور خودکار برای ده‌ها حفره امنیتی شناخته‌شده بررسی می‌شود.

 
   

 

 

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

80/tcp open http Apache httpd 2.4.62 | http-slowloris-check: VULNERABLE  

همان‌طور که در خروجی مشخص است، سرور Apache در برابر حمله  Slowloris DDoS آسیب‌پذیر است. این حمله با باز نگه‌داشتن تعداد زیادی اتصال، می‌تواند باعث مصرف منابع و از دسترس خارج شدن سرویس وب شود. این مثال نشان می‌دهد که چگونه یک پورت بازِ به‌ظاهر بی‌خطر، ممکن است به یک تهدید جدی تبدیل شود.

 

یک نکته شگفت‌انگیز: شاید به نظر برسد که ما فقط یک دستور ساده را اجرا کردیم، اما در واقعیت، شما در حال استفاده از یکی از قدرتمندترین کتابخانه‌های امنیتی دنیا بودید! دستور --script vuln  در پشت صحنه، ده‌ها اسکریپت تخصصی را یکی‌یکی روی هدف اجرا می‌کند. هر کدام از این اسکریپت‌ها برای پیدا کردن یک آسیب‌پذیری خاص طراحی شده‌اند؛ از حفره‌های وب‌سرورها گرفته تا باگ‌های خطرناک سیستم‌عامل.این یعنی شما با یک خط دستور، یک ارزیابی امنیتی کامل و خودکار را روی سیستم هدف انجام دادید. این همان مزیتی است که موتور NSE فراهم می‌کند؛ یعنی می‌تواند یک اسکن ساده را به یک تحلیل امنیتی کامل تبدیل کند.

 
   

 

 

اشتباهات رایج و نکات تجربی

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

هرگز اسکن را روی شبکه یا سیستم هایی که مالکیت یا اجازه دسترسی به آنها را ندارید اجرا نکنید.این کار غیرقانونی است و می‌تواند پیگرد قانونی به همراه داشته باشد ،همیشه در محیط آزمایشگاهی (مثل ماشین مجازی) تمرین کنید. شاید ساختن این محیط در ابتدا کمی پیچیده به نظر برسد، اما نگران نباشید! ما یک راهنمای جامع برای این کار داریم، پیشنهاد می‌کنیم حتماً مقاله دوره‌های آموزش مجازی سازی را از کجا شروع کنیم؟را مطالعه کنید. این مقاله به شما یاد می‌دهد که چطور اولین قدم‌های خود را در دنیای امنیت به درستی و به صورت عملی بردارید.

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

<nmap -p 80,443 --script vuln <IP

 

جمع بندی

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