پرش به مطلب اصلی

ردپایابی چیست؟

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

روشمند بودن

هنگامی که ردپایابی را انجام می‌دهید — مانند تمام فازها و فرآیندهای توصیف شده در این مجموعه — باید کاملاً روشمند باشید. فرآیندی بی‌دقت یا تصادفی برای جمع‌آوری اطلاعات می‌تواند زمان را هنگام پیشروی هدر دهد یا در بدترین حالت، باعث شکست حمله شود. علاوه بر این، تصادفی یا غیردقیق بودن می‌تواند اثر نامطلوب جلب توجه مدافع را داشته باشد و در نتیجه تلاش شما برای جمع‌آوری اطلاعات را خنثی کند. مهاجم باهوش یا دقیق زمان قابل توجهی را در این فاز صرف جمع‌آوری و تأیید اطلاعات می‌کند.

ردپایابی معمولاً شامل مراحل زیر است تا بازیابی صحیح اطلاعات تضمین شود:

  1. جمع‌آوری اطلاعاتی که به صورت عمومی درباره هدف در دسترس است (برای مثال، اطلاعات میزبان و شبکه).
  2. مشخص کردن سیستم‌عامل(های) مورد استفاده در محیط، از جمله داده‌های وب‌سرور و برنامه‌های وب در صورت امکان.
  3. انجام پرس‌وجوهایی مانند Whois، DNS، شبکه و پرس‌وجوهای سازمانی.
  4. مکان‌یابی آسیب‌پذیری‌های موجود یا بالقوه یا اکسپلویت‌هایی که در زیرساخت فعلی وجود دارند و ممکن است برای انجام حملات بعدی مساعد باشند.

چرا ردپایابی انجام می‌دهیم؟

ردپایابی درباره جمع‌آوری اطلاعات و تدوین استراتژی هک است. با دقت مناسب، شما به عنوان طرف مهاجم، ممکن است بتوانید مسیر کمترین مقاومت برای ورود به یک سازمان را کشف کنید. جمع‌آوری اطلاعات به صورت غیرفعال (Passively)، ساده‌ترین و موثرترین روش است. اگر توسط یک فرد ماهر، خلاق و کنجکاو (شما!) انجام شود، میزان اطلاعاتی که می‌توان به صورت غیرفعال جمع‌آوری کرد، حیرت‌آور است. انتظار داشته باشید اطلاعاتی مانند موارد زیر را به دست آورید:

  • اطلاعاتی درباره وضعیت امنیتی (Security Posture) یک سازمان و جاهایی که ممکن است حفره‌های بالقوه وجود داشته باشد. این اطلاعات اجازه می‌دهد تا فرآیند هک را تنظیم کنید تا پربارتر شود.
  • پایگاه داده‌ای که تصویری دقیق با حداکثر اطلاعات ممکن درباره هدف را ترسیم می‌کند. این ممکن است از طریق برنامه‌ای مانند یک برنامه وب یا منبع دیگر باشد.
  • یک نقشه شبکه با استفاده از ابزارهایی مانند Tracert برای ساخت تصویری از حضور اینترنتی هدف یا اتصال اینترنتی آن. نقشه شبکه را مانند نقشه راهی تصور کنید که شما را به یک ساختمان هدایت می‌کند؛ نقشه شما را به آنجا می‌رساند، اما هنوز باید نقشه طبقات ساختمان را تعیین کنید.

اهداف فرآیند ردپایابی

قبل از اینکه شروع به انجام ردپایابی کنید و تکنیک‌ها را بیاموزید، باید انتظاراتی را تنظیم کنید که به دنبال چه چیزی هستید و در پایان فرآیند چه چیزی باید در دست داشته باشید. به خاطر داشته باشید که لیست اطلاعات در اینجا کامل نیست و نباید انتظار داشته باشید که بتوانید تمام موارد را از هر هدفی به دست آورید. ایده این است که تا آنجا که می‌توانید اطلاعات در این فاز کسب کنید، اما عجله نکنید!

در اینجا مواردی که باید به دنبال آن‌ها باشید آورده شده است:

  • اطلاعات شبکه
  • اطلاعات سیستم‌عامل
  • اطلاعات سازمان (مانند مدیر عامل و اطلاعات کارکنان، اطلاعات دفتر، شماره‌های تماس و ایمیل)
  • بلوک‌های شبکه
  • سرویس‌های شبکه
  • داده‌های برنامه کاربردی و وب و اطلاعات پیکربندی
  • معماری سیستم
  • سیستم‌های تشخیص و جلوگیری از نفوذ
  • نام کارکنان
  • تجربه کاری

بیایید نگاهی دقیق‌تر به سه مورد اول این لیست بیندازیم.

اطلاعات شبکه (Network Information)

در سمت شبکه، اطلاعات زیادی وجود دارد که اگر بتوانید به آن‌ها دست پیدا کنید، بسیار ارزشمند هستند. به طرز شگفت‌انگیزی، بسیاری از اطلاعات شبکه که برای شروع فاز اولیه حمله مفید هستند، به راحتی در دسترس هستند یا با اندکی بررسی قابل دستیابی می‌باشند. در طول فاز ردپایابی، چشمان خود را برای موارد زیر باز نگه دارید:

  • نام‌های دامنه‌ای که شرکت برای انجام تجارت یا سایر کارکردها (از جمله تحقیق و روابط مشتری) استفاده می‌کند.
  • اطلاعات نام دامنه داخلی.
  • آدرس‌های IP سیستم‌های در دسترس.
  • وب‌سایت‌های جعلی یا نظارت‌نشده که برای تست یا سایر اهداف استفاده می‌شوند.
  • وب‌سایت‌های خصوصی.
  • سرویس‌های TCP/UDP در حال اجرا.
  • مکانیسم‌های کنترل دسترسی، شامل فایروال‌ها و ACLها.
  • اطلاعات شبکه خصوصی مجازی (VPN).
  • اطلاعات تشخیص و جلوگیری از نفوذ و همچنین داده‌های پیکربندی.
  • شماره‌های تلفن، شامل آنالوگ و VoIP.
  • مکانیسم‌ها و سیستم‌های احراز هویت.

تمرین : یافتن آدرس IP یک وب‌سایت

این تمرین به شما نشان می‌دهد که چگونه با استفاده از دستورات ping و tracert اطلاعاتی درباره یک وب‌سایت به دست آورید.

  1. در یک سیستم ویندوز، خط فرمان (Command Prompt) را باز کنید و دستور زیر را وارد نمایید: ping www.wiley.com
  2. آدرس IP بازگردانده شده را به همراه سایر آمارها مانند بسته‌های گم‌شده (Packets lost) و زمان تقریبی رفت و برگشت یادداشت کنید. این اطلاعات ایده‌ای از عملکرد و کیفیت اتصال به شما می‌دهد.
  3. با وارد کردن دستور زیر، اندازه فریم (Frame Size) شبکه را تعیین کنید: ping www.wiley.com -f -l 1300
  4. به پاسخ دستور توجه کنید. اگر دستور نشان داد که بسته قطعه‌قطعه (Fragmented) شده است، مقدار ۱۳۰۰ را به تدریج کاهش دهید تا نتایج چیز دیگری نشان دهند. وقتی مقدار معتبری به دست آوردید، عدد را یادداشت کنید.
  5. در خط فرمان، دستور زیر را وارد کنید (که در آن <ip address> همان آدرسی است که در مرحله ۱ یادداشت کردید): tracert <ip address>
  6. نتایج اطلاعاتی درباره مسیری که ترافیک از میزبان محلی به میزبان راه دور طی می‌کند، آشکار می‌سازد. به زمان‌های پاسخ و مکان‌هایی که ممکن است بسته‌ها را انداخته باشند (Dropped packets) توجه کنید. ممکن است دستگاه‌هایی مانند فایروال‌ها، روترها و دیگران پاسخ‌های مورد انتظار بسته‌ها را تغییر دهند و نتایجی متفاوت از حالت عادی ایجاد کنند.

اطلاعات سیستم‌عامل (Operating System Information)

سیستم‌عامل یکی از مهم‌ترین حوزه‌هایی است که باید درباره آن اطلاعات کسب کنید. هنگام مرور اطلاعات در سایت‌های کاریابی یا جمع‌آوری اطلاعات از جاهای دیگر، به دقت نگاه کنید تا ببینید آیا چیزی که به دست می‌آورید می‌تواند سرنخ‌هایی درباره آنچه در حال اجراست به شما بدهد. برای مثال، آگهی‌های شغلی که تجربه کار با «آفیس ۲۰۱۰» یا «اینترنت اکسپلورر ۹» را می‌خواهند، می‌توانند کمک زیادی به محدود کردن سیستم‌عامل‌های موجود در محیط کنند.

هنگام مرتب‌سازی انبوه اطلاعاتی که معمولاً درباره یک هدف موجود است، مراقب هر چیزی باشید که جزئیات فنی ارائه می‌دهد:

  • اطلاعات و نام‌های کاربران و گروه‌ها
  • نسخه‌های سیستم‌عامل
  • معماری سیستم
  • داده‌های سیستم راه دور
  • نام‌های سیستم
  • رمزهای عبور

داده‌های سازمان (Organization Data)

همه اطلاعات فنی نیستند، پس به دنبال اطلاعاتی درباره نحوه کارکرد سازمان باشید. اطلاعاتی که جزئیاتی درباره کارکنان، عملیات، پروژه‌ها یا سایر جزئیات ارائه می‌دهد حیاتی است. انتظار داشته باشید که با این اطلاعات در مکان‌های زیادی مانند وب‌سایت خود شرکت، گروه‌های بحث و گفتگو، گزارش‌های مالی و سایر مکان‌ها روبرو شوید.

این اطلاعات شامل موارد زیر است:

  • جزئیات کارکنان
  • وب‌سایت سازمان
  • دایرکتوری شرکت
  • جزئیات موقعیت مکانی
  • آدرس و شماره تلفن‌ها
  • توضیحات (Comments) در کد منبع HTML
  • سیاست‌های امنیتی پیاده‌سازی شده
  • لینک‌های وب‌سرور مرتبط با سازمان
  • پیشینه سازمان
  • مقالات خبری و بیانیه‌های مطبوعاتی