ویرگول
ورودثبت نام
Mazdak Pakaghideh
Mazdak Pakaghidehیک نوجوان که توسعه دهنده نرم افزاره و عاشق یادگیریه.
Mazdak Pakaghideh
Mazdak Pakaghideh
خواندن ۵ دقیقه·۳ سال پیش

هک و امنیت: چکیده راهنمای Nmap


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

در تست نفوذ نیز پنج مرحله اساسی وجود دارد. که مهم ترین های آن شامل، شناخت(Reconnasissance) و اسکن کردن می شود. اطلاعاتی که از این دو مرحله کسب خواهد شد، موجب سوق دادن مسیر تست نفوذ خواهد شد.


ابزار Nmap

این ابزار، یکی از پرکاربرد ترین ابزار های متن-باز در زمینه ی جمع آوری اطلاعات است. به طوری که حتی مسئولان شبکه نیز از آن برای شناسایی پورت های باز، دستگاه های متصل و حتی آسیب پذیری های احتمالی استفاده می کنند. Nmap می تواند با اسکن کردن پورت های متفاوت یک سرور، اطلاعات زیادی را به دست آورد.

نکته : این ابزار نباید در هیچ یک از فعالیت های غیر قانونی استفاده شود. در عوض، می توانید با عضویت در پلتفرم هایی همانند Hack The Box و یا استفاده از سرور تست Nmap، این ابزار را آزمایش کنید.


به طور خلاصه، چگونه؟

هر پورتی در سیستم عامل، به یک سرویس مشخص اختصاص داده شده است، که در پس زمینه سیستم عامل در حال فعالیت می باشد. در این صورت سرویس ها از شبکه خارجی و یا داخل شبکه (بسته به تنظیمات شبکه) با استفاده از آن پورت قابل دسترسی هستند. در نتیجه می توان با دسترسی مناسب و در دسترس داشتن آن پورت، اطلاعات زیادی را اعم از :" نام سرویس در حال اجرا، نسخه ی آن، آسیب پذیری های ممکن آن و ..." به دست آورد.

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


قابلیت های Nmap

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

  1. شناسایی آسیب پذیری ها
  2. شناسایی سیستم عامل
  3. شناسایی پورت های باز
  4. شناسایی فایروال
  5. قابلیت Host discovery
  6. اسکریپت های NSE


نصب

برای نصب Nmap می توانید به صورت زیر عمل کنید. همچنین می توانید با مراجعه به صفحه دانلود رسمی Nmap، نسخه مناسب سیستم عامل خود را پیدا کنید.

$ sudo apt install namp # Debian, Ubuntu $ sudo pacman -S nmap # Arch Linux $ sudo snap install nmap # Fedora $ sudo brew install nmap # MacOS


دستورات Nmap

قبل از ادامه، ساختار کلی دستورات Nmap به صورت زیر است:

$ nmap [Scan-type] [Options] [Target]


اسکن کردن سیستم های مشخص:

برای اسکن کردن یک و یا یک محدوده از سیستم های مشخص، میتوانید از دستورات زیر استفاده کنید. این دستورات ۱۰۰۰ پورت معمول را اسکن می کند.

$ nmap [IP] or [Hostname] $ nmap [IP 1] [IP 2] [IP n] $ nmap 192.168.1.104 #Example

همچنین علامت ستاره (*) برای اسکن تمام ساب نت های یک ایپی استفاده می شود.

$ nmap 192.168.1.*

از علامت خط تیره (-) نیز می توان برای برای اسکن کردن یک محدوده از ایپی ادرس ها استفاده کرد.

$ nmap 192.168.0.0–255


شیوه Stealth Scan:

3-Way-Hanshake
3-Way-Hanshake

همانطور که می دانید تمام ارتباط ها در پروتکل TCP، از فرایند معروف three‐way handshake استفاده می کنند. علیرغم این که این شیوه از اسکن همانند این فرایند با ارسال یک پکت SYN آغاز می شود، یک تفاوت بزرگ در آن وجود دارد.

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

$ nmap -sS [Target]
$ nmap -sS 192.168.1.5


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

دستور زیر تمام دستگاه های متصل به یک شبکه را با ارائه ساب نت و استفاده از شیوه Stealth Scan، اسکن می کند.

$ nmap -sS [The_Subnet] $ nmap -sS 192.168.1.0/24 #Example


اسکن نسخه ی سرویس ها:

$ nmap -sV [Target] $ nmap -sV scanme.nmap.org #Example


تشخیص سیستم عامل:

$ nmap -O [Target] $ nmap -O scanme.nmap.org #Example


شیوه Aggressive Scanning:

این شیوه از اسکن، قابلیت های تشخیص سیستم عامل(-O)، تشخیص نسخه سرویس های در حال اجرا(-sV)، اسکن به واسطه اسکریپت ها، و traceroute(–traceroute) را فعال میکند.

$ nmap -A [Target] $ nmap -A scanme.nmap.org #Example


اسکن پورت ها:

با استفاده از پارامتر -p میتوانید، این نحو از اسکن را انجام دهید.

$ nmap -p [Port] [Target] $ nmap -p 22 192.168.1.5 #Example

همچنین میتوانید نوع پورت را مشخص کنید:

$ nmap -p T:80

و یا محدوده ای از پورت ها را اسکن کنید:

$ nmap -p 80-443 192.168.1.5


اسکن کردن آسیب پذیری ها:

اسکریپت های زیادی به منظور اسکن آسیب پذیری ها، توسعه داده شده است. یکی از شناخته شده ترین این اسکریپت ها، nmap-vulners نام دارد.

میتوانید از دستورات زیر برای نصب و آزمایش این اسکریپت استفاده کنید.


# Navigating to the Nmap scripts directory $ cd /usr/share/nmap/scripts/ # Cloning the git repository $ git clone https://github.com/vulnersCom/nmap-vulners.git # NSE scripts usage $ nmap -sV --script vulners [--script-args mincvss=<arg_val>] <target> # Example $ nmap -sV --script nmap-vulners/ 192.168.1.5


اسکن کردن از طریق یک فایل:

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

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

$ nmap -iL [Path_To_File] $ nmap -iL ./servers.txt > result.txt #Example



این مقاله به صورت رسمی در سایت من به‌ آدرس https://mazdak.dev منتشر شده است.

همچنین می توانید این مقاله را در پلتفرم Medium نیز مطالعه کنید.

امنیتتست نفوذبرنامه نویسیلینوکسسیستم عامل
۸
۰
Mazdak Pakaghideh
Mazdak Pakaghideh
یک نوجوان که توسعه دهنده نرم افزاره و عاشق یادگیریه.
شاید از این پست‌ها خوشتان بیاید