در مطالب قبلی به مبحث تست نفوذ و مقوله‌های مختلف آن پرداختیم. در این مطلب قصد داریم خلاصه‌ای از مطالب جلسه تخصصی تست نفوذ در فاز اول را ارائه کنیم.

چرا جمع‌آوری اطلاعات، اولین و مهم‌ترین گام در تست نفوذ می‌باشد؟ زیرا شما در این مرحله می‌توانید مشخص کنید که چه تکنولوژی‌هایی را قرار است مورد تست نفوذ قرار دهید یا چه بازه از شبکه‌ها مربوط به تست شما می‌باشد. بنابراین زمانی این گام تاثیرگذار خواهد بود که بتوان در مراحل بعدی به عنوان سند به آن رجوع کرد. به همین جهت استفاده از برنامه‌هایی مانند XMind برای قرار دادن اطلاعات و همچنین Visio برای ترسیم نقشه شبکه، امری ضروری به شمار می‌آید.

روش‌های جمع آوری اطلاعات
انواع روش‌های جمع آوری اطلاعات را می‌توان در موارد زیر خلاصه کرد.

Passive: اطلاعاتی که در سطح اینترنت وجود دارد و می‌توان جهت کسب اطلاعات هدف تست نفوذ از آن‌ها استفاده کرد.

Active: می‌توانید از سرور شخصی خودتان جهت جمع آوری اطلاعات استفاده کنید و یا از سایت‌هایی مانند Pentest-Tools که می‌توانند این کار را برای شما انجام دهند استفاده کنید.

معرفی ابزارهای تست نفوذ
جهت تسریع در فرایند تست نفوذ می‌توان از ابزار یا Frameworkها استفاده کرد، زیرا دقت ابزارها به مراتب بالاتر از انسان می‌باشد و می‌تواند از خطاهای انسانی جلوگیری کند. برای توسعه این ابزارها به وجود چند فاکتور اصلی نیاز است.

دانش اسکریپت نویسی یا برنامه نویسی شامل موارد زیر می‌شود
  • Python
  • Bash
  • Go
  • C/++C
  • Ruby

مواردی که در بالا ذکر کردیم از جمله زبان‌های برنامه نویسی هستند که در توسعه ابزارهای تست نفوذ و خودکار سازی فرایند‌ها بسیار کاربردی می‌باشند و ابزارهای بسیار کارآمدی که در توزیع کالی لینوکس قرار دارد، با یکی از زبان‌های برنامه نویسی فوق می‌باشد. دانش برنامه نویسی به شما کمک می‌کند تا بتوانید در ابزارهای تست نفوذ تغییرات را به راحتی اعمال کنید و یا ابزارهای مختلف را تحلیل کنید.

ابزارهای پرکاربرد در جمع آوری اطلاعات

  • آماده سازی مرورگر برای تست نفوذ وب

افزونه‌های مورد استفاده جهت تست نفود وب

    • Builtwith
    • Firebug
    • Worldip
    • Hackbar
    • FoxyProxy
    • Googalexa
    • Wappalyzer
    • Link Gopher
    • Tamper Data
    • Shodan Addon
    • Netcraft Extention
    • Webrank seo toolbar
    • User agent switcher
    • live http headers (clone)
    • Seo status pagerank/alexa toolbar
    • ip address and domain information

    همچنین جهت استخراج اطلاعات شبکه می‌توانید از موتورهای جستجو Shodan و Censys نیز استفاده کنید. از جمله مواردی که در این خصوص از اهمیت بالایی برخوردار است می‌توان به جمع‌آوری داده‌های Metadata اشاره کرد که شامل موارد زیر می‌شود:

    • ایمیل
    • فایل‌ها

    این دو مقوله جهت ارزیابی مخاطراتی از قبیل نشت اطلاعات ابزار Foca Pro روی سایت بسیار پرکاربرد بوده و به شما در خصوص جمع آوری اطلاعات Metadata کمک خواهند کرد. در حال حاضر بیش از صدها توزیع مختلف برای لینوکس توسط افراد و شرکت‌های مختلف ارائه شده و در لینک tools.kali.org/tools-listing می‌توانید لیست ابزارهای جمع‌آوری اطلاعات که در توزیع کالی آمده است را ببینید.

    در این قسمت برای درک بهتر موضوع سناریو استخراج اطلاعات DNS را ارائه می‌کنیم.
    در این روش می‌توانید از سایت Pentest-Tools استفاده کرده و یک اسکریپت پایتون را به راحتی توسعه دهید و یا برای بدست آوردن subdomainها و کلیه رکورد‌های DNS هدف، از آن استفاده نمایید.

    در ضمن برای گرفتن Whois Domain ،IP و برای به دست آوردن Range IP و همچنین برای بررسی IP History جهت تست این مورد که آیا ابر (Cloud) به درستی کانفیگ شده است یا خیر و همچنین جهت بایپس کلاد فلر یا ابر آروان می‌توانید از آن استفاده نمایید. از Eyewitness نیز می‌توانید جهت استخراج یوزرهای RDP جهت حمله دیکشنری هدفمند یا SSH Enumeration استفاده کنید. استفاده از theHarvester برای لیست ایمیل‌های هدف پیشنهاد می‌شود. با استفاده از Foca Pro جهت استخراج متادیتا هدف عمل کرد. استفاده از افزونه‌ها جهت کشف CMS یا اسکریپت‌های CMS Detector بسیار کارآمد خواهد بود. جستجو در مورد ادمین وبسایت و پیدا کردن پروفایلی که در لینکدین (LinkedIn) وجود دارد و ایمیل شخصی و کاری، به شرط آن که در قرارداد مهندسی اجتماعی ذکر شده باشد. جهت بررسی Similar Website اگر در رسیدن به CMS کد منبع به ما کمک کند.

    از آن جا که کلیه اطلاعات در XMind قرار داده می‌شوند، در صورتی که بخواهیم نقشه شبکه را رسم کنیم، نیاز به Traceroute از کشورهای مختلف داریم تا بتوانیم Routeها به سایت یا سرور مورد نظر را پیدا کنیم. این قابلیت در زمانی امکان پذیر هست که IP اصلی سرور پیدا شود نه اینکه در پشت ابر قرار گرفته باشد.

    به مراحلی که ذکر شد به صورت موردی اشاره شده و این لیست کامل نمی‌باشد. برای آنکه بتوانید جمع‌آوری اطلاعات را به صورت کامل و اصولی یاد بگیرید می‌توانید دوره‌های رایگانی که در اینترنت با نام‌های OSINT وجود دارند را مشاهده کنید.
    osintframework.com
    pentest-standard.org/index.php/Intelligence_Gathering