</>

لینوکس‌پارسی

مرجع فارسی آموزش لینوکس

Gentoo • Arch • Debian • Ubuntu • Kali • Parrot
پرش به محتوای اصلی

Command Palette

Search for a command to run...

فصل ۳: اسکن و شمارش

تفاوت اسکن و شناسایی، اسکن عمیق با Nmap (SYN, UDP, نسخه‌یابی، OS fingerprint, NSE)، شمارش سرویس‌های SMB/SSH/HTTP/SNMP و هشدار درباره پنهان‌ماندن از IDS.

متوسط۱۸ دقیقه مطالعهآخرین بروزرسانی: ۸ تیر ۱۴۰۵ویرایش در گیت‌هاب

تفاوت اسکن با شناسایی#

اگر شناسایی (Recon) جمع‌آوری اطلاعات عمومی است، اسکن (Scanning) عملی، مستقیم و فنی است. در این فاز، تستر با ارسال پکت‌های ساختیافته به هدف، به این سوالات پاسخ می‌دهد: کدام میزبان‌ها روشن‌اند؟ کدام پورت‌ها بازند؟ چه سرویسی روی هر پورت اجرا می‌شود؟ نسخه‌اش چیست؟

برخلاف شناسایی غیرفعال، اسکن تقریباً همیشه توسط IDS/IPS هدف دیده می‌شود. به همین دلیل، انتخاب نوع اسکن، زمان‌بندی و سرعت، یک تصمیم تاکتیکی است.

Nmap — پادشاه اسکنرها#

Nmap (Network Mapper) استاندارد طلایی اسکن شبکه است. این ابزار متن‌باز، تقریباً در هر پلتفرم تست نفوذی (Kali، Parrot، BlackArch) به‌صورت پیش‌فرض نصب است. در ادامه، مهم‌ترین حالت‌های اسکن را مرور می‌کنیم.

کشف میزبان (Host Discovery)#

اولین قدم، فهمیدن این است که کدام IPها در یک بازه زنده‌اند. فلگ -sn فقط کشف میزبان انجام می‌دهد و پورت‌اسکن نمی‌زند:

# کشف میزبان در یک /24
nmap -sn 192.168.1.0/24
 
# کشف با ARP در یک شبکه محلی (دقیق‌تر)
nmap -PR -sn 192.168.1.0/24

انواع اسکن پورت#

فلگنامتوضیحردپا
-sSSYN scanنیمه‌باز، پیش‌فرض و سریعکم (لاگ تنها در فایروال‌های پیشرفته)
-sTTCP connectاتصال کامل، نیازمند هیچ امتیاز rootزیاد (در لاگ سرویس)
-sUUDP scanاسکن پورت‌های UDPبسیار کند
-sAACK scanتشخیص قوانین فایروالکم
-sN/-sF/-sXNull/FIN/Xmasدور زدن فایروال‌های قدیمیمتغیر

پیش‌فرض همیشه SYN است

در تست نفوذ قانونی، تقریباً همیشه از -sS استفاده کنید. سریع‌تر است، ردپای کمتری دارد و نیاز به root دارد (که روی Kali پیش‌فرض است). فقط اگر به root دسترسی ندارید، -sT را به‌کار ببرید.

نسخه‌یابی و OS fingerprint#

پیدا کردن پورت باز فقط نصف کار است. باید بدانیم چه سرویسی اجرا می‌شود و نسخه‌اش چیست:

# نسخه‌یابی سرویس
nmap -sV 192.168.1.10
 
# تشخیص سیستم‌عامل
nmap -O 192.168.1.10
 
# اسکن تهاجمی (همه‌چیز در یک دستور)
nmap -A 192.168.1.10
 
# ترکیبی: SYN + نسخه + OS + تمام پورت‌ها
nmap -sS -sV -O -p- -T4 192.168.1.0/24

فلگ -A شامل نسخه‌یابی، OS detection، اسکریپت‌های پیش‌فرض NSE و traceroute است. برای اسکن سریع اولیه عالی است.

موتور اسکریپت NSE (Nmap Scripting Engine)#

NSE یکی از قدرتمندترین قابلیت‌های Nmap است؛ به شما اجازه می‌دهد اسکریپت‌های از پیش ساخته‌شده برای شمارش عمیق یا حتی کشف آسیب‌پذیری اجرا کنید:

# اجرای تمام اسکریپت‌های دسته vuln
nmap --script vuln 192.168.1.10
 
# شمارش اشتراک‌های SMB
nmap --script smb-enum-shares -p 445 192.168.1.10
 
# کشف نسخه SMB و آسیب‌پذیری EternalBlue
nmap --script smb-vuln-ms17-010 -p 445 192.168.1.10
 
# گرفتن بنر HTTP
nmap --script http-title,http-headers -p 80,443 192.168.1.10

قالب‌های زمان‌بندی#

Nmap شش قالب زمان‌بندی دارد که از -T0 (پارانوئید) تا -T5 (دیوانه) متغیر است:

قالبسرعتکاربرد
-T0بسیار کنددور زدن IDS سنتی
-T1کندشبکه‌های حساس
-T2متوسط-کمپیش‌فرض محافظه‌کارانه
-T3متوسطپیش‌فرض واقعی Nmap
-T4بالاشبکه‌های پایدار (توصیه عمومی)
-T5بسیار بالافقط در شبکه محلی امن

خروجی و ذخیره نتایج#

Nmap سه قالب خروجی دارد که می‌توانید همزمان هر سه را ذخیره کنید:

# ذخیره همزمان در سه قالب
nmap -sS -sV -p- 192.168.1.10 -oN scan.txt -oX scan.xml -oG scan.grep
 
# قالب XML برای وارد کردن به Metasploit
nmap -sS -sV -p- 192.168.1.10 -oX scan.xml

قالب XML را می‌توان مستقیماً با db_import به پایگاه‌داده Metasploit وارد کرد که در فصل استثمار مفصل بررسی می‌کنیم.

شمارش سرویس‌های رایج#

SMB (پورت ۴۴۵)#

SMB پروتکل اشتراک فایل ویندوزی است و یکی از پرآسیب‌پذیرترین سرویس‌ها در شبکه‌های سازمانی محسوب می‌شود:

# شمارش کامل SMB با enum4linux
enum4linux -a 192.168.1.10
 
# اتصال به اشتراک ناشناس
smbclient -L //192.168.1.10/ -N
 
# اتصال به یک اشتراک خاص
smbclient //192.168.1.10/share -N
 
# لیست پارامترهای SMB با CrackMapExec
crackmapexec smb 192.168.1.10 -u '' -p ''

SSH (پورت ۲۲)#

اسکن SSH معمولاً محدود به بنر گربینگ است، اما بنر نسخه می‌تواند آسیب‌پذیری‌های قدیمی را لو بدهد:

# بنر گربینگ با ncat
ncat 192.168.1.10 22
 
# اسکریپت NSE برای SSH
nmap --script ssh-auth-methods,ssh-hostkey -p 22 192.168.1.10

HTTP (پورت‌های ۸۰ و ۴۴۳)#

اسکن وب‌سرور شامل پیدا کردن دایرکتوری‌های پنهان، فایل‌های پشتیبان و آسیب‌پذیری‌های متداول است:

# اسکن دایرکتوری با Gobuster
gobuster dir -u http://192.168.1.10 -w /usr/share/wordlists/dirb/common.txt
 
# اسکن دایرکتوری با dirb
dirb http://192.168.1.10
 
# اسکن آسیب‌پذیری وب‌سرور با Nikto
nikto -h http://192.168.1.10
 
# اسکریپت‌های NSE برای HTTP
nmap --script http-enum,http-headers,http-methods -p 80 192.168.1.10

SNMP (پورت ۱۶۱ UDP)#

SNMP اگر با community string پیش‌فرض public پیکربندی شده باشد، معدن اطلاعات است. فراموش نکنید که پورت UDP است پس در Nmap باید فلگ -sU بزنید:

# شمارش کامل SNMP
snmpwalk -c public -v1 192.168.1.10
 
# فقط فرایندهای در حال اجرا
snmpwalk -c public -v1 192.168.1.10 1.3.6.1.2.1.25.4.2.1.2
 
# brute-force روی community string
onesixtyone -c /usr/share/seclists/Discovery/SNMP/snmp.txt 192.168.1.10

جدول مقایسه انواع اسکن Nmap#

هدفدستور پیشنهادیزمان تقریبی
اسکن سریع ۱۰۰۰ پورت اولnmap -T4 192.168.1.10۵ ثانیه
اسکن کامل ۶۵۵۳۵ پورتnmap -p- -T4 192.168.1.10۲۰ تا ۶۰ دقیقه
اسکن UDPnmap -sU --top-ports 100 192.168.1.10۱۰ تا ۳۰ دقیقه
اسکن تهاجمی کاملnmap -A -T4 -p- 192.168.1.10۱ تا ۲ ساعت
اسکن آسیب‌پذیریnmap --script vuln 192.168.1.10۵ تا ۳۰ دقیقه

اسکن‌های پر سر و صدا

اسکن‌های -A و --script vuln به‌شدت پُر سر و صدا هستند و توسط هر IDS متوسطی شناسایی می‌شوند. اگر در قرارداد ذکر شده که باید پنهان بمانید، از -T2 یا حتی -T1 استفاده کنید و اسکن‌ها را در طول چند روز پخش کنید. همچنین -sS به‌جای -sT همیشه اولویت دارد.

تمرین عملی#

یک ماشین مجازی در شبکه محلی خود (مثلاً Metasploitable 2) راه بیندازید و این اسکن‌ها را اجرا کنید:

# 1. کشف میزبان
nmap -sn 192.168.56.0/24 -oG hosts.grep
 
# 2. اسکن کامل پورت با نسخه‌یابی
nmap -sS -sV -O -p- -T4 192.168.56.102 -oX full_scan.xml
 
# 3. شمارش SMB
enum4linux -a 192.168.56.102 | tee smb_enum.txt
 
# 4. اسکن وب
gobuster dir -u http://192.168.56.102 -w /usr/share/wordlists/dirb/common.txt | tee web_dirs.txt
 
# 5. اسکن آسیب‌پذیری روی پورت‌های کشف‌شده
nmap --script vuln -p 21,22,23,80,139,445 192.168.56.102 -oX vuln_scan.xml

خلاصه و گام بعدی#

در این فصل، با ابزار Nmap و انواع اسکن آن از کشف میزبان تا اسکریپت‌های NSE آشنا شدید و یاد گرفتید که چگونه سرویس‌های SMB، SSH، HTTP و SNMP را بشمارید. اسکن موفق، تعادل بین عمق اطلاعات و سطح ردپاست.

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

اشتراک‌گذاری:

این صفحه در تاریخ ۸ تیر ۱۴۰۵ به‌روزرسانی شده است.