تست نفوذ واقعاً چیست؟
تفکیک عملی تست نفوذ: آن چیست، چگونه انجامهای کاری اجرا میشوند، و چه چیزی آن را از اسکن آسیبپذیری متمایز میکند.
تست نفوذ عمل شبیهسازی حملات واقعی بر سیستم، شبکه یا برنامه تحت یک توافق امضا شده است، با هدف یافتن ضعفهای قابلاستفاده قبل از اینکه کسی بدون اجازه آن را بیابد. این یک تمرین کنترلشده و محدود به زمان است که به گزارش ختم میشود، نه یک هاکینگ آزادانه و پیوسته.
تفاوت بین pentesting و vulnerability scanning
یک scanner آسیبپذیری مثل Nessus یا OpenVAS هدف را بر اساس پایگاه داده امضاهای شناختهشده بررسی میکند و فهرستی از مسائل احتمالی به شما میدهد، اکثر آنها نیاز به تایید دستی دارند. یک pentest فراتر میرود: تستر واقعاً سعی میکند یافتهها را استفاده کند، آنها را با هم زنجیر کند، و تأثیر واقعی را نشان دهد. اسکن به شما میگوید یک پورت باز است و نسخه سرویس قدیمی به نظر میرسد. Pentesting به شما میگوید آن سرویس قدیمی میتواند برای دریافت shell استفاده شود، و از آن shell میتوانید وارد domain controller شوید.
این تمایز برای گزارشدهی نیز مهم است. گزارش اسکن یک فهرست است. گزارش pentest داستانی است با شواهد: اسکریینشاتها، خروجی دستور، و یک راهنمایی از مسیر حمله از foothold اولیه تا هرچه هدف توافق شده بود (دسترسی به داده، domain admin و غیره).
چگونه یک انجام کاری دامنهبندی میشود
قبل از شروع هر تست، کلاینت و تستر بر قوانین engagement توافق میکنند: آنچه در محدوده است (محدوده IP خاص، دامنه، برنامه)، آنچه ممنوع است (پایگاهدادههای تولیدی، سیستمهای شخص ثالث مالکیت کلاینت نیستند)، پنجرههای تست، و مخاطبان اضطراری اگر چیزی خراب شود. این در نامه اجازه امضا شده یا قرارداد نوشته میشود. بدون آن اجازه، همان کار تکنیکی دقیق جرم تحت قوانینی مثل Computer Fraud and Abuse Act آمریکا یا Computer Misuse Act انگلیس است.
Engagementها معمولاً بر اساس میزان اطلاعاتی که تستر با آن شروع میکند دستهبندی میشوند:
- Black box — تستر فقط هدفی دریافت میکند و چیز دیگری نه، شبیهسازی یک مهاجم بیرونی بدون دانش قبلی.
- Gray box — تستر اطلاعات برخی را دریافت میکند، مثل حساب کاربری یا نمودار شبکه، مشابه یک insider مخرب یا سناریوی اعتبار تحتسوءاستفاده.
- White box — تستر دسترسی کامل به کد منبع، اسناد معماری، و اعتبارات دارد، مفید برای تست گہری سطح برنامه.
آنچه یک روششناسی معمولی شبیه به چیست
اکثر pentests تقریباً از ساختاری نزدیک به PTES (Penetration Testing Execution Standard) یا فازهای SP 800-115 NIST پیروی میکنند:
- Reconnaissance — جمعآوری اطلاعات غیرفعال و فعال. ابزارهایی مثل
theHarvester،amass، یا صرف Google dorking برای زیردامنههای فاششده و ایمیلهای کارمند. - Scanning and enumeration —
nmap -sC -sVبر محدوده هدف، brute-forcing دایرکتوری باgobusterیاffufدر وببرنامهها، SMB enumeration باenum4linuxدر شبکههای داخلی. - Exploitation — استفاده از CVEهای شناختهشده، misconfigurationها، اعتبارات ضعیف، یا payloadهای سفارشی برای دریافت دسترسی اولیه. این میتواند یک ماژول Metasploit، یک payload SQL injection ساختهشده، یا ایمیل phishing با macro مخرب باشد.
- Post-exploitation — هنگامی که foothold دارید، کار واقعی شروع میشود: privilege escalation، lateral movement، harvesting اعتبار با ابزارهایی مثل Mimikatz یا
secretsdump.py، و فهمیدن اینکه دسترسی واقعاً تا کجا امتداد دارد. - Reporting — نوشتن یافتهها با CVSS scoreها، مراحل بازتولید، شواهد، و راهنمایی remediation که تیم engineering کلاینت میتواند بر آن عمل کند.
انواع pentestهایی که با آنها برخورد خواهید کرد
Network pentestها زیرساخت داخلی یا خارجی را هدف میکنند — سرور، firewall، router. Web application pentestها بر چیزهایی در OWASP Top 10 تمرکز میکنند: injection flaw، broken authentication، insecure deserialization. Mobile app pentestها در فایلهای APK/IPA، API endpointها، و local storage کاوش میکنند. Wireless pentestها امنیت Wi-Fi را تست میکنند (WPA2/3 handshake capture، rogue access point). Physical و social engineering pentestها تست میکنند که آیا کسی میتواند به ساختمان وارد شود یا کارمندی را متقاعد کند اطلاعات حساسی تحویل دهد، بدون کد.
چرا شرکتها واقعاً برای این پرداخت میکنند
فراتر از یافتن bugها، pentestها نیازمندیهای compliance را برآورده میکنند. PCI DSS نیاز دارد pentestهای سالیانه برای کسی که با داده کارت برخورد میکند. SOC 2 و ISO 27001 auditها اغلب شواهدی از testing منظم انتظار میکشند. اما دلیل صادق اینکه تیمهای امنیتی خوب pentestها را سفارش میدهند فقط checkbox نیست — این است که automated scannerها business logic flawها، chained low-severity issueها، و استفاده خلاقانهای را که یک انسان ماهر مییابد از دست میدهند. یک scanner متوجه نخواهد شد که تغییر order ID در URL اجازه میدهد invoice کسی دیگری را مشاهده کنید. یک تستر خواهد شد.
ورود به این حوزه
اگر به pentesting به عنوان یک حرفه هدف دارید، تمرین عملی از گواهینامهها به تنهایی اهمیت بیشتری دارد. پلتفرمهایی مثل HackTheBox و TryHackMe memory عضلانی را میسازند؛ گواهینامههایی مثل OSCP آن را تایید میکنند. یادگیری خواندن کد منبع، درک اینکه HTTP واقعاً در سطح byte چگونه کار میکند، و راحتی با terminal Linux قبل از نگرانی در مورد ابزارهای درخشان.
اگر این خلاصه مفید بود، Korra Studio بخشهای بیشتری در Offensive track دارد که تکنیکهای exploitation خاص، راهنمایی ابزار، و تمرین مبتنی بر آزمایشگاه را پوشش میدهد که میتوانید آن را دنبال کنید.
با کمک هوش مصنوعی نوشتهشده، بازبینی و منتشرشده توسط Michal Pilch (CISSP)، Korra Studio.
این یکی از یادداشتهای پایگاه دانش Korra Studio است — پلتفرم هر موضوع را با مربی یکبهیک جفت میکند.
شروع رایگانarrow_forward