آموزش 15 دستور مهم و پرکاربرد در نرم افزار Nmap

Nmap یکی از رایج ترین ابزار های شبکه در کالی لینوکس و دنیای اطلاعات امنیت است و توسط متخصصان امنیت سایبری زیادی استفاده میشود. نقاط قوت این ابزار ها  این است که متن باز  ، مجانی ، چند سیستمی یا MULTI-PLATFORM و هر بار بعد از یک سال به روز رسانی میشوند و البته دارای نکته مثبت قابل توجهی است: Nmap یکی از جامع ترین نرم افزار ها و اسکنرهای شبکه موجود است که شامل یک مجموعه بزرگ از گزینه ها برای افزایش توانایی اسکن و نقشه برداری محیط شماست و از همان ابتدا با یک تکامل باور نکردنی و مستندات جامع به شما برای درک خود کمک میکند. در ادامه 15 دستور nmap برای اسکن شبکه به شما آموزش داده میشود.

Nmap می تواند در موارد زیر مورد استفاده قرار گیرد:

  • یک نقشه کامل از شبکه کامپیوتری ایجاد کنید.
  • پیدا کردن IP address هر میزبان
  • دریافت اطلاعات مربوط به نوع سیستم عامل و جزییات نرم افزار ها
  • شناسایی پورت های باز بر روی سیستم های محلی یا سیستم های ریموت
  • بازرسی استانداردهای امنیتی سرور.
  • یافتن آسیب پذیری در سیستم های ریبوت و محلی.

آموزش 15 دستور پر کاربرد در nmap :

 

1- اسکن اولیه Nmap در برابر IP یا میزبان

nmap 1.1.1.1

در حال حاضر، اگر می خواهید یک نام میزبان را اسکن کنید، به سادگی IP را برای میزبان جایگزین کنید، همانطور که در زیر مشاهده می کنید:

nmap cloudflare.com

این نوع اسکن های اولیه برای آشنایی و شروع اولین مراحل Nmap بسیار مناسب است.

2اسکن پورت های خاص و یا اسکن کل محدوده پورت ها در یک سرور محلی و یا سرور ریموت

nmap -p 1-65535 localhost

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

nmap -p 80,443 8.8.8.8

3- اسکن چندین آدرس IP

به منظور اسکن چندین آدرس IP بایکدیگر از دستور زیر میتوان استفاده کرد :

nmap 1.1.1.1 8.8.8.8

شما همچنین می توانید آدرس های متوالی را اسکن کنید:

nmap -p 1.1.1.1،2،3،4

این موارد 1.1.1.1، 1.1.1.2، 1.1.1.3 و 1.1.1.4 را اسکن می کند.

4- اسکن محدوده های IP

 می توانید Nmap برای اسکن کل محدوده IP CIDR استفاده کنید، مثلا:

nmap -p 8.8.8.0/28

دستور زیر 14 محدوده IP متوالی را از 8.8.8.1 تا 8.8.8.14 اسکن می کند:

nmap 8.8.8.1-14

شما حتی می توانید از کلمات کلیدی برای جستجو کل محدوده IP کلاس C در دستورات nmap استفاده کنید، مثلا:

nmap 8.8.8.*

این 256 IP را از 8.8.8.1 تا 8.8.8.256 اسکن می کند.اگر نیاز به حذف بعضی از IP های خاص از اسکن دامنه IP را داشتید ، می توانید از گزینه “-exclude” استفاده کنید، همانطور که در زیر مشاهده می کنید:

nmap -p 8.8.8.* –exclude 8.8.8.1

5- پورت های محبوب را به وسیله دستور nmap اسکن کنید

با استفاده از پارامتر “top-ports” همراه با یک عدد خاص، می توانید پورت های معمولی  X به بالا را برای آن میزبان اسکن کنید، همانطور که می بینیم:

nmap –top-ports 20 192.168.1.106

عدد 20 را جایگزین کنید ، مانند مثال زیر:

[root@securitytrails:~]nmap –top-ports 20 localhost
Starting Nmap 6.40 ( http://nmap.org ) at 2018-10-01 10:02 EDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000016s latency).
Other addresses for localhost (not scanned): 127.0.0.1
PORT     STATE    SERVICE
21/tcp   closed   ftp
22/tcp   closed   ssh
23/tcp   closed   telnet
25/tcp   closed   smtp
53/tcp   closed   domain
80/tcp   filtered http
110/tcp  closed   pop3
111/tcp  closed   rpcbind
135/tcp  closed   msrpc
139/tcp  closed   netbios-ssn
143/tcp  closed   imap
443/tcp  filtered https
445/tcp  closed   microsoft-ds
993/tcp  closed   imaps
995/tcp  closed   pop3s
1723/tcp closed   pptp
3306/tcp closed   mysql
3389/tcp closed   ms-wbt-server
5900/tcp closed   vnc
8080/tcp closed   http-proxy

6- اسکن میزبان ها و آدرس های IP ازطریق خواندن یک فایل متنی

دستور nmap برای خواندن فایل هایی که حاوی کل IP ها و میزبان هاست بسیار مناسب است. فرض کنید شما یک فایل list.txt ایجاد می کنید که حاوی این دستورها است:

192.168.1.106  cloudflare.com  microsoft.com  securitytrails.com

پارامتر “iL-” به شما اجازه می دهد که آن فایل را بخوانید و تمام آن میزبان ها را اسکن کنید:

nmap -iL list.tx

7- نتایج اسکن Nmap خود را به شکل یک فایل ذخیره کنید

از سوی دیگر، در مثال زیر ما از یک پرونده دسترسی خواندن یا reading نخواهیم داشت،اما استخراج / ذخیره نتایج به یک فایل متنی با دستور زیر امکان پذیر میباشد:

nmap -oN output.txt securitytrails.com

Nmap توانایی استخراج فایل ها را به فرمت XML نیز دارد، مثال را ببینید:

nmap -oX output.xml securitytrails.com

8- غیرفعال کردن رزولوشن نام DNS
پست های مرتبط

اگر شما نیاز به کم کردن سرعت اسکن خود دارید، می توانید همیشه برای تمام اسکن های خود disable reverse DNS resolution انتخاب کنید. فقط کافیست پارامتر “-n” را اضافه کنید.

[root@securitytrails:~]nmap -p 80 -n 8.8.8.8  Starting Nmap 7.60 ( https://nmap.org ) at 2018-10-01 09:15 -03  Nmap scan report for 8.8.8.8  Host is up (0.014s latency).  PORT   STATE    SERVICE  80/tcp filtered http

تفاوت نتیجه را با normal DNS-resolution  مشاهده کنید:

[root@securitytrails:~]nmap -p 80 8.8.8.8  Starting Nmap 7.60 ( https://nmap.org ) at 2018-10-01 09:15 -03  Nmap scan report for google-public-dns-a.google.com (8.8.8.8)  Host is up (0.014s latency).  PORT   STATE    SERVICE  80/tcp filtered http

9- تشخیص سریع سیستم عامل و سرویس ها

با استفاده از پارامتر “A-” شما می توانید نوع سیستم عامل و سرویس را تشخیص دهید و در عین حال این دستور را با “T4-” برای اجرای سریع تر ترکیب کنید. مثال:

nmap -A -T4 cloudflare.com

خروجی که برای این مثال دریافت میکنیم:شناسایی سیستم عامل در نرم افزار NMAP

10- تشخیص نسخه سرویس/daemon

تشخیص نسخه سرویس/daemon را می توان با استفاده از پارامترهای -SV انجام داد

nmap -sV localhost

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

[root@securitytrails:~]nmap -sV localhost  Starting Nmap 7.60 ( https://nmap.org ) at 2018-10-01 09:28 -03  Nmap scan report for localhost (127.0.0.1)  Host is up (0.000020s latency).  Other addresses for localhost (not scanned): ::1  Not shown: 997 closed ports  PORT STATE SERVICE VERSION  111/tcp open rpcbind 2-4 (RPC #100000)  631/tcp open ipp CUPS 2.2  902/tcp open ssl/vmware-auth VMware Authentication Daemon 1.10 (Uses VNC, SOAP)   Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .  Nmap done: 1 IP address (1 host up) scanned in 7.96 seconds

11- اسکن با استفاده از پروتکل TCP یا UDP

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

[root@securitytrails:~]nmap -sT 192.168.1.1  Starting Nmap 7.60 ( https://nmap.org ) at 2018-10-01 09:33 -03  Nmap scan report for 192.168.1.1  Host is up (0.58s latency).  Not shown: 995 closed ports  PORT STATE SERVICE  80/tcp open http  1900/tcp open upnp  20005/tcp open btx  49152/tcp open unknown  49153/tcp open unknown  Nmap done: 1 IP address (1 host up) scanned in 1.43 seconds

نتایج اسکن UDP با استفاده از پارامتر “SU-“:

[root@securitytrails:~]nmap -sU localhost  Starting Nmap 7.60 ( https://nmap.org ) at 2018-10-01 09:37 -03  Nmap scan report for localhost (127.0.0.1)  Host is up (0.000021s latency).  Other addresses for localhost (not scanned): ::1  Not shown: 997 closed ports  PORT STATE SERVICE  68/udp open|filtered dhcpc  111/udp open rpcbind  5353/udp open|filtered zeroconf

12- تشخیص آسیب پذیری با استفاده از دستور Nmap:

یکی از بزرگترین ویژگی های Nmap، که کمتر مدیران شبکه و سیستمها در مورد آن می دانند، چیزی است به نام “Nmap Scripting Engine یا (NSE). این موتور اسکریپت اجازه می دهد تا کاربران از یک مجموعه اسکریپت از پیش تعیین شده استفاده کنند یا با استفاده از زبان برنامه نویسی Lua اسکریپت منحصر به فرد خودشان را بنویسند.استفاده از NSE برای اسکن خودکار سیستم و آسیب پذیری بسیار مهم است. به عنوان مثال، اگر می خواهید تست آسیب پذیری کاملی را در برابر هدف خود انجام دهید، می توانید از این پارامتر ها استفاده کنید:

nmap -Pn –script vuln 192.168.1.105

مثال :

[root@securitytrails:~]nmap -Pn –script vuln 192.168.1.105  Starting Nmap 7.60 ( https://nmap.org ) at 2018-10-01 09:46 -03  Pre-scan script results:  | broadcast-avahi-dos:  | Discovered hosts:  | 224.0.0.251  | After NULL UDP avahi packet DoS (CVE-2011-1002).  |_ Hosts are all up (not vulnerable).  Nmap scan report for 192.168.1.105  Host is up (0.00032s latency).  Not shown: 995 closed ports  PORT STATE SERVICE  80/tcp open http  |_http-csrf: Couldn’t find any CSRF vulnerabilities.  |_http-dombased-xss: Couldn’t find any DOM based XSS.  | http-slowloris-check:  | VULNERABLE:  | Slowloris DOS attack  | State: LIKELY VULNERABLE  | IDs: CVE:CVE-2007-6750  | Slowloris tries to keep many connections to the target web server open and hold  | them open as long as possible. It accomplishes this by opening connections to  | the target web server and sending a partial request. By doing so, it starves  | the http server’s resources causing Denial Of Service.  |  | Disclosure date: 2009-09-17  | References:  | http://ha.ckers.org/slowloris/  |_ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6750  |_http-stored-xss: Couldn’t find any stored XSS vulnerabilities.  |_http-vuln-cve2014-3704: ERROR: Script execution failed (use -d to debug)  1900/tcp open upnp  20005/tcp open btx  49152/tcp open unknown  49153/tcp open unknown

همانطور که می بینید، در این آزمایش آسیب پذیری ما قادر به شناسایی یک CVE(حمله Slowloris DOS) بودیم.

13- راه اندازی DOS با دستور Nmap

به نظر می رسد  که تاریخ استفاده از Nmap هرگز به پایان نمیرسد و به لطف NSE حتی این امکان را به ما میدهد که ما حملات DOS را علیه تست های شبکه انجام دهیم.در مثال قبلی ما (# 12) ما متوجه شدیم که میزبان به حمله Slowloris آسیب پذیر بوده است و اکنون سعی خواهیم کرد تا با استفاده از یک حمله DOS در یک حلقه برای همیشه از این آسیب پذیری بهره برداری کنیم.

nmap 192.168.1.105 -max-parallelism 800 -Pn –script http-slowloris –script-args http-slowloris.runforever=true

14- راه اندازی حملات ( brute force / خشن 😈 )

NSE واقعا شگفت انگیز است – شامل اسکریپت هایی از هر چیز که می توانید تصور کنید. سه نمونه دیگر از BFA را در مورد وردپرس، MSSQL و سرور FTP مشاهده می کنید:

حمله ( brute force / خشونت آمیز) به وردپرس:

nmap -sV –script http-wordpress-brute –script-args ‘userdb=users.txt,passdb=passwds.txt,http-wordpress-brute.hostname=domain.com, http-wordpress-brute.threads=3,brute.firstonly=true’ 192.168.1.105

حمله ( brute force / خشونت آمیز) به MS-SQL:

nmap -p 1433 –script ms-sql-brute –script-args userdb=customuser.txt,passdb=custompass.txt 192.168.1.105

حمله ( brute force / خشونت آمیز) به FTP:

nmap –script ftp-brute -p 21 192.168.1.105

15- تشخیص نقطه ضعف های مخرب MALWARE در میزبان های از راه دور (remote hosts) با دستور nmap

Nmap قادر به تشخیص نرم افزارهای مخرب و backdoors با اجرای آزمایش های گسترده در سرویس های عمومی سیستم عامل مانند Identd، Proftpd، Vsftpd، IRC، SMB و SMTP است. همچنین دارای یک ماژول برای نشان دادن کرم های مخرب در سرورهای ریموت است و همچنین پایگاه های ایمن مرورگر گوگل و VirusTotal را نیز ادغام می کند.

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

nmap -sV –script=http-malware-host 192.168.1.105

یا با استفاده از تروجان چک Google:

nmap -p80 –script http-google-malware infectedsite.com

خروجی:

80/tcp open  http  |_http-google-malware.nse: Host is known for distributing malware.

Nmap یکی از کامل ترین و دقیق ترین اسکنر پورت هاست که توسط متخصصین Infosec استفاده می شود. با استفاده ازnmap، می توانید وظایف ساده اسکن پورت ها را انجام دهید یا از موتور قدرتمند اسکریپتش برای حملات DOS، تشخیص مالوارها و یا آزمایش های مخرب (brute force attack) در سرورهای محلی استفاده کنید.

100%
Awesome
  • Design
3 دیدگاه
  1. حسینی says

    تشکر

  2. علی رضا says

    مقاله خوبی بود مهندس تشکر

    1. امیر محبتی says

      پیشرفت شما باعث افتخار ماست

دیدگاه

آدرس ایمیل شما منتشر نخواهد شد.