nmap جام جهان بین مدیران شبکه ، بخش نخست : گزینش هدف

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

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

1- گزینش هدف (Target specification)

2- برگزیدن شیوه کاوش و یافتن میزبان های فعال در شبکه هدف (Host Discovery Methods)

3- گزینش سرویس ها و پورت هایی که باید در اهداف انتخاب شده بررسی شوند.

4- برگزیدن شیوه پایش و جستجوی سرویس های فعال( پورت های باز) در شبکه

  

 

  گزینش هدف (Target specification   )

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

1- یک یا چند نشانی اینترنتی (ip)

مثال :

nmap  64.13.134.52

nmap 192.168.10.12   192.168.1.10

nmap 192.168.101.100  192.168.1.10  10.129.210.14

همانگونه که در مثال های بالا دیده می شود،در حالتی که بیش از یک  نشانی ip به عنوان هدف کاوش به نرم افزار nmap داده می شود از نویسه فضای خالی (Space) برای جداکردن ip ها ازیکدیگر استفاده می شود.

2- یک یا چند نام دامنه

مثال :

nmap  scanme.nmap.org

nmap  scanme.nmap.org  example.com

همانگونه که در مثال های بالا دیده می شود،در حالتی که بیش از یک  نام دامنه به عنوان هدف کاوش به نرم افزار nmap داده می شود از نویسه فضای خالی (Space) برای جداکردن آنها ازیکدیگر استفاده می شود.

نکته 1: زمانی که هدف پایش یک نام دامنه باشد ، در ابتدا nmap با استفاده از سرویس DNS نشانی ip نگاشت شده به این نام را می یابد و سپس ip بدست آمده را کاوش می کند.بنابراین کاوش یک نام دامنه کندتر از کاوش یک نشانی ip است.

نکته 2: اگر تعداد نشانی های ip وابسته به یک نام در کارگزار DNS بیش از یک نشانی باشد nmap تنها نخستین نشانی ip از میان تمامی  ip های بدست آمده را کاوش خواهد کرد و از دیگر نشانی های ip وابسته به نام دامنه چشم پوشی می کند. برای واداشتن nmap به پایش تمامی نشانی های ip وابسته به یک نام دامنه که از کارگزار DNS به سوی nmap ارسال می شوند گزینه resolve-all--  را بکار گیرید.

 3- یک شبکه یا زیر شبکه با روش مسیر یابی درون دامنه ای بدون کلاس (CIDR)

هر نشانی ip در بردارنده دو بخش مهم است که نقشی اساسی در اجرای فرآیند مسیریابی بازی می کنند این دو بخش را می توان شناسه شبکه (netid) یا زیر شبکه (subnetid) و شناسه میزبان (hostid) نامید. شناسه شبکه برای شناساندن شبکه سازمان به سایر شبکه ها استفاده می شود. به زبان ساده تر مسیریاب ها با بهره گیری از شناسه شبکه ، بسته های اطلاعاتی را به شبکه درست هدایت می کنند. شناسه میزبان نشانگر یک رابط شبکه (Network Interface) نصب شده در یک میزبان فعال در شبکه است. پس از آنکه بسته اطلاعاتی بر اساس شناسه شبکه تحویل شبکه مورد نظر گردید. در درون این شبکه وبابهره گیری از شناسه میزبان ، تحویل میزبان درست خواهد شد.

هر نشانی ip درپروتکل  IPv4  یک شناسه 32 بیتی است و همواره تعدادی از باارزش ترین بیت ها (بیت های سمت چپ) بیانگر شناسه شبکه و کم ارزش ترین بیت ها (بیت های سمت راست)  نشان دهنده شناسه میزبان هستند. مسیر یابی درون دامنه ای بدون کلاس (Classless Inter Domain Routing)  روشی ساده و کارآمد برای پاسخ گفتن به  این پرسش است که چه تعداد از با ارزش ترین  بیت های یک نشانی ip نشان دهنده شناسه شبکه هستند.  در این روش در پایان نمایش دهدهی نشانی ip و پس از یک نویسه / عددی نوشته می شود که نشان دهنده تعداد  بیت هایی است که شناسه شبکه را نمایش می دهند.برای مثال نمایش CDIR یک شبکه به شکل 192.168.1.0/24 بیانگر این است که 24 بیت پر ارزش این نشانی ip نشان دهنده شناسه شبکه است و 8 بیت کم ارزش تر باقی مانده نشان دهنده شناسه میزبان است از این رو سه هشتایی 192.168.1 در تمامی نشانی های ip موجود در این شبکه ثابت است و هشتایی چهارم که شناسه میزبان را مشخص می کند می تواند مقداری از 0 تا 255 داشته باشد. از این رو نشانی این شبکه 192.168.1.0 است و همه نشانی های ip از 192.168.1.0   تا 192.168.1.255 در این شبکه قرار می گیرند.

مثال :

198.51.100.14/24 نشان دهنده تک نشانی 198.51.100.14 است که نشانی شبکه آن 198.51.100.0 است.

مثال :

198.51.100.0/22   نشان دهنده نشانی های ip از 198.51.100.0 تا 198.51.103.255 است که روی هم رفته دارای 1024 نشانی ip است و نشانی شبکه آنها 198.51.100.0 است.

مثال :

nmap  192.168.10.0/24

در مثال بالا nmap تمامی 256 میزبان موجود در شبکه 192.168.10.0 یعنی نشانی های 192.168.10.0   تا 192.168.10.255 را پایش می کند.

مثال :

می دانیم که ip نام دامنه scanme.nmap.org نشانی 64.13.134.52 است بنابراین دستور scanme.nmap.org/16  nmapتمامی 65536 نشانی موجود در شبکه 64.13.0.0/24 یعنی ip های 64.13.0.0   تا 64.13.255.255 را پایش می کند.

در روش CIDR  کوچکترین بیتی که می توان برای بخش netid یک شبکه مشخص کرد  /0  است که به معنای تمام نشانی های ip موجود در فضای نام  نسخه IPV4  است. همچنین /32 یعنی تنها یک میزبان و در نسخه IPV6 مشخص کردن CIDR به صورت  /128 یعنی تنها یک میزبان

4- گزینش هدف با بهره گیری از الگوی دلخواه هشتایی های تشکیل دهنده نشانی ip

هرچند که نشانه گذاری  CIDR روشی ساده و راحت برای معرفی یک شبکه یا زیر شبکه دلخواه به عنوان هدف پایش در نرم افزار nmap است اما انعطاف پذیری کافی را ندارد برای مثال اگر بخواهید تمامی ip های موجود در شبکه 192.168.0.0/16 بجز ip هایی که با 0 یا 255 پایان می پذیرند را کاوش کنید نمی توانید از شیوه CIDR استفاده کنید. اما نگران نباشید چرا که nmap به کاربران اجازه می دهد تا با تغییر هر یک از هشتایی های موجود در نشانی ip انعطاف پذیری بالایی را در گزینش هدف برای خود فراهم آورند.

 همانگونه که می دانید ساده ترین و گویاترین شیوه  نمایش نشانی ip روش دهدهی است که در آن یک نشانی ip به صورت چهار عدد دهدهی که با نقطه از هم جدا شده اند نمایش داده می شود.( برای مثال 128.11.3.31) در این روش نمایش هر نشانی ip درپروتکل  IPv4  که یک شناسه 32 بیتی است به  چهار بخش 8 بیتی جداگانه افراز می شود که به هریک از این بخشهای چهارگانه یک هشتایی یا octet گفته می شود.از آنجا که هر هشتایی دارای هشت بیت است پس در هر هشتایی یک عدد دهدهی از 0 تا 255 می تواند قرار  گیرد. و این همان چیزی است که nmap می تواند از آن بهره برداری کند. که در قالب چند مثال زیر به آن پرداخته می شود :

 مثال :

nmap  192.168.0-255.1-254

 همانگونه که دیده می شود در الگوی هشتایی  192.168.0-255.1-254 مقدار هشتایی اول و دوم ثابت است اما هشتایی سوم می تواند دارای مقدارعددی 0 تا 255 باشد و هشتایی چهارم نیز می تواند از 1 تا  254 مقدار داشته باشد بنابراین دستور بالا تمامی  نشانی های ip موجود در محدوده 192.168.0.1  تا 192.168.255.254 را کاوش می کند بنابراین ip هایی که هشتایی آخر آنها با 0 یا 255 پایان می پذیرد کاوش نخواهند شد. برای نمونه با اجرای مثال بالا nmap از کاوش ip های زیر چشم پوشی خواهد کرد :

192.168.0.0

192.168.0.255

192.168.10.0

192.168.10.255

192.168.1.255

 تفاوت این الگو با روش CIDR در این است که در الگوی CIDR تمامی 65536 نشانی ip موجود در شبکه 192.168.0.0/24 کاوش می شود اما در الگوی هشتایی به شکل 192.168.0-255.1-254 تمامی نشانی های ip موجود در شبکه 192.168.0.0/24 بجز آنهایی که هشتایی آخر آنها با 0 یا 255 پایان می پذیرد کاوش خواهند شد.

 مثال :

Nmap   192.168.3-5,7.1

 

همانگونه که دیده می شود در الگوی هشتایی 192.168.3-5,7.1 مقدار هشتایی اول و دوم ثابت است اما هشتایی سوم می تواند دارای مقدارعددی 3 , 4,   5 و 7 باشد و هشتایی چهارم نیزتنها می تواند مقدار 1 را داشته باشد بنابراین دستور بالا تمامی  نشانی های ip زیر را کاوش خواهد کرد :

192.168.3.1

192.168.4.1

192.168.51

192.168.7.1

 مثال :

nmap  0-255.0-255.13.37

 الگوی هشتایی 0-255.0-255.13.37  نرم افزار nmap را وادار می کند تا تمامی نشانی های موجود در فضای نامی پروتکل IPV4 که با 13.37 پایان می پذیرند را پایش کند.

نکته : هم زمان می توان چندین هدف جداگانه که با هریک از روشهای گفته شده نمایش داده شده اند  را برای کاوش به nmap معرفی کرد.

مثال :

nmap scanme.nmap.org  192.168.0.0/16  10.0.5,8-17.21

  

دیگر گزینه های سودمند در گزینش هدف :

-iL   <input filename>

نرم افزار Nmap می تواند فهرست اهداف مورد نظر کاربر را از یک فایل ورودی دریافت کند.برای این کار می توان مسیرکامل دسترسی به فایل مورد نظر را پس از گزینه--iL نوشت. هدف های گزینش شده برای کاوش را می توان با هر یک از روش های CIDR ، الگوی هشتایی ، تک نشانی ip و یا نام دامنه در فایل ورودی وارد کرد. همچنین هر یک از اهداف وارد شده به فایل ورودی باید با استفاده از نویسه های فضای خالی (Space) ،  tab و یا خط جدید (New Line) از دیگر هدف ها جدا شود.برای خوانایی بیشتر می توانید با استفاده از نویسه # توضیحات تک خطی در فایل وارد کنید.

-iR <num hosts>

این گزینه نرم افزار nmap را وادار می کند تا تعدادی نشانی ip به صورت تصادفی تولید و سپس آنها را کاوش  کند ، تعداد ip های تصادفی تولید شده برابر با  عددی است  که پس از گزینه –iR نوشته می شود.

مثال :

nmap  -iR  5

 

--exclude <host1> [,<host2>[,…]]

--excludefile <exclude_file>

 گاهی هدف گزینش شده برای کاوش توسط نرم افزار nmap یک شبکه است بنابراین در حالت عادی nmap همه نشانی های ip موجود در آن شبکه را کاوش خواهد کرد. حال چنانچه  بخواهید برخی از نشانی های ip موجود در این شبکه یا زیر شبکه بیرون از دایره پویش nmap قرار گیرند و نرم افزار از کاوش آنها چشم پوشی کند دو راه پیش رو دارید :

1-  چنانچه تعداد ip های  مورد نظر اندک است تنها کافیست تا فهرست ip های دلخواه خود را که با نویسه ,  از هم جداشده اند پس ازگزینه --exclude قرار دهد. هدف های مورد نظر را می توان با هر یک از روش های SIDR ، الگوی هشتایی ، تک نشانی ip و یا نام دامنه وارد کرد.

مثال :

nmap  192.168.1.0/24  --exclude  192.168.1.1,192.168.1.9

2- چنانچه فهرست هدف هایی که می خواهید بیرون از دایره کاوش نرم افزارnmap قرار گیرند بزرگ و طولانی است می توانید آنها را در یک فایل وارد کنید. نرم افزار Nmap می تواند فهرست اهداف مورد نظر کاربر را از یک فایل ورودی دریافت کند.برای این کار می توان مسیرکامل دسترسی به فایل را پس از گزینه --excludefile نوشت. هدف های مورد نظر را می توان با هر یک از روش های SIDR ، الگوی هشتایی ، تک نشانی ip و یا نام دامنه در فایل ورودی وارد کرد. همچنین هر یک از اهداف وارد شده به فایل ورودی باید با استفاده از نویسه های فضای خالی (Space) ،  tab و یا خط جدید (New Line) از دیگر هدف ها جدا شود.برای خوانایی بیشتر می توانید با استفاده از نویسه # توضیحات تک خطی در فایل وارد کنید.

-n

در حالت عادی nmap برای هر یک از نشانی های ip کاوش شده در شبکه که وضعیت آن ها را فعال تشخیص داده است درخواست نگاشت ip به نام را به کارگزار DNS می فرستد. به فرآیند نگاشت نشانی ip به یک نام دامنه ، DNS معکوس (Reverse DNS) می گویند. به زبان ساده تر این فرآیند از کارگزار DNS می خواهد تا نام دامنه هریک از ip های یافته شده در شبکه هدف را برای نرم افزار nmap بفرستد. RDNS فرآیندی زمانبر است. وسرعت واکشی اطلاعات از شبکه را کند می کند. با بکارگیری گزینه  -n نرم افزار nmap را وادار می کنید تا هرگز و برای هیچ یک از ip های یافته شده در شبکه هدف درخواست نگاشت نام به ip را انجام ندهد. این گزینه سرعت نرم افزار را بهبود می بخشد.

-R

در حالت عادی درخواست نگاشت نشانی ip به نام دامنه (RDNS) تنها در باره ip هایی انجام می شود که nmap وضعیت آنها  را درشبکه هدف فعال و پاسخگو تشخیص داده باشد. با بکارگیری گزینه -R درخواست نگاشت نشانی ip به نام دامنه (Reverse DNS) برای تمامی میزبان های شبکه هدف  انجام خواهد شد. حتی اگر nmap آنها راغیر فعال تشخیص دهد.

--resolve-all

اگر تعداد نشانی های ip وابسته به یک نام دامنه در کارگزار DNS بیش از یک نشانی باشد nmap به صورت پیش فرض تنها نخستین نشانی ip از میان تمامی  ip های بدست آمده از کارگزار DNS را کاوش خواهد کرد و از دیگر نشانی های ip چشم پوشی می کند. برای واداشتن nmap به کاوش تمامی نشانی های ip وابسته به یک نام دامنه گزینه  --resolve-all  را بکار گیرید.

 

--unique

رفتار پیش فرض nmap در باره آن دسته از نشانی های ip که در فهرست اهداف مشخص شده برای کاوش به هر دلیلی بیش از یک بار تکرار شده اند ، کاوش دوباره نشانی ip است. برای نمونه اگر یک نشانی ip مشخص سه بار تکرار شود ، سه بار هم مورد کاوش دوباره قرار خواهد گرفت. ip های تکراری  هنگامی رخ می دهند که شبکه های تعیین شده برای کاوش همپوشانی داشته باشند و یا زمانی که پاسخ کارگزار DNS برای چندین نام دامنه مشخص شده ، یک نشانی ip یکسان باشد. ازآنجا که کاوش دوباره فرآیندی زمانبراست ،سرعت واکشی اطلاعات از شبکه را کند می کند از این رو با بکارگیری گزینه --unique می توانید نرم افزار nmap را وادار کنید تا هر نشانی ip تکراری را تنها یک بار کاوش کند. نخستین فایده این گزینه افزایش سرعت کاوش است.

--system-dns

در حالت پیش فرض nmap درخواست های نگاشت نشانی ip به نام دامنه (Reverse DNS) را به طور مستقیم به کارگزارهای DNS پیکربندی شده در میزبانی که nmap بر روی آن در حال اجرا است می فرستد.و سپس چشم به راه رسیدن پاسخ از کارگزار می نشیند. نرم افزار nmap با هدف افزایش کارآیی و بهبود سرعت از روش ارسال موازی و هم زمان چندین درخواست RDNS به کارگزار DNS بهره می گیرد. شما می توانید با بکار گیری گزینه --system-dns نرم افزارnmap را وادار کنید تا درخواست های نگاشت نشانی ip به نام دامنه  (RDNS)را به تحلیل گر نام  موجود درخود  میزبان پذیرای nmap بفرستد. بکارگیری این گزینه فرآیند کاوش را بسیارکند می سازد.به هرحال nmap همواره درخواست های نگاشت نام دامنه به نشانی ip (Forward Lookup) را به تحلیل گر نام موجود درخود میزبانی که پذیرای نرم افزار nmap است می فرستد.

--dns-servers  <server1> [,<server2>[,…]]

  در حالت پیش فرض نرم افزار nmap کارگزارهای DNS پیکر بندی شده در سیستم عامل میزبانی که پذیرای نرم افزار nmap است را یافته و درخواست های نگاشت نشانی ip به نام دامنه (Reverse DNS) را به سوی آنها می فرستد. Nmap برای یافتن فهرست کارگزارهای تحلیل نام  پیکر بندی شده در سیستم عامل های خانواده unix فایل resolve.conf را واکاوی می کند و در سیستم عامل های خانواده ویندوز با بررسی رجیستری به این فهرست دست می یابد. شما می توانید با بکارگیری گزینه --dns-servers   یک و یا چند کارگزار DNS دلخواه را  به نرم افزار nmap معرفی کنید تا به جای استفاده از کارگزارهای DNS پیکر بندی شده در سیستم عامل ،درخواست های RDNS خود را به فهرست مشخص شده به وسیله کاربرارسال کند. با توجه به ارسال همزمان و موازی درخواست های RDNS توسط nmap بهره گیری از این گزینه و معرفی چندین کارگزار تحلیل نام سرعت نرم افزار را بهبود می دهد. چنانچه از گزینه --system-dns استفاده کنید گزینه  --dns-servers  بی اثر خواهد شد.

مثال :

Nmap 45.33.32.165  --dns-servers 8.8.8.8,8.8.4.4

 

 پایان بخش اول

محمد ایزانلو مردادماه 1401

نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.