اسکنر چندین هشدار پیدا کرده است. آیا سرور حتماً آسیب‌پذیر است؟ شاید نسخه از banner حدس زده شده، شاید patch توزیع backport شده یا credential اسکن کار نکرده باشد. امشب گزارش را به شواهد و اولویت تبدیل می‌کنیم.

این جلسه بخشی از دورهٔ لینوکس ۳۰۳ در ۴۰ شب است.

محیط تمرین: Greenbone/OpenVAS در VM جدا با منابع مطابق release و feed آماده؛ هدف فقط srv آزمایشگاهی؛ رابط مدیریتی خصوصی.

جایگاه در دوره: هدف‌های 334.2 آزمون 303-300.

اسکنر، manager و رابط را جدا بشناس#

OpenVAS موتور اسکن در مجموعهٔ Greenbone است؛ manager و رابط وب نقش‌های دیگری دارند. معماری release را ثبت کن. فرمان‌هایی مانند openvas-adduser و openvassd در منابع قدیمی آزمون دیده می‌شوند؛ وجودشان را در نصب جدید فرض نکن. از دستور نصب رسمی همان release استفاده کن، نه ترکیب چند how-to تاریخی.

این جلسه نصب کامل appliance را در ماشین وبلاگ اجرا نمی‌کند؛ ابتدا یک VM اختصاصی طبق مستندات Community Edition آماده کن. زمان و منابع feed و وضعیت تمام componentها باید بررسی شوند. feed قدیمی، نتیجه را محدود می‌کند.

یک هدف، یک اسکن قابل تکرار#

در رابط مدیریتی، این مراحل را با نام‌های واقعی نسخهٔ نصب‌شده انجام بده:

  1. پایان همگام‌سازی feed و آماده بودن scanner را تأیید کن؛ زمان feed را ثبت کن.
  2. Target با نام lpic303-srv و فقط IP 192.168.56.10 بساز؛ شبکهٔ واقعی یا subnet عمومی را وارد نکن.
  3. Port List محدود به پورت‌های مورد استفادهٔ lab انتخاب کن؛ هدفی که ping جواب نمی‌دهد الزاماً خاموش نیست، پس روش alive test را متناسب انتخاب کن.
  4. یک Scan Config مناسب بررسی پایه، بدون آزمون‌های مخرب، انتخاب کن؛ وجود این گزینه و معنای تست‌ها را در release خودت بخوان.
  5. Task را به Target و Scanner مرتبط کن؛ زمان شروع، config و credential داشتن یا نداشتن را ثبت کن.
  6. پس از پایان، یک finding را باز کن و evidence، روش تشخیص، شدت و Quality of Detection را بخوان.

خروجی مورد انتظار یک Report قابل خواندن است؛ گزارش خالی با اسکن شکست‌خورده فرق دارد. اگر service detection یا credential شکست خورده، آن را صریح ثبت کن. authenticated scan با حساب مخصوص و کمترین دسترسی لازم می‌تواند وضعیت بسته‌ها را دقیق‌تر ببیند؛ credential مدیر اصلی را برای اولین آزمایش استفاده نکن.

از CVE به تصمیم#

CVE شناسهٔ آسیب‌پذیری است؛ CVSS توصیف شدت فنی دارد و به‌تنهایی اولویت کسب‌وکار نیست. یک سرویس در معرض شبکه، دادهٔ حساس و امکان بهره‌برداری، با یک ابزار نصب‌شدهٔ بی‌استفاده متفاوت‌اند. در توزیع دارای backport، شمارهٔ upstream به‌تنهایی نبود patch را ثابت نمی‌کند؛ advisory بستهٔ توزیع را هم بررسی کن.

برای یک finding، جدول «شاهد، اعتبارسنجی، اثر، اصلاح، آزمون دوباره» بساز. اصلاح می‌تواند update، کاهش دسترسی یا تغییر پیکربندی باشد؛ حذف سرویس کاربردی بدون بررسی نتیجه، حل کامل مسئله نیست.

NASL و مرز اعتماد#

NASL زبان آزمون‌های امنیتی است. plugin اسکنر کد اجرا می‌کند؛ feed و plugin سفارشی باید از منبع قابل اعتماد و سازگار باشند. هدف این درس نوشتن exploit نیست؛ باید بفهمی یک check چگونه نتیجه می‌گیرد و چه پیش‌شرط‌هایی دارد. صرف وجود اسم CVE در خروجی، اثبات exploitation نیست.

مأموریت: یک اصلاح کوچک روی Clone انجام و همان task را تکرار کن؛ تفاوت را با feed و scope یکسان بسنج. منابع: اسکن سیستم در Greenbone و OpenVAS Scanner .