اوسینت جت · سرنخ‌های دامنه

اوسینت گواهی‌های TLS؛ از نتیجه شلوغ به فهرست دقیق دامنه‌ها

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

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

CT چیست و چرا در بررسی دامنه به درد می‌خورد؟

Certificate Transparency یا CT سامانه‌ای برای ثبت عمومی اطلاعات گواهی‌هاست. در این لاگ‌ها ممکن است گواهی یا پیش‌گواهی، یعنی رکورد مربوط به فرایند صدور، دیده شود. توضیح رسمی پروژه CT سازوکار بررسی‌پذیر بودن این ثبت‌ها را شرح می‌دهد. این داده‌ها درباره گواهی‌اند؛ فهرست قطعی سایت‌های فعال نیستند.

برای نمونه، Let’s Encrypt می‌گوید گواهی‌های صادرشده‌اش را در لاگ‌های CT ثبت می‌کند. ابزارهایی مثل crt.sh جست‌وجو در این اطلاعات را آسان‌تر می‌کنند. اگر ابزار خطا داد یا نتیجه‌ای نشان نداد، هنوز نمی‌توان گفت آن نام هرگز گواهی نداشته است؛ پوشش و دسترس‌پذیری ابزار هم محدودیت دارند.

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

نام‌ها را استخراج کن، اما راه برگشت به منبع را نگه دار

یک گواهی می‌تواند چند نام در بخش Subject Alternative Name یا SAN داشته باشد. نام DNS یکی از انواع داده در این بخش است که استاندارد RFC 5280 تعریف می‌کند. فقط اولین نام ردیف جست‌وجو را برندار؛ جزئیات رکورد را بخوان.

در یادداشتت، متن خام نام، نشانی رکورد، شناسه یا اثر انگشت گواهی در صورت وجود، صادرکننده، بازه اعتبار و زمان مشاهده را ثبت کن. سپس برای هر نام DNS یک ردیف کاری بساز که به رکورد اصلی وصل باشد. برای مقایسه، حروف لاتین را کوچک کن ولی متن اولیه را هم نگه دار.

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

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

یک نقطه کوچک، مرز دو دامنه را مشخص می‌کند

فرض کن محدوده بررسی از ابتدا example.com تعیین شده است. نامی در این محدوده قرار می‌گیرد که دقیقاً همین باشد یا به .example.com ختم شود. وجود نقطه مهم است: notexample.com زیرمجموعه آن نیست. نشانی example.com.other.example هم فقط عبارت موردنظر را در بخشی از نامش دارد.

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

تمرین: شش ردیف، چند نام مستقل؟

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

متن رکوردبرخورد درست
EXAMPLE.COMبه شکل کوچک تبدیل کن؛ خود دامنه در محدوده است
portal.example.comیک نام مشخص در محدوده
PORTAL.EXAMPLE.COMهمان نام قبلی؛ منبع این رکورد را جدا حفظ کن
*.example.comالگوی ستاره‌دار؛ نام واقعی جدید اختراع نکن
notexample.comدامنه متفاوت؛ از این فهرست کنار بگذار
example.com.other.exampleدامنه متفاوت؛ حضور یک عبارت در نام کافی نیست

خروجی، دو نام مشخص و یک الگوی ستاره‌دار است. تعداد سرویس‌های فعالِ تأییدشده هنوز صفر است، چون فعال بودن را اصلاً بررسی نکرده‌ایم. این با ادعای «هیچ سرویسی وجود ندارد» تفاوت دارد؛ داده فعلی پاسخ آن سؤال را نمی‌دهد.

ستاره فهرست پنهانی از نام‌ها نیست. طبق قواعد تطبیق RFC 9525، wildcard یک بخش کامل در سمت چپ نام را می‌پوشاند و تطبیق آن به یک بخش محدود است. دیدن *.example.com به تو اجازه نمی‌دهد نام‌های mail یا shop را بسازی و به‌عنوان کشف واقعی گزارش کنی.

برای سؤال بعدی، شاهد مناسب خودش را پیدا کن

اگر می‌خواهی بدانی نام امروز در DNS پاسخ دارد، یک مشاهده تازه با نوع درخواست و زمان ثبت لازم است. اگر سؤال درباره ارتباط با شرکت است، مدرک رسمی و قابل انتساب آن ارتباط را بررسی کن. اگر محتوای قدیمی سایت مهم است، سراغ نسخه آرشیوشده برو. این‌ها مکمل رکورد گواهی‌اند و نباید جای آن را بی‌توضیح بگیرند.

پاسخ DNS هم ممکن است به زیرساخت مشترک برسد. گواهی منقضی‌شده می‌تواند شاهد تاریخی مفیدی باشد، ولی وضعیت فعلی را ثابت نمی‌کند. تاریخ شروع و پایان اعتبار گواهی، تاریخ راه‌اندازی و تعطیلی سایت نیست. برای کنار هم گذاشتن این زمان‌ها، راهنمای سابقه وب‌سایت را ببین.

این بررسی می‌تواند کاملاً غیرفعال بماند: داده عمومی را بخوانی و مرتب کنی، بدون اینکه به سرویس‌های پیدا‌شده متصل شوی. نامی که ظاهر مدیریتی دارد مجوز ورود، اسکن یا آزمایش امنیتی نیست.

گزارشی بنویس که نفر بعدی بتواند ادامه‌اش دهد

برای هر مورد، دامنه محدوده، نام خام و مرتب‌شده، نوع «نام مشخص یا الگو»، نشانی رکورد گواهی، صادرکننده، بازه اعتبار و زمان مشاهده را کنار هم بگذار. سپس در ستون جدا بنویس چه شاهد دیگری درباره DNS یا ارتباط سازمانی داری و چه پرسشی باز مانده است.

نتیجه قابل استفاده می‌تواند این باشد: «دو نام در رکوردهای حفظ‌شده دیده شدند؛ یک الگوی ستاره‌دار جدا ثبت شد. فعالیت فعلی سرویس‌ها و انتساب آن‌ها به شرکت هنوز تأیید نشده است.» عنوان «تمام سرورهای شرکت» برای چنین فهرستی دقیق نیست.

برای ادامه، راهنمای بررسی دامنه مسیر ترکیب این داده با منابع دیگر را توضیح می‌دهد. اگر می‌خواهی تحقیق را در اوسینت جت دنبال کنی، همین فهرست تمیز و سؤال مشخص را در شرح کار بیاور. مسیر تحقیق ساختاریافته برای کنار هم قرار دادن سرنخ‌ها و مرور نتیجه معرفی شده است؛ از این معرفی نباید پشتیبانی خودکار از یک ابزار CT یا تأیید قطعی همه نام‌ها را برداشت کرد.

منتشرشده توسط تحریریه اوسینت جت · ۳۰ سپتامبر ۲۰۲۶

پیشنهاد اصلاح · English version