سوالات مصاحبه شغلی Penetration Testing

سوالات رایج Penetration Testing در مصاحبه شغلی + پاسخ حرفه‌ای

دنیای امنیت سایبری در سال‌های اخیر دستخوش تغییرات بزرگی شده است. دیگر صرفاً دانستن نام چند ابزار برای قبولی در مصاحبه کافی نیست. مصاحبه‌گران امروز به دنبال “ذهنیت هکری” (Hacker...

فهرست مطالب

دنیای امنیت سایبری در سال‌های اخیر دستخوش تغییرات بزرگی شده است. دیگر صرفاً دانستن نام چند ابزار برای قبولی در مصاحبه کافی نیست. مصاحبه‌گران امروز به دنبال “ذهنیت هکری” (Hacker Mindset) هستند؛ یعنی توانایی تحلیل، خلاقیت در دور زدن محدودیت‌ها و قدرت گزارش‌دهی دقیق. در این مقاله، بیش از ۳۰ سوال سوالات مصاحبه شغلی Penetration Testing را در بسترهای مختلف کالبدشکافی می‌کنیم.

بخش اول: استراتژی و متدولوژی (The Framework)

قبل از ورود به مباحث فنی، مصاحبه‌گر می‌خواهد بداند آیا شما از یک نقشه راه علمی پیروی می‌کنید یا خیر.

۱. تفاوت بین Red Teaming و Penetration Testing چیست؟

بسیاری این دو را یکی می‌دانند، اما تفاوت در “هدف” و “مخفی‌کاری” است.

  • تست نفوذ: هدف یافتن بیشترین تعداد آسیب‌پذیری در یک بازه زمانی مشخص (Scope) است. معمولاً تیم IT از این تست باخبر است.
  • تیم قرمز: یک شبیه‌سازی واقعی از حمله مهاجمان پیشرفته (APT) است. هدف، سنجش قدرت تشخیص و پاسخگویی تیم امنیتی (Blue Team) است. در اینجا مخفی ماندن از ابزارهای مانیتورینگ اولویت اول است.

۲. در صورت برخورد با یک “سیستم خارج از محدوده” (Out of Scope) چه می‌کنید؟

این یک سوال اخلاقی و قانونی است. پاسخ صحیح این است: «حتی اگر آسیب‌پذیری بحرانی در آن ببینم، بدون اجازه کتبی و الحاقیه قرارداد، به آن دست نمی‌زنم. اما بلافاصله موضوع را به مدیر پروژه گزارش می‌دهم تا در مورد اضافه شدن آن به محدوده تصمیم‌گیری شود.»

بخش دوم: امنیت وب و اپلیکیشن (OWASP & Beyond)

وب‌سایت‌ها خط مقدم حملات هستند. تسلط بر OWASP Top 10 اجباری است.

۳. تفاوت بین Blind SQLi و Error-based SQLi چیست؟

  • Error-based: مهاجم با وارد کردن کاراکترهای خاص، باعث می‌شود دیتابیس خطا بدهد و اطلاعات را در خودِ پیام خطا برگرداند (مثلاً نسخه دیتابیس).
  • Blind (کور): سرور هیچ خطای مستقیمی نمی‌دهد. مهاجم باید از سوالات “بله/خیر” استفاده کند.
    • Boolean-based: اگر شرط درست باشد صفحه لود می‌شود، اگر غلط باشد خیر.
    • Time-based: مهاجم به دیتابیس دستور می‌دهد: «اگر حرف اول پسورد ‘A’ است، ۵ ثانیه صبر کن».

۴. مکانیزم (Same-Origin Policy (SOP چیست و چگونه دور زده می‌شود؟

SOP یک سد امنیتی در مرورگر است که اجازه نمی‌دهد اسکریپت‌های یک سایت به داده‌های سایت دیگر دسترسی داشته باشند. پنتسترها با استفاده از حملاتی مثل CORS Misconfiguration یا JSONP سعی در دور زدن این محدودیت برای سرقت توکن‌های حساس دارند.

۵. حملات Prototype Pollution در جاوا اسکریپت را توضیح دهید.

این یک سوال سطح بالاست. در این حمله، مهاجم با تغییر دادن ویژگی‌های ریشه (Prototype) در اشیاء جاوا اسکریپت، می‌تواند رفتار کل برنامه را تغییر دهد که گاهی منجر به Remote Code Execution (RCE) می‌شود.

بخش سوم: زیرساخت، شبکه و اکتیو دایرکتوری

امروزه نفوذ به شبکه داخلی سازمان‌ها (Internal Network) از نان شب برای شرکت‌ها واجب‌تر است.

۶. حمله Pass-the-Hash چیست؟

در محیط‌های ویندوزی، مهاجم نیازی به دانستن پسورد واقعی کاربر ندارد. اگر او بتواند هش (Hash) پسورد را از حافظه (LSASS) استخراج کند، می‌تواند با همان هش به منابع دیگر شبکه متصل شود. ابزار معروف برای این کار Mimikatz است.

۷. تفاوت بین استخراج اطلاعات از طریق SNMP و SMB چیست؟

  • SNMP: پروتکل مدیریت شبکه است. اگر Community String (مثل public) لو برود، اطلاعاتی مثل لیست کاربران، نرم‌افزارهای نصب شده و زمان بالا بودن سیستم (Uptime) لو می‌رود.
  • SMB: پروتکل اشتراک فایل است. پنتستر با بررسی SMB می‌تواند فولدرهای محافظت نشده (Null Sessions) را پیدا کرده و فایل‌های حساس را دانلود کند.

۸. در مورد حملات Kerberoasting چه می‌دانید؟

این حمله هدفش استخراج پسورد سرویس‌ها در اکتیو دایرکتوری است. مهاجم درخواستی برای بلیت سرویس (TGS) می‌فرستد و از آنجایی که بخش‌هایی از این بلیت با پسورد سرویس هش شده، می‌تواند آن را به‌صورت آفلاین کرک کند.

بخش چهارم: ابزارهای تخصصی و تحلیل ترافیک

۹. فیلترهای کاربردی در Wireshark برای شناسایی حملات.

مصاحبه‌گر ممکن است بپرسد چگونه یک حمله Brute-force را در وایرشارک می‌بینید؟

  • پاسخ: بررسی تعداد زیاد بسته‌های SYN در زمان کوتاه یا کدهای وضعیت 401 Unauthorized در پروتکل HTTP به صورت پیاپی.

۱۰. تفاوت ابزارهای Static Analysis (SAST) و Dynamic Analysis (DAST).

  • SAST: بررسی کد منبع (Source Code) بدون اجرای برنامه. (یافتن باگ‌های منطقی در کد).
  • DAST: بررسی برنامه در حال اجرا (Run-time). (یافتن باگ‌های پیکربندی و سرور).

بخش پنجم: سناریوهای عملی (The War Room)

اینجا جایی است که باید تجربه خود را ثابت کنید.

سناریو ۱: «شما دسترسی Shell به یک سرور لینوکسی دارید اما کاربر معمولی هستید. چطور Root می‌شوید؟»

  1. بررسی دستور sudo -l برای دیدن مجوزهای سودو.
  2. جستجوی فایل‌های با بیت SUID.
  3. بررسی نسخه Kernel برای اکسپلویت‌های محلی (Local Privilege Escalation).
  4. چک کردن فایل‌های کانفیگ دیتابیس برای یافتن پسورد ادمین.
  5. بررسی اینترنت برای دیدن آیا سرویس‌های قدیمی مثل NFS یا Samba با دسترسی بالا اجرا می‌شوند؟

سناریو ۲: «یک وب‌سایت دارای WAF (فایروال لایه اپلیکیشن) قوی است. چطور آن را دور می‌زنید؟»

  • استفاده از Encodingهای مختلف (Base64, URL Encoding, Double Hex).
  • استفاده از روش IP Fragmentation (تکه تکه کردن بسته‌ها).
  • پیدا کردن IP واقعی سرور پشت (Origin IP) با استفاده از رکوردهای قدیمی DNS یا ایمیل‌های ارسالی از سمت سرور، تا مستقیماً به سرور وصل شوم و WAF را دور بزنم.

بخش ششم: گزارش‌دهی؛ مهم‌ترین بخش کار یک پنتستر

بسیاری از متخصصان فنی در این بخش شکست می‌خورند.

  • سوال: یک گزارش خوب چه ویژگی‌هایی دارد؟
  • پاسخ: گزارش باید دو مخاطب داشته باشد:
    • بخش مدیریتی (Executive Summary): بدون اصطلاحات فنی، ریسک کسب‌وکار و ضرر مالی را توضیح دهد.
    • بخش فنی: شامل مراحل بازتولید (Steps to Reproduce)، شدت (Severity) بر اساس شاخص CVSS و از همه مهم‌تر راهکار اصلاحی (Remediation) باشد.

برای موفقیت در مصاحبه، صادق باشید. اگر چیزی را نمی‌دانید، بگویید: «دقیقاً حضور ذهن ندارم، اما می‌دانم برای پیدا کردن جواب باید در فلان مستندات یا با فلان ابزار جستجو کنم.» این نشان‌دهنده توانایی شما در حل مسئله است.

دیدگاه‌های شما

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

مقالات مرتبط