اسکنر امنیتی وبسایت چطور کار میکند؟ نگاهی به ماژولهای ReconRadar
ReconRadar ابزار اسکن امنیتی وبسایتی است که با پایتون (FastAPI) ساختم و سورس نسخهی عمومیاش قابل دانلود است. این نوشته میگوید یک اسکنر شناسایی چه مراحلی دارد؛ این توضیح آموزشی است و راهنمای حمله نیست.
ریکان یعنی چه؟
قبل از بررسی آسیبپذیری، باید بدانید هدف دقیقاً چه چیزهایی دارد: چه دامنهها، چه سرورها، چه سرویسهایی. ریکان یعنی جمعآوری همین اطلاعات. ReconRadar این کار را در چند ماژول انجام میدهد و نتیجه را زنده (از طریق WebSocket) روی داشبورد نشان میدهد.
ماژولها
DNS و WHOIS. رکوردهای دامنه (A، MX، TXT و غیره) و اطلاعات ثبت دامنه. شامل بررسی اینکه آیا سرور DNS اجازهی انتقال کامل ناحیه (zone transfer) میدهد، که یک پیکربندی اشتباه شناختهشده است.
crt.sh. گواهیهای SSL ثبتشده در لاگهای عمومی گواهی. چون هر گواهی نام دامنهها را دارد، میشود زیردامنههایی را پیدا کرد که جای دیگری لیست نشدهاند.
سابدامینها. علاوه بر crt.sh، یک فهرست کلمه (wordlist) برای حدس زدن زیردامنهها استفاده میشود.
تشخیص takeover. اگر یک زیردامنه به سرویس خارجی (مثلاً یک هاست) اشاره کند که دیگر وجود ندارد، ممکن است کس دیگری آن را ثبت کند. ماژول بررسی میکند CNAME به چیزی اشاره میکند که پاسخ «ثبتنشده» میدهد.
پروب HTTP. کدام زیردامنهها واقعاً پاسخ میدهند، با چه عنوان، سرور و فناوری.
اسکن آسیبپذیری HTTP. بررسیهای سبک: فایلهای حساس قابلدسترس (مثل .env که ممکن است کلیدهای محرمانه داشته باشد)، هدرهای امنیتی ناقص و غیره. اسکنر فقط میگوید «چنین چیزی قابلدسترس است»، نه اینکه از آن سوءاستفاده کند.
OSINT. اطلاعات عمومی دربارهی هدف.
پورتها با nmap. اسکن سرویسهای باز. برخی حالتهای nmap (مثل تشخیص سیستمعامل) نیاز به دسترسی ادمین/root دارند.
خروجی
هر اسکن در تاریخچه ذخیره میشود و یک گزارش HTML میسازد که بعداً قابلباز کردن است.
نکتهی مهم: مجوز
اسکن سیستمی که مجوز آزمایشش را ندارید، در بسیاری از کشورها جرم است. فقط روی سیستمهای خودتان یا جایی استفاده کنید که صراحتاً اجازه گرفتهاید. برای همین نسخهی عمومی را در حالت پایه و کمتهاجمی منتشر کردم و گزارش اسکنهای واقعی را از بسته حذف کردم.
چه چیزی یاد گرفتم
مهمترین درس: اکثر یافتهها «حملهی پیچیده» نیستند؛ فایل .env که فراموش شده، زیردامنهی رهاشده یا یک هدر ناقصاند. همینها را در پروژههای خودم هم پیدا کردم (نمونه). ریکان خوب اول از همه به صاحب سیستم کمک میکند.