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

همانطور که همواره شنیده اید، امنیت مقوله ای نسبی است. و هیچگاه به طور مطلق حاصل نمی شود. از این رو شناخت و بررسی متوالی پدیده و یا هدف مد نظر که شامل بررسی مجموعه رفتار ها و واکنش های آن در طی یک دوره معین از زمان می شود، آن را آسیب پذیر می سازد. در تمام اعمال، شناخت یکی از مهم ترین ارکان شمرده می شود. زیرا که شناخت می تواند اعمال را در جهت درست سوق دهد. در تست نفوذ نیز پنج مرحله اساسی وجود دارد. که مهم ترین های آن شامل، شناخت(Reconnasissance) و اسکن کردن می شود. اطلاعاتی که از این دو مرحله کسب خواهد شد، موجب سوق دادن مسیر تست نفوذ خواهد شد.ابزار Nmapاین ابزار، یکی از پرکاربرد ترین ابزار های متن-باز در زمینه ی جمع آوری اطلاعات است. به طوری که حتی مسئولان شبکه نیز از آن برای شناسایی پورت های باز، دستگاه های متصل و حتی آسیب پذیری های احتمالی استفاده می کنند. Nmap می تواند با اسکن کردن پورت های متفاوت یک سرور، اطلاعات زیادی را به دست آورد.نکته : این ابزار نباید در هیچ یک از فعالیت های غیر قانونی استفاده شود. در عوض، می توانید با عضویت در پلتفرم هایی همانند Hack The Box و یا استفاده از سرور تست Nmap، این ابزار را آزمایش کنید.به طور خلاصه، چگونه؟هر پورتی در سیستم عامل، به یک سرویس مشخص اختصاص داده شده است، که در پس زمینه سیستم عامل در حال فعالیت می باشد. در این صورت سرویس ها از شبکه خارجی و یا داخل شبکه (بسته به تنظیمات شبکه) با استفاده از آن پورت قابل دسترسی هستند. در نتیجه می توان با دسترسی مناسب و در دسترس داشتن آن پورت، اطلاعات زیادی را اعم از :" نام سرویس در حال اجرا، نسخه ی آن، آسیب پذیری های ممکن آن و ..." به دست آورد.از این رو دانستن این اطلاعات به عنوان یک متخصص امنیت یا تست نفوذ گر، مهم ترین قدم برای شناسایی آسیب های احتمالی و بررسی وضعیت نفوذ پذیری آن ها است.قابلیت های Nmapبه دست آوردن اطلاعات در مورد سرویس های در حال اجرا، تنها یکی از بی شمار قابلیت های این ابزار است. علاوه بر این، Nmap قابلیت های زیر را نیز برای کاربران فراهم می کند. شناسایی آسیب پذیری هاشناسایی سیستم عاملشناسایی پورت های بازشناسایی فایروالقابلیت Host discoveryاسکریپت های 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همانطور که می دانید تمام ارتباط ها در پروتکل 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 نیز مطالعه کنید.