با وجود این که این روزها دریایی از ابزارهای اسکن پورت و مپینگ شبکه وجود دارد، اسکنر Nmap هنوز هم پرطرفدارترین آنهاست. در این مقاله با این ابزار بیشتر آشنا میشوید.
ادمینهای شبکه، مدیران IT و کارشناسان امنیت همیشه درگیر یک جنگ بیپایان هستند و باید دائما بررسی کنند که دقیقا چه دستگاههایی در شبکههای آنها فعالند و چه آسیبپذیریهایی در گوشههای تاریک شبکه پرسه میزنند. با وجود این که امروزه تعداد بسیار زیادی ابزار برای مپینگ شبکه (به دست آوردن تصویری از اتصالات در شبکه) و ممیزی امنیتی وجود دارند، هنوز هم هیچکدام از آنها در انعطافپذیری و گسترهی کاربردها به گرد پای Nmap نمیرسد! به همین خاطر است که این ابزار عملا تبدیل به استانداردی برای اسکن و مپینگ شبکه تبدیل شده است.
Nmap چیست؟
اسکنر Nmap که کوتاهشدهی Network Mapper است، یک ابزار رایگان و اوپنسورس برای اسکن آسیبپذیری و کاوش شبکه است. ادمینهای شبکه با استفاده از Nmap دستگاههای متصل به شبکه، هاستهای در دسترس و سرویسهای فعال آنها، پورتهای باز و خطرات امنیتی را شناسایی میکنند.
با استفاده از اسکنر Nmap هم میتوان یک هاست را به صورت جداگانه مانیتور کرد، و هم میتوان شبکههای گستردهای را زیر نظر گرفت که صدها هزار دستگاه و سابنتهای متعددی را در بر میگیرند. با وجود این که Nmap در طول سالها تکامل پیدا کرده و امروزه به ابزاری همهکاره و بهشدت انعطافپذیر تبدیل شده است، هنوز هم ذاتاً یک ابزار اسکن پورت است که با ارسال پکتهای خام به پورتهای سیستمها، از آنها اطلاعات جمعآوری میکند. Nmap پس از ارسال پکت منتظر پاسخ میماند و از روی پاسخ متوجه میشود که پورتها باز یا بسته هستند یا به هر دلیلی، مثلا از طریق فایروال، فیلتر شدهاند. اسکن پورت معادلهای دیگری از جمله port discovery یا enumeration نیز دارد.
برای مشاهده آموزش تصویری Nmap، به پایین صفحه مراجعه کنید!
با شرکت در دورههای امنیت و تست نفوذ، کار با دهها ابزار امنیتی را بیاموزید:
اسکن پورت
پکتهایی که Nmap ارسال میکند، به همراه آدرس IP و مقدار زیادی اطلاعات دیگر باز میگردند، اطلاعاتی که با استفاده از آن میتوانید بسیاری از خصوصیات شبکه را متوجه شوید، یک پروفایل یا map از شبکه به دست آورید یا لیستی از سختافزارها و نرمافزارهای شبکه تهیه کنید.
ساختار پکتهای مورد استفاده در هر پروتکل، با پروتکلهای دیگر متفاوت است. Nmap از پروتکلهای لایه انتقال از جمله پروتکل TCP، پروتکل UDP و پروتکل SCTP استفاده میکند و علاوه بر این، از پروتکلهایی مانند ICMP هم که برای ارسال پیامهای خطا استفاده میشود پشتیبانی میکند.
پروتکلهای مختلف برای مقاصد گوناگونی استفاده میشوند و پورتهای متفاوتی نیز دارند. برای مثال، مصرف پایین منابع توسط پروتکل UDP، آن را برای استریم زندهی ویدئو ایدهآل میکند، چون در این کاربرد، چند پکت ازدسترفته در برابر سرعت بالا اهمیت چندانی ندارند، در حالی که وقتی استریم ویدئو زنده نباشد، برای مثال هنگام تماشای ویدئو از یوتیوب، ویدئو بافر میشود و از پروتکل کُندتر ولی قابل اطمینانتر TCP استفاده میشود.
علاوه بر امکانات و قابلیتهای دیگر Nmap، قابلیت اصلی آن یعنی اسکن پورت و کپچر پکتها نیز به صورت مداوم بهبود داده میشود.
کاربردهای اسکنر Nmap
با یک جستجوی ساده میتوان تعداد بسیار زیادی ابزار رایگان مانیتورینگ شبکه و اسکنر آسیبپذیری اوپنسورس پیدا کرد؛ ولی چیزی که برای ادمینهای شبکه و کارشناسان ممیزی امنیت Nmap را از ابزارهای دیگر متمایز میکند، انعطافپذیری و قدرت بسیار بالای آن است. با وجود این که اسکن پورت کارکرد اصلی و پایهای آن است، این ابزار محبوب بازهی متنوعی از قابلیتهای مرتبط را نیز ارائه میکند، از جمله:
- مپینگ شبکه: Nmap میتواند دستگاههای داخل یک شبکه شامل سرورها، روترها و سوییچها، و همچنین نحوه اتصال آنها را شناسایی کند (فرایندی که به آن کشف هاست یا Host Discovery میگویند).
- تشخیص سیستمعامل: Nmap میتواند سیستمعاملی را که روی دستگاههای متصل به شبکه نصب شده تشخیص دهد (قابلیتی که به آن OS Fingerprinting میگویند). این قابلیت اطلاعاتی مانند شرکت تولیدکننده، نام سیستمعامل، نسخهی نرمافزار و حتی زمان تخمینی uptime دستگاه را در اختیار کاربر قرار میدهد.
- تشخیص سرویس: Nmap نهتنها میتواند هاستهای روی شبکه را شناسایی کند، بلکه میتواند تشخیص دهد که به عنوان سرور ایمیل، وبسرور یا نامسرور (Name Server) عمل میکنند. بهعلاوه Nmap میتواند اپلیکیشنی که روی این سرورها اجرا میشود و نسخهی این اپلیکیشنها را نیز تشخیص دهد.
- ممیزی امنیت: مدیران شبکه با فهمیدن نسخهی سیستمعاملها و اپلیکیشنهایی که روی هاستهای شبکه در حال اجرا هستند، میتوانند وجود نقصها و آسیبپذیریهای خاصی را روی شبکه متوجه شوند. مثلا اگر یک ادمین شبکه هشداری دربارهی یک آسیبپذیری روی یک نسخهی خاص یک اپلیکیشن دریافت کند، میتواند شبکهی خود را اسکن کند تا تشخیص دهد که آن نسخه از نرمافزار روی شبکه اجرا میشود یا نه، و پس از آن مراحل لازم برای پچکردن یا بهروزرسانی هاستهای شناساییشده را طی کند. اسکریپتها هم میتوانند تسکهایی مانند تشخیص انواع خاصی از آسیبپذیری را به صورت خودکار درآورند.
برای مشاهده آموزش تصویری اسکنر Nmap، به پایین صفحه مراجعه کنید!
دستورات متنوع برای شخصیسازی کامل اسکنها
یکی از زیباییهای اسکنر Nmap این است که افراد تازهکار با دانش مختصری درباره سیستم یا شبکه میتوانند کار را با دستورات ساده شروع کرده و اسکنهایی ابتدایی انجام دهند و در عین حال، افراد حرفهای میتوانند انواع پیچیدهتری از پروبها بهره بگیرند، که دیدی جزئیتر و دقیقتر از شبکه به آنها میدهد.
خروجی که Nmap پس از انجام اسکن در اختیار شما قرار میدهد لیستی از اهداف اسکنشده به همراه اطلاعات مربوط به آنهاست. اطلاعاتی که در خروجی دریافت میکنید بستگی به نوع اسکنی است که انجام میدهید – یا به عبارت دیگر، دستوراتی که در اسکن خود استفاده میکنید.
میزان ترافیکی که یک اسکن تولید میکند همیشه زیاد نیست و به دستورات استفادهشده بستگی دارد، و اسکنها الزاما در شبکه اختلال و بار اضافی تولید نمیکنند. اسکن تمام پورتهای روی تمام سیستمها اصلا بهینه نیست. دلیل اصلی آن هم این است که تنها بخش کوچکی از تمام پورتهای در دسترس در عمل استفاده میشوند (برای مثال یک سیستم میتواند 65535 پورت TCP و 65535 پورت UDP داشته باشد). گزینههای مختلف به شما این امکان را میدهند که اسکنها را دقیقا مطابق با نیازهای خود تنظیم کرده یا آنها را گسترش دهید. برای مثال، زمانی که میخواهید ورژن سرویسهای فعال در شبکه را مشخص کنید، دو مورد از گزینههایی که در اختیار دارید عبارتند از:
- sV (تشخیص ورژن را فعال میکند)
- –version-intensity (intensity پروب را تنظیم میکند)
Intensity مقداری بین 0 و 9 است و مشخص میکند در اسکن خود قصد استفاده از چه پروبهایی را دارید. هرچه عدد intensity پایینتر باشد، سرویسهای معمولیتر و رایجتری در اسکن پروب میشوند، و از طرف دیگر هرچه عدد intensity بالاتر باشد، اسکن میتواند سرویسهای کماستفادهتر را شناسایی کند، ولی به تبع آن زمان اسکن هم افزایش مییابد.
دستورات دیگری هم وجود دارند که برای مثال این امکان را به شما میدهند که تعیین کنید کدام پورتها یا سابنتها اسکن شده یا نادیده گرفته شوند.
Nmap به یک موتور اسکریپتنویسی هم مجهز است که با زبان برنامهنویسی Lua کار میکند. به لطف این موتور میتوانید اسکریپتهای مختلفی را برای اتوماسیون انواع گوناگون اسکن نوشته و ذخیره کنید یا با دیگران به اشتراک بگذارید. با وجود این که معمولا از این اسکریپتها برای بررسی وجود آسیبپذیریهای معروف زیرساخت و شبکه استفاده میشود، تسکهای بسیار متنوعی را میتوان با آنها به صورت خودکار درآورد.
Zenmap، رابط کاربری گرافیکی Nmap
Zenmap رابط کاربری گرافیکی اسکنر Nmap است و به صدها قابلیت مختلف مجهز است. این برنامه امکانات فراوانی را در اختیار کاربران قرار میدهد؛ برای مثال با استفاده از Zenmap میتوانید اسکنها را ذخیره کرده و با هم مقایسه کنید، نقشههای توپولوژی شبکه را مشاهده کنید، پورتهای فعال روی یک هاست یا تمام هاستهای یک شبکه را ببینید، و اسکنهای خود را در یک دیتابیس قابل جستجو ذخیره کنید.
کاربرد اسکنر Nmap در هک
با وجود این که اسکن پورت به خودی خود غیرقانونی نیست، بسیاری از قابلیتهای Nmap برای هکرها ایدهآل هستند؛ قابلیتهایی که میتوانند به آنها در یافتن آسیبپذیریهای قابل اکسپلویت کمک کنند. به همین خاطر این نرمافزار همیشه باید با مجوز و اجازهی صریح و مستقیم مالکان زیرساخت استفاده شود، در غیر این صورت اسکن آسیبپذیریها حتی اگر بدون هدف خرابکارانهای انجام شود، میتوانند دردسرساز شود.
با وجود این که برخی اسکنهای Nmap تا حد زیادی سبک هستند و ممکن است هشدارهای زیادی ایجاد نکنند، همیشه باید پیش از انجام اسکنها با افراد ذیصلاح در سازمان هماهنگیهای لازم را انجام داد. این مساله را نیز در نظر داشته باشید که بسیاری از امکانات Nmap به خصوص OS Fingerprinting (تشخیص سیستمعامل هاستها) نیاز به دسترسی root دارند. همیشه به یاد داشته باشید که اگر نسبت به قانونیبودن اسکن مورد نظر خود شک دارید، به خصوص زمانی که تنها عمل میکنید و با هیچ عضو دیگری در سازمان مشورت نکردهاید، افراد ذیصلاح را مطلع کنید.
منابع یادگیری اسکنر Nmap
اگر دوست دارید به صورت عمیقتر با Nmap آشنا شوید، با اختلاف بهترین منبع وبسایت Nmap.org است که توسط خود سازنده Nmap مدیریت میشود. منابع اصلی در وبسایت Nmap.org و دیگر وبسایتها عبارتند از:
- داکیومنتیشن Nmap
- راهنمای مرجع Nmap، که کارهایی که این ابزار قادر به انجام آنهاست و نحوه انجام آنها را توضیح داده است.
- آموزش Zenmap
- کاربران Nmap میتوانند به لیست ایمیل هکرهای Nmap بپیوندند تا آخرین اخبار درباره این ابزار را دریافت کنند، و توسعهدهندگانی هم که علاقهمندند امکانات جدید را تست کرده یا کدها و پیشنهادات خود را ارسال کنند، میتوانند به لیست Nmap-dev بپیوندند.
- صد ابزار برتر امنیت شبکه به انتخاب کاربران Nmap
برای دانلود Nmap هم به این لینک بروید و دستورالعملها را دنبال کنید.