TTPS · روش‌ها و تکنیک‌ها جمع‌آوری اطلاعات

OSINT — هوش منبع‌باز

Open-Source Intelligence

OSINT جمع‌آوری و تحلیل اطلاعات از منابع عمومی است؛ در تست نفوذ وب از آن برای ترسیم سطح حمله‌ی قابل کشف یک سازمان استفاده می‌شود — کاری که فقط در چارچوب یک engagement مجاز معنا دارد.

تیم فنی پی‌هانتر

OSINT چیست و در آزمون وب چه نقشی دارد؟

OSINT مخفف Open Source Intelligence است: جمع‌آوری، ارزیابی و تحلیل اطلاعاتی که به‌صورت عمومی و قانونی در دسترس‌اند. «Open Source» اینجا به نرم‌افزار متن‌باز اشاره ندارد، به منبع باز اطلاعاتی اشاره دارد: موتورهای جست‌وجو، لاگ‌های شفافیت گواهی، رکوردهای DNS، مخازن کد عمومی، اسناد منتشرشده و پایگاه‌های عمومی رخنه‌های داده.

در یک آزمون نفوذ برنامه‌ی وب، پرسش OSINT یک پرسش بسیار مشخص است: یک مهاجم بدون ارسال حتی یک بسته به سامانه‌ی مشتری، چه چیزی درباره‌ی سطح حمله‌ی او می‌داند؟ پاسخ این پرسش، ورودی مرحله‌ی شناسایی است و در متدولوژی OWASP با بخش گردآوری اطلاعات (WSTG-INFO) هم‌پوشانی دارد — به‌ویژه آزمون شناسایی از طریق موتورهای جست‌وجو و بررسی نشت اطلاعات در محتوای صفحات.

تفاوت کلیدی OSINT با شناسایی فعال در این است که OSINT ترافیکی به هدف نمی‌فرستد؛ داده را از منابع ثالث می‌گیرد. این ویژگی آن را کم‌ریسک و بی‌سروصدا می‌کند و به همین دلیل معمولاً اولین کاری است که پس از امضای قرارداد انجام می‌شود.

چه چیزی درباره‌ی یک سازمان عمومی قابل کشف است؟

در عمل، این پنج دسته بیشترین ارزش را در آزمون وب دارند:

دستهمنبع عمومیچرا در آزمون وب مهم است
زیردامنه‌ها و دارایی‌های فراموش‌شدهلاگ‌های شفافیت گواهی، DNS منفعل، آرشیوهای وبمحیط‌های staging، پنل‌های قدیمی و سامانه‌های بی‌صاحب — منبع اصلی A02:2025 پیکربندی نادرست
مخازن کد عمومیمخازن سازمانی و شخصی کارکنان، gist، تاریخ commitکلید API، رشته‌ی اتصال، توکن و فایل پیکربندی افشاشده؛ حتی پس از حذف، در تاریخ commit می‌ماند
فضای ذخیره‌سازی ابری بازباکت‌های با دسترسی عمومی و فهرست‌شدنیافشای مستقیم داده بدون نیاز به هیچ آسیب‌پذیری در برنامه
اعتبارنامه‌های موجود در رخنه‌های عمومیمجموعه‌های عمومی افشای اعتبارنامهسنجش ریسک credential stuffing و بازاستفاده‌ی رمز؛ مرتبط با A07:2025
پشته‌ی فناوری و نسخه‌هاهدرها و فایل‌های عمومی، مخازن بسته، آگهی‌های شغلیتشخیص کامپوننت‌های دارای CVE شناخته‌شده و پشته‌ی زنجیره‌ی تأمین

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

مرز قانونی و اخلاقی — این بخش قابل مذاکره نیست

باور غلط رایج

«چون اطلاعات عمومی است، جمع‌آوری و استفاده از آن آزاد است.» نه. عمومی بودن یک داده، آن را از هر قید حقوقی و اخلاقی آزاد نمی‌کند. OSINT حرفه‌ای سه قید دارد: (۱) فقط در چارچوب یک engagement مجاز و مکتوب و برای دارایی‌های همان سازمان؛ (۲) هدف، سطح حمله‌ی سازمان است، نه افراد — این کار «doxxing» و ردگیری اشخاص نیست و هیچ راهنمایی برای آن ارائه نمی‌شود؛ (۳) هر کاری که نیازمند احراز هویت، دور زدن کنترل دسترسی یا خرید داده‌ی سرقتی باشد، دیگر OSINT نیست.

چند مرز عملی که یک تیم حرفه‌ای رعایت می‌کند:

  • تأیید مالکیت دارایی پیش از هر اقدام فعال. یک زیردامنه‌ی کشف‌شده ممکن است به CDN، میزبان اشتراکی یا تأمین‌کننده‌ی ثالث اشاره کند. آزمون آن بدون مجوز، آزمون سامانه‌ی شخص ثالث است. فهرست دارایی‌های کشف‌شده باید پیش از ورود به مرحله‌ی فعال با مشتری تأیید شود — این بند در قرارداد تست نفوذ جای دارد.
  • عدم استفاده از اعتبارنامه‌های فاش‌شده. یافتن آدرس سازمانی در یک مجموعه‌ی عمومی رخنه، یک یافته است که گزارش می‌شود؛ ورود با آن اعتبارنامه بدون مجوز صریح، دسترسی غیرمجاز است.
  • حفاظت از داده‌ی جمع‌آوری‌شده. خروجی OSINT خودش داده‌ی حساس است و باید رمزنگاری‌شده، با دسترسی محدود و حذف در پایان قرارداد نگه‌داری شود.
  • اگر افشای داده‌ی سازمان دیگری کشف شد، مسیر درست افشای مسئولانه است.

جریان کار OSINT در یک engagement وب

ترتیبی که هم مؤثر است و هم بی‌سروصدا:

  1. تعیین دامنه‌ی مکتوب: دامنه‌های اصلی، دامنه‌های جانبی، برندهای مرتبط و صراحتاً آنچه خارج از دامنه است.
  2. کشف منفعل زیردامنه: جمع‌آوری از منابع ثالث بدون ارسال ترافیک به هدف — subfinder ابزار استاندارد این مرحله است.
  3. جست‌وجوی هدفمند در موتورهای جست‌وجو و آرشیوها: فایل‌های پیکربندی، صفحات فهرست‌شده‌ی دایرکتوری، مسیرهای مدیریتی و اسنادی که نباید عمومی باشند.
  4. بازبینی مخازن عمومی و محتوای سمت کلاینت: جاوااسکریپت بسته‌بندی‌شده و sourcemapهای جامانده، اندپوینت‌ها و کلیدهای درون آن‌ها.
  5. تأیید مالکیت با مشتری و سپس ورود به مرحله‌ی فعال: بررسی زنده‌بودن و انگشت‌نگاری.

گام آخر تنها گامی است که ترافیک به هدف می‌فرستد. جریان متداول این است:

subfinder -d example.com -all -silent > subs.txt
httpx -l subs.txt -sc -title -tech-detect -json > live.json

خروجی این دو دستور، فهرست دارایی زنده با عنوان، کد وضعیت و فناوری شناسایی‌شده است — یعنی همان چیزی که برای اولویت‌بندی لازم است. ادامه‌ی مسیر در شناسایی و اسکن الگو‌محور با Nuclei توضیح داده شده است.

چرا OSINT روی کیفیت نتیجه‌ی آزمون اثر می‌گذارد

در بسیاری از engagementها، شدیدترین یافته روی دارایی‌ای است که مشتری فراموش کرده بود وجود دارد: یک محیط staging با داده‌ی واقعی، یک پنل قدیمی با اعتبارنامه‌ی پیش‌فرض، یا زیردامنه‌ای که به سرویس ابری حذف‌شده اشاره می‌کند. هیچ‌کدام در فهرست دارایی رسمی نبودند.

اثر دوم اولویت‌بندی است. با فهرست پشته‌ی فناوری و نسخه‌ها می‌توان تصمیم گرفت کدام دارایی ابتدا آزمون شود و کدام یافته احتمالاً به RCE می‌رسد — همان چیزی که تست نفوذ وب را از اسکن خودکار جدا می‌کند. دامنه‌ی چنین ارزیابی‌ای را می‌توان در مشاوره‌ی امنیت مشخص کرد.

اثر سوم دفاعی است: نتیجه‌ی OSINT به سازمان می‌گوید چه چیزی باید از دید عمومی حذف شود — از sourcemap جامانده و باکت باز تا مخزن عمومی یک پیمانکار سابق. این بخش معمولاً ارزان‌ترین رفع را دارد.

پرسش‌های متداول

OSINT چه تفاوتی با شناسایی (Reconnaissance) دارد؟

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

آیا OSINT قانونی است؟

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

با OSINT چه چیزی درباره‌ی سازمان من قابل کشف است؟

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

چطور سطح حمله‌ی عمومی سازمان را کم کنیم؟

موجودی‌برداری پیوسته و حذف دارایی‌های بی‌استفاده؛ پایش لاگ‌های شفافیت گواهی و DNS؛ حذف sourcemap و کامنت‌های حساس از خروجی تولید؛ بازبینی دوره‌ای دسترسی باکت‌های ابری؛ و اسکن مخازن برای رمزهای جاسازی‌شده. جزئیات بیشتر در مدیریت آسیب‌پذیری آمده است.

اصول اجرای درست

اگر OSINT بخشی از فرایند امنیتی سازمان یا آزمون شماست:

  • دامنه را مکتوب کنید. فهرست دامنه‌ها، برندها و صریحاً موارد خارج از دامنه، پیش از شروع.
  • هیچ دارایی کشف‌شده‌ای را بدون تأیید مالکیت آزمون نکنید. زیردامنه‌ای که به میزبان اشتراکی اشاره می‌کند، هدف شما نیست.
  • اعتبارنامه‌های فاش‌شده را گزارش کنید، استفاده نکنید؛ مگر با مجوز صریح و مکتوب برای آزمون احراز هویت.
  • هدف را سطح حمله‌ی سازمانی نگه دارید؛ جمع‌آوری اطلاعات درباره‌ی افراد فراتر از تعیین دامنه‌ی مهندسی اجتماعیِ توافق‌شده، خارج از کار حرفه‌ای است.
  • خروجی OSINT را مثل داده‌ی حساس نگه دارید: دسترسی محدود، رمزنگاری‌شده و حذف در پایان قرارداد.
  • از سمت دفاعی، برای دارایی‌های خود پایش پیوسته‌ی گواهی و DNS برقرار کنید تا زیردامنه‌ی فراموش‌شده پیش از مهاجم پیدا شود.
→ بازگشت به دانشنامه
PUT IT TO THE TEST

امنیت سامانه‌ی شما را
به مهاجمان واگذار نکنید

تیم پی‌هانتر با دیدِ یک مهاجم واقعی، این آسیب‌پذیری‌ها و ده‌ها مورد دیگر را روی دارایی‌های شما می‌سنجد.