جستجو

حتی ایام تعطیل - ۸:۳۰ صبح الی۱۶:۳۰

فهرست مطالب

آموزش ابزار NMAP – تست نفوذ سه مرحله ای

NMAP

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

همیشه هکرا سازمان های دولتی ، غیر دولتی ، امنیتی ، غیر امنیتی و حتی یک بچه ۱۰ ساله در حال پیدا کردن و کشف راه های نفوذ به شبکه های مختلف هستند تا برای تفریح، سرگرمی، دزدی و یا حتی راه های جدی تر دزدی اطلاعات شما و یا خیلی جدی تر برای دشمنان سازمان شما اگر تجاری هستید یا غیر تجاری هستید حتی اهداف سیاسی اونا رو به کار ببرند.

چرا خودمون این تست نفوذ رو انجام ندیم برای اینکه بفهمیم راه های نفوذ به شبکمون چیه؟

یکی از ابزارهای خوب و قدرتمند که با درصد قابل قبولی میتونه بما نشون بده که راه های نفوذ به شبکمون چیه نرم افزار NMAP هست! خیلی سادست، کار کردن باهاش خیلی راحته و شما به عنوان یک ادمین یا مدیر شبکه میتونی خیلی راحت شبکتو باهاش تست بکنی و متوجه بشی راه های نفوذ چی داری و این راه‌های نفوذ رو در مرحله بعدی ببندی.

مرحله اول اینکه راه های نفوذ به شبکه رو تشخیص بدی تا در مرحله بعدی بتونی اونا رو ببندی اگر در مرحله اول تشخیص درستی نداشته باشی در مراحل بعدی هم به مشکل میخوری پس این قدم مثل فونداسیون ساختمون میمونه و باید خیلی محکم و قوی اونو انجام بدی.

قبل از اینکه شروع کنیم باید مطمئن باشید که شما اجازه و Authority تست نفوذ رو دارید یا نه ؟ چون فرق بین یک هکر و متخصص امنیت در نحوه پول گرفتنشونه… در واقع یک متخصص امنیت در ازاری کاری که انجام میده حقوق یا پاداش میگیره ولی در مقابل هکر باج میگیره اما هیچ فرقی در ابزار ها نیست!

همون ابزار هایی که یک هکر استفاده میکنه شما هم به عنوان یکی متخصص امنیت عینا همون ابزار هارو استفاده میکنید، شما برای تست نفوذ استفاده میکنید و هکر هم برای همون تست نفوذ استفاده میکنه با این تفاوت که شما برای رفع این راه های نفوذ و بالا بردن امنیت شبکتون، ولی اون برای اینکه به شبکه شما نفوذ بکنه و اطلاعات شما رو بدزده یا نابود بکنه. پس تفاوت در ابزار ها نیست، در مراحل اولیه ابزار های هک و تست نفوذ یکیه … خلاصه اگر کسی ندونه شما دارید چکار میکنید، چه تست نفوذی انجام میدید ممکنه در همون مراحل اولیه IPS صداش در بیاد و Alert بده و بعد دردسر بشه برای همه به خصوص اگر که سازمان شما تیم Incident Response یا پاسخ یا واکنش به حوادث داشته باشه. پس مطمئن باشید که حتما از نوع چکاپ شما و تست نفوذ شما آگاه باشند. خب بریم سراغ اصل مطلب ….

مرحله اول نصب NMAP

وارد سایت NMAP بشید و بسته به اینکه از چه نوع سیستم عاملی استفاده میکنید لینوکس یا ویندوز نسخه مورد نیازتون رو دریافت کنید.

مدت زمان نصب بسته به نوع سیستم عامل متفاوت هست ولی بیشتر از  دو سه دقیقه طول نمیکشه. اگر از سیستم عامل ویندوز استفاده میکنید فقط چند تا NEXT ساده میزنید و کار تمومه. اگر نصب لینوکسی انجام میدین بنا به اینکه لینوکستون Red Hat باشه یا اینکه Debian Base باشه از دستورات مختلف استفاده بکنید.

مثلا در Debian از دستور زیر استفاده میکنید:

sudo apt-get install nmap

و در Red Hat از دستور زیر استفاده میکنید:

yum install nmap

دستورات پر کاربرد NMAP

دستور Ping Scan

من توی این مقاله سعی میکنم همه دستورات رو با Command جلو ببرم چون در محیط Command و GUI دستورات یکی هست و فرقی نمیکنه. در نسخه GUI در کادر بالای صفحه میتونید همون دستورات Command رو بنویسید و اجرا کنید.

نسخه گرافیکی ویندوزی نرم افزار NMAP اسمش ZENMAP هست و توی کادر Command میتونید دستورات Command بنویسید.

ساده ترین تستی که میتونید انجام بدین ping sweep یا ping scan هست.

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

nmap [Scan Type(s)] [Options] {target specification}

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

nmap -sn 192.168.1.0/24

در قسمت target specification میتونیم IP یک کامپیوتر، یک سرور، یک روتر یا هر چیز دیگه ای رو بنویسیم. مسلما برای اینکه شما بتونید تست نفوذ شبکتون رو انجام بدید از بیرون مثلا از خونتون میتونید IP Public سازمان یا شرکتتون رو در قسمت target specification قرار بدید و حتی از داخل سازمان هم این کار قابل اجراست.

خب حالا خروجی این دستور چیه؟ من الان این کار رو از داخل سازمانم انجام میدم و رنج داخلی شبکه رو به عنوان مثال میخوام اسکن کنم رنج مقصد من ۱۹۲.۱۶۸.۱.۰/۲۴ هست و میخوام یک Ping Scan کامل انجام بدم ببینم چند چندیم با شبکمون!

خروجی دستور من همینطور که میبنید اسکن شبکه در رنج مقصدم بود که اطلاعات مفیدی بمن میده از جمله Host هایی که در شبکه وجود دارن و IP اختصاص یافته به اونها که با فلش قرمز رنگ نماش داده شده، MAC Address اون Host ها که در شبکه وجود دارن با فلش سبز رنگ مشخصه و در بعضی موارد مشاهده میکنید که نام دستگاه و شرکت سازنده دستگاه هم نمایش داده میشه که با کادر نارنجی مشخص کردم در انتهای این خروجی مشخصه تمامی این اسکن در ظرف مدت زمان ۵.۹۶ ثانیه انجام شده که موفق بوده ۲۵۶ آدرس IP رو اسکن کنه و ۱۲ مورد رو تونسته پیدا کنه. خب تکلیف بقیه IP چی میشه ؟

ما در این نوع اسکن نمیتونیم مشخص کنیم چون ممکنه عملیات Hardening روی دستگاه ها انجام شده باشه یا فایروال اونها اجازه این مدل اسکن رو در شبکه نده پس ممکنه بقیه IP ها واقعا خالی نباشند و دستگاه هایی باشند که به دلایل امنیتی به این Ping sweep ما جواب ندادند.

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

دستور Port Scan

اگر بخوایم یک مرحله عمیق تر شبکه رو اسکن کنیم میتونیم پورت ها رو اسکن کنیم برای این کار میتونیم از دستور زیر استفاده کنیم:

nmap -sT 192.168.1.1

با استفاده از سوییچ s- میتونیم پورت اسکن رو انجام بدیم و سوییچ بعدی که T هست برای اسکن پورت های TCP و سوییچ دیگری که میتونیم استفاده کنیم سوییچ U برای اسکن پورت های UDP مورد استفاده قرار میگیره. در این اسکن که یک IP که مربوط به روتر سازمانمون هست رو اسکن کردیم و خروجی اون فقط ۱۱۶ ثانیه زمان برد تا تمام پورت های TCP برای IP مقصد رو اسکن کنه و فقط یک پورت باز پیدا کرد که اونم پورت ۲۲ مربوط به پروتکل SSH هست و ما فقط برای دسترسی به روتر این پورت رو باز گذاشتیم و بقیه رو بستیم و این نشون میده که ما روترمون رو خیلی امن کردیم!

اسکن پورت های UDP خیلی زمان میبره به این علت که در اسکن پورت های TCP یک ۳Way Handshake اون اول کار داری و به واسطه همین میشه اون اسکن های SYN و بقیه چیزهای مشابه رو خیلی سریع تر به نتیجه رسوند ولی در UDP همچنین چیزی وجود نداره و شما کامپیوترتون باید هی اسرار کنه در اسکن کردن و جواب گرفتن برای همین خیلی بیشتر طول میکشه.

من با دستور زیر یک بار هم اسکن پورت ها رو روی پروتکل UDP انجام میدم:

nmap -sU 192.168.1.1

برای اسکن کردن این تک IP و بررسی پورت های UDP حدودا ۱۱۴۳ ثانیه زمان برده که تقریبا معادل ۲۰ دقیقه میشه. توجه کنید که این اسکن فقط برای یک تک IP بوده و قطعا برای بررسی یک رنج زمان زیادی نیاز هست تا اسکن به صورت کامل انجام بشه. خروجی این اسکن ۴ پورت بوده که برای DHCP و SNMP استفاده شده.

خب تبریک میگم مرحله اول تست نفوذ رو با موفقیت پشت سر گذاشتید. حالا کم کم داریم به یه متخصص تبدیل میشیم.

نکته تکمیلی: در مورد دو نوع اسکن تا اینجا صحبت کردیم لازمه بگم که برای Ping Scan معمولا اون فایروال های داخل شبکه یا انواع آنتی‌ویروس ها که روی تک تک Host ها نصب هست حساسیت خاصی نشون نمیدن چون پکت های Ping یکی از رایج ترین و معمولی‌ترین پکت ها داخل شبکه هستند و اما برای اسکن نوع دوم که از نوع Port Scan بود اگر تنظیمات خاص و حرفه ای روی فایروال ها و آنتی ویروس‌های Host ها انجام شده باشه میتونه یکم حساسیت ایجاد کنه و تشخیص بده که یکسری کارها  و شیطونی ها داره داخل شبکه انجام میشه. اما معمولا در ۹۹ درصد موارد هیچ حساسیت و مشکلی تا اینجای کار به وجود نمیاد.

دستور Service Scan

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

من با دستور زیر برای یک IP سرویس اسکن رو انجام میدم:

nmap -sT -sV 192.168.1.1

با استفاده از سوییچ sV- میتونیم دستور سرویس اسکن رو انجام بدیم و همونطور که میبینید ظرف مدت تقریبا ۲۳ ثانیه این اسکن انجام شده و خروجی اون خیلی جالب بوده. دقیقا مشخص شده که روی دیوایس Cisco من پروتکل SSH باز هست و جالب اینکه مشخص کرده از چه ورژنی استفاده میشه! خب میدونید اولین قدمی که یک هکر میتونه برداره اینه که سرویس های استفاده شده و ورژن اونها در مقصد رو شناسایی کنه و خب با یک سرچ ساده به راحتی میشه انواع آسیب پذیری در مورد نوع سرویس و ورژن اون رو بدست آورد و از همون نقطه حمله رو انجام داد. به همین راحتی

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

nmap -sT -sU -sV 192.168.1.1

نکته: باید توجه داشت که هر چه تعداد سوییچ ها رو بیشتر کنید مسلما زمان بیشتری نیازه تا خروجی بدست بیاد.

من یک بار هم دستورات رو روی Command Prompt اجرا میکنم که ببینید هیچ تفاوتی با نرم افزار GUI نداره و مهم دستورات هستند که باید یاد بگیریم. در کد زیر من قصد داشتم برای یک IP در مقصد اسکن پورت های UDP و اسکن سرویس رو انجام بدم برای همین از دستور زیر استفاده کردم:

nmap -sU -sV 192.168.1.100

این اسکن برای ما ۱۱۴۱ ثانیه زمان برد تا تموم بشه و همینطور که مشخصه این IP مربوط به یک سرور VOIP هست و با توجه به اسکن انجام شده میبینید که پورت ۵۰۶۰ مربوط به سرویس sip و پورت ۵۳۵۳ مربوط به سرویس mdns بوده که دقیقا مشخص شده سرور Voip ما از نسخه IPBX-2.11.0 استفاده کرده و توسط اسکنر هم این موضوع تایید شده. حالا با توجه به خروجی این دستورات به نظرتون هکر چه کارهایی میتونه انجام بده ؟

دستورات بیشتر:

خب تا اینجا کار کردن با سوییچ های پایه ای ابزار NMAP رو با هم کار کردیم و دونستن این سوییچ ها جزء اساسی ترین و مهمترین سوییچ های این ابزار هستند. برای اسکن های دقیق تر و عمیق تر سوییچ های دیگری هم مورد استفاده قرار میگیره که من در اینجا به اختصار تعدادی ازین سوییچ ها رو براتون میذارم و میتونید با ترکیب هر کدوم از اونها نتایج شگفت انگیزی بدست بیارید. در ضمن لازمه ذکر کنم که این سوییچ ها همه قابلیت هایی که ابزار NMAP داره رو در اختیار ما قرار نمیده و خیلی از سوییچ ها با آرگومان های مختلفی بکار میرن که توضیح دادن اونها ممکنه ایجاد ابهام کنه به هر حال همیشه اخرین تغییرات در سوییچ ها رو میتونید در این لینک مشاهده کنید:

HOST DISCOVERY:
-sL: List Scan – simply list targets to scan
-sn: Ping Scan – disable port scan
-Pn: Treat all hosts as online — skip host discovery
-PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP discovery to given ports
-PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes
-PO[protocol list]: IP Protocol Ping
-n/-R: Never do DNS resolution/Always resolve [default: sometimes]
–dns-servers <serv1[,serv2],…>: Specify custom DNS servers
–system-dns: Use OS’s DNS resolver
–traceroute: Trace hop path to each host
SCAN TECHNIQUES:
-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans
-sU: UDP Scan
-sN/sF/sX: TCP Null, FIN, and Xmas scans
–scanflags <flags>: Customize TCP scan flags
-sI <zombie host[:probeport]>: Idle scan
-sY/sZ: SCTP INIT/COOKIE-ECHO scans
-sO: IP protocol scan
-b <FTP relay host>: FTP bounce scan
PORT SPECIFICATION AND SCAN ORDER:
-p <port ranges>: Only scan specified ports
Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
–exclude-ports <port ranges>: Exclude the specified ports from scanning
-F: Fast mode – Scan fewer ports than the default scan
-r: Scan ports sequentially – don’t randomize
–top-ports <number>: Scan <number> most common ports
–port-ratio <ratio>: Scan ports more common than <ratio>
SERVICE/VERSION DETECTION:
-sV: Probe open ports to determine service/version info
–version-intensity <level>: Set from 0 (light) to 9 (try all probes)
–version-light: Limit to most likely probes (intensity 2)
–version-all: Try every single probe (intensity 9)
–version-trace: Show detailed version scan activity (for debugging)
SCRIPT SCAN:
-sC: equivalent to –script=default
–script=<Lua scripts>: <Lua scripts> is a comma separated list of
directories, script-files or script-categories
–script-args=<n1=v1,[n2=v2,…]>: provide arguments to scripts
–script-args-file=filename: provide NSE script args in a file
–script-trace: Show all data sent and received
–script-updatedb: Update the script database.
–script-help=<Lua scripts>: Show help about scripts.
<Lua scripts> is a comma-separated list of script-files or
script-categories.
OS DETECTION:
-O: Enable OS detection
–osscan-limit: Limit OS detection to promising targets
–osscan-guess: Guess OS more aggressively

راستی حالا که تا اینجا اومدی اینم بگم که ابزار های بسیار حرفه ای تر و دقیقتری نسبت به NMAP وجود داره که میتونیم از اونها استفاده کنیم مثل ابزار NESSUS که یک نسخه تجاری هست و برای استفاده از اون میطلبه که یک سرور مجزا بهش اختصاص بدیم و خیلی کار های حرفه‌ای‌تری با اون انجام بدیم مثلا این قابلیت رو برای ما ایجاد میکنه که به تک تک دیوایس ها داخل شبکه لاگین کنیم و دستوراتی رو از طریق این نرم افزار به سیستم مقصد ارسال کنیم و یا حتی میتونیم اخرین PATH های امنیتی رو شناسایی کنیم و روی سیستم مقصد نصب کنیم تا یک لول امنیت سازمانمون رو بیشتر کنیم. در آینده حتما مقالاتی در این خصوص تولید میکنیم و با قابلیت های شگفت انگیر این نرم افزار محبوب بیشتر آشنا میشیم.

نتیجه گیری:

Nmap، یک ابزار فوق‌العاده و معروف در دنیای امنیت و شبکه است که با دلیل خاص خودش، به عنوان “‌نقشه‌بردارشبکه” شناخته می‌شود. این ابزار رایگان و بازمتن است که بر روی انواع سیستم‌عامل‌ها مانند ویندوز، مک و لینوکس قابل استفاده است.

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

به عبارت ساده، اگر بخواهیم از کاربردهای Nmap بگوییم، می‌توانیم به موارد زیر اشاره کنیم:

– با استفاده از Nmap، میتونید پورت‌های باز و بسته روی دستگاه‌ها را شناسایی کنید. اینکار به شما کمک می‌کند تا امنیت سیستم‌ها و شبکه‌ها را بررسی کنید و همچنین سرویس‌های در حال اجرا را شناسایی نمایید.

– این ابزار قادر است نوع سیستم عامل مورد استفاده روی دستگاه‌ها را شناسایی کند. بدین ترتیب، میتونید بفهمید که آیا از ویندوز، لینوکس یا مک استفاده می‌شود.

– همچنین با استفاده از Nmap، میتونید سرویس‌های در حال اجرا روی دستگاه‌ها را شناسایی کنید. برخی از موارد عبارتند از وب سرورها، سرورهای FTP، سرورهای DNS و غیره.

– این ابزار می‌تواند به شما کمک کند تا پروتکل‌های ارتباطی مورد استفاده در شبکه را تحلیل کنید. به عنوان مثال، پروتکل‌های TCP، UDP و ICMP را میتونید بررسی کنید.

– همچنین Nmap با قابلیت نقشه‌برداری شبکه، به شما امکان می‌دهد توپولوژی شبکه را تحلیل کرده و دستگاه‌ها و ارتباطات بین آنها را مشاهده کنید.

– در نهایت، این ابزار بسیار مناسب برای تست نفوذ و ارزیابی امنیت سیستم‌ها و شبکه‌ها است. با استفاده از Nmap، میتونید ضعف‌ها و مشکلات امنیتی را با استفاده از Nmap، میتونید شبکه را به صورت شبه جامعه ای بررسی کنید.

امیدوارم این مقاله برای شما مفید واقع شده باشد.

 

دیدگاهتان را بنویسید

ورود | ثبت نام
شماره موبایل یا پست الکترونیک خود را وارد کنید
برگشت
کد تایید را وارد کنید
کد تایید برای شماره موبایل شما ارسال گردید
ارسال مجدد کد تا دیگر
برگشت
رمز عبور را وارد کنید
رمز عبور حساب کاربری خود را وارد کنید
برگشت
رمز عبور را وارد کنید
رمز عبور حساب کاربری خود را وارد کنید
برگشت
درخواست بازیابی رمز عبور
لطفاً پست الکترونیک یا موبایل خود را وارد نمایید
برگشت
کد تایید را وارد کنید
کد تایید برای شماره موبایل شما ارسال گردید
ارسال مجدد کد تا دیگر
ایمیل بازیابی ارسال شد!
لطفاً به صندوق الکترونیکی خود مراجعه کرده و بر روی لینک ارسال شده کلیک نمایید.
تغییر رمز عبور
یک رمز عبور برای اکانت خود تنظیم کنید
تغییر رمز با موفقیت انجام شد
20220

دریافت رایگان چک لیست امنیت شبکه

ما هرگز هرزنامه تولید نمیکنیم

20221