</>

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

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

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

Command Palette

Search for a command to run...

فصل ۴: ارزیابی آسیب‌پذیری

ارزیابی آسیب‌پذیری، درک CVE و CVSS، اسکنرهای Nessus/OpenVAS/Nuclei، پژوهش دستی با Exploit-DB و searchsploit، تشخیص false positive و مستندسازی یافته‌ها.

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

ارزیابی آسیب‌پذیری چیست؟#

ارزیابی آسیب‌پذیری (Vulnerability Assessment) فرایندی سیستماتیک برای شناسایی، دسته‌بندی و اولویت‌بندی نقاط ضعف امنیتی در یک سیستم است. برخلاف تست نفوذ که به دنبال اثبات عملی استثمار است، ارزیابی تمرکزش روی فهرست‌بندی کامل آسیب‌پذیری‌های احتمالی است؛ حتی آن‌هایی که شاید در عمل قابل استثمار نباشند.

ارزیابی معمولاً هر چند ماه یک‌بار به‌صورت دوره‌ای اجرا می‌شود و خروجی آن ورودی مهمی برای فاز استثمار است.

CVE — زبان مشترک امنیت#

CVE (Common Vulnerabilities and Exposures) یک شناسه استاندارد جهانی است که به هر آسیب‌پذیریشناخته‌شده یک رشته یکتا اختصاص می‌دهد؛ مثلاً CVE-2021-44228 برای معروف‌ترین آسیب‌پذیری Log4j. این شناسه به محققان امنیتی امکان می‌دهد بدون ابهام درباره یک آسیب‌پذیری خاص صحبت کنند.

شما می‌توانید جزئیات هر CVE را در پایگاه‌های مرجع زیر جستجو کنید:

  • NVD (National Vulnerability Database): nvd.nist.gov — مرجع رسمی دولت آمریکا.
  • MITRE CVE: cve.org — نگهدارنده اصلی شناسه‌ها.
  • Exploit-DB: exploit-db.com — شامل PoCهای قابل دانلود.

CVSS — امتیازدهی استاندارد#

CVSS (Common Vulnerability Scoring System) یک سیستم امتیازدهی از ۰ تا ۱۰ است که شدت یک آسیب‌پذیری را نشان می‌دهد. نسخه فعلی CVSS 3.1 است و نسخه ۴.۰ در حال گسترش است.

امتیازشدتاقدام پیشنهادی
۰.۰Noneنیازی به اقدام
۰.۱ تا ۳.۹Lowوصله در زمان مناسب
۴.۰ تا ۶.۹Mediumوصله در عرض یک ماه
۷.۰ تا ۸.۹Highوصله در عرض یک هفته
۹.۰ تا ۱۰.۰Criticalوصله فوری (۲۴ ساعت)

CVSS واقعی، CVSS پایه

CVSS سه لایه دارد: Base (ویژگی ذاتی آسیب‌پذیری)، Temporal (تغییر در طول زمان، مثلاً در دسترس بودن وصله) و Environmental (تاثیر در محیط خاص شما). اکثر ابزارها فقط Base را نشان می‌دهند، اما در عمل باید Environmental را برای سازمان خود محاسبه کنید.

اسکنرهای آسیب‌پذیری#

Nessus#

Nessus یکی از قدیمی‌ترین و شناخته‌شده‌ترین اسکنرهای تجاری است. نسخه خانگی آن (Nessus Essentials) رایگان و محدود به ۱۶ IP در ماه است.

نصب و راه‌اندازی:

# دانلود از سایت Tenable (نیازمند ثبت‌نام)
sudo dpkg -i Nessus-X.X.X-debian10_amd64.deb
sudo systemctl start nessusd
 
# دسترسی از مرورگر
# https://localhost:8834

OpenVAS / GVM#

OpenVAS (که اکنون GVM — Greenbone Vulnerability Management نامیده می‌شود) جایگزین متن‌باز و رایگان Nessus است. در Kali نصب آن زمان‌بر است اما ارزشش را دارد:

# نصب
sudo apt update && sudo apt install gvm -y
 
# راه‌اندازی پایگاه داده (ممکن است ۳۰ دقیقه طول بکشد)
sudo gvm-setup
 
# بررسی وضعیت
sudo gvm-check-setup
 
# راه‌اندازی سرویس
sudo gvm-start
 
# دسترسی از مرورگر
# https://127.0.0.1:9392

Nuclei#

Nuclei یک اسکنر مدرن، سریع و مبتنی بر قالب YAML است که در سال‌های اخیر به شدت محبوب شده. برخلاف Nessus و OpenVAS که سنگین و کند هستند، Nuclei برای اسکن‌های سریع و هدفمند عالی است:

# نصب
sudo apt install nuclei -y
# یا با Go
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
 
# اسکن سریع یک هدف
nuclei -u http://192.168.1.10
 
# اسکن فقط آسیب‌پذیری‌های CVE
nuclei -u http://192.168.1.10 -t cves/
 
# اسکن با شدت High و Critical
nuclei -u http://192.168.1.10 -severity high,critical
 
# اسکن لیستی از اهداف
nuclei -l urls.txt -o nuclei_results.txt

Nuclei برای Bug Bounty

برای برنامه‌های Bug Bounty، Nuclei با قالب‌های سفارشی خود به‌شدت مفید است. می‌توانید قالب‌های خود را بنویسید یا از قالب‌های جامعه در github.com/projectdiscovery/nuclei-templates استفاده کنید. اسکن ماهانه یک دامنه با Nuclei، یکی از مؤثرترین روش‌های یافتن آسیب‌پذیری جدید است.

پژوهش دستی با Exploit-DB و searchsploit#

همیشه نباید به اسکنر اعتماد کرد. یک متخصص واقعی باید بتواند دستی یک نسخه از سرویس را بررسی و اعتبار آسیب‌پذیری را بسنجد.

Exploit-DB پایگاه داده‌ای است که توسط تیم Offensive Security نگهداری می‌شود و شامل هزاران PoC قابل دانلود است. ابزار searchsploit نسخه آفلاین آن در Kali است:

# جستجوی اکسپلویت برای Apache 2.4
searchsploit apache 2.4
 
# جستجوی محدود به عنوان
searchsploit -t eternalblue
 
# مشاهده جزئیات یک اکسپلویت با ID
searchsploit -x 12345
 
# کپی اکسپلویت به دایرکتوری فعلی
searchsploit -m 12345
 
# مسیر کامل اکسپلویت در فایل سیستم
searchsploit --path 12345

سپس می‌توانید کد اکسپلویت را مطالعه کنید و در صورت لزوم آن را سفارشی‌سازی کنید.

تفسیر خروجی اسکنر#

خروجی یک اسکنر معمولاً شامل این فیلدها است:

  • Plugin ID: شناسه داخلی اسکنر
  • CVE: شناسه استاندارد
  • CVSS: امتیاز شدت
  • Description: توضیح فنی
  • Solution: راهکار وصله
  • Proof: شواهد (نسخه، بنر، پاسخ HTTP)

مهم‌ترین بخش، شواهد است. بدون شواهد، گزارش شما فقط یک لیست از «احتمالات» است.

False Positive — دروغ‌های اسکنر#

هیچ اسکنری کامل نیست. False Positive (مثبت کاذب) زمانی رخ می‌دهد که اسکنر گزارش می‌دهد آسیب‌پذیری وجود دارد اما در عمل وجود ندارد. علل شایع:

  • نسخه‌یابی نادرست (مثلاً Apache ۲.۴.۴۹ در حالی که واقعاً ۲.۴.۵۱ است)
  • وصله backport شده (توزیع‌های لینوکسی نسخه را عوض نمی‌کنند اما وصله را اعمال کرده‌اند)
  • پیکربندی خاص سرور که جلوی استثمار را می‌گیرد

برای تأیید هر یافته:

۱. نسخه سرویس را به‌صورت دستی چک کنید (با Nmap یا بنر گربینگ). ۲. کد منبع یا changelog توزیع را بررسی کنید (Debian/Ubuntu معمولاً وصله‌های backport شده دارند). ۳. اگر امکان دارد، PoC را در یک محیط آزمایشی اجرا کنید.

مستندسازی با شواهد

هر یافته در گزارش نهایی باید حداقل شامل این موارد باشد: عنوان، توضیح، شناسه CVE، امتیاز CVSS، نسخه آسیب‌پذیر، شواهد (اسکرین‌شات یا لاگ)، مراحل بازتولید، میزان ریسک در محیط شما و راهکار. بدون شواهد، گزارش شما به‌سادگی توسط تیم IT رد می‌شود.

مقایسه اسکنرها#

اسکنرنوعهزینهسرعتپوششمناسب برای
Nessusتجاریپولی (Essentials رایگان محدود)متوسطعالیسازمان‌های متوسط و بزرگ
OpenVAS/GVMمتن‌بازرایگانکندخوبسازمان‌های با بودجه محدود
Nucleiمتن‌بازرایگانبسیار بالامتوسط (قالب‌محور)Bug Bounty و اسکن‌های سریع
QualysSaaSپولیبالاعالیسازمان‌های بزرگ ابری
Acunetixتجاریپولیمتوسطعالی برای وبتست اپلیکیشن‌های وب

تمرین عملی — اسکن با Nuclei#

یک ماشین آزمایشی (مثلاً Metasploitable یا DVWA) راه بیندازید و این فهرست را اجرا کنید:

# 1. اسکن پایه
nuclei -u http://192.168.1.10 -o basic_scan.txt
 
# 2. اسکن فقط CVE
nuclei -u http://192.168.1.10 -t cves/ -o cve_scan.txt
 
# 3. اسکن با شدت بالا و بحرانی
nuclei -u http://192.168.1.10 -severity high,critical -o critical.txt
 
# 4. به‌روزرسانی قالب‌ها
nuclei -update-templates
 
# 5. جستجوی دستی برای نسخه آپاچی
searchsploit apache 2.4 | tee apache_exploits.txt

بعد از پایان، هر یافته را به‌صورت دستی با Nmap و مرورگر بررسی و شواهد آن را اسکرین‌شات بگیرید.

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

در این فصل، با مفهوم CVE و CVSS آشنا شدید و یاد گرفتید که چگونه با اسکنرهایی مانند Nessus، OpenVAS و Nuclei یک ارزیابی کامل انجام دهید. مهم‌ترین درس: اسکنرها نقطه شروع هستند، نه نقطه پایان. همیشه یافته‌ها را به‌صورت دستی تأیید کنید.

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

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

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