דילוג לתוכן
New

DeepSeek V4.1 Flash free for 7 days: 10M tokens a day after a top-up of $10 or more. Until Nov 30.

How it works

Certificate transparency והיסטוריית DNS בריקון

השתמש ב-crt.sh, בלוגי CT וב-DNS פסיבי כדי למפות מארחים ותשתית בהיקף שלך, ושהצ'אט של NotHoly יצליב את הרשומות.

ביניים3 דקות קריאהמאת NotHoly

כל תעודת TLS שרשות אישורים פומבית מנפיקה נכתבת ללוגים פומביים של certificate transparency, לוגי CT. השמות שבאותן תעודות, כולל תתי דומיין בעלי מראה פנימי, ניתנים לחיפוש בידי כל אחד. חבר CT עם היסטוריית DNS, התיעוד של מה ששם הצביע עליו לאורך זמן, ותוכל למפות את תשתית היעד בלי לשלוח אליו בקשה. הצ'אט של NotHoly עוזר להצליב את החלקים: אותו IP, אותה תעודה, אותה תבנית.

תשאל את לוגי ה-CT עם crt.sh

crt.sh הוא ממשק אינטרנט ללוגי ה-CT, והוא גם מדבר JSON, אז אפשר לכתוב סקריפט.

bash
curl -s 'https://crt.sh/?q=%25.example.com&output=json' \
  | jq -r '.[].name_value' | anew ct.txt

ה-%25 הוא אחוז מקודד ב-URL, התו הכללי של SQL, אז זה מחזיר כל שם שנראה בתעודה תחת example.com. חלק מהשורות חוזרות כרשומות wildcard, עם כוכבית ונקודה בהתחלה; השאר או הסר לפי העדפתך. CT לרוב חושף מארחים שלא מופיעים בכלל ב-brute force של DNS או בקראולינג, כי התעודה הונפקה לפני שהמארח עלה לאוויר.

קרא את מה שתעודה קושרת

תעודה אחת יכולה לרשום שמות רבים בשדה subject alternative name, ה-SAN. כשמארח dev, מארח staging ומארח admin חולקים תעודה אחת, הם בדרך כלל חולקים פריסה. משוך את קבוצת ה-SAN של מארח ישירות.

bash
echo | openssl s_client -connect api.example.com:443 2>/dev/null \
  | openssl x509 -noout -text | grep -A1 'Subject Alternative Name'

השמות שמודפסים ליד המארח שלך הם רמזים חזקים. הם בתוך ההיקף רק אם הם יושבים תחת שורשים שמותר לך לבדוק, אז בדוק כל אחד מול גיליון ההיקף.

הוסף היסטוריית DNS

הרשומה הנוכחית של שם היא תצלום בודד. היסטוריית DNS מראה את ה-IP ושרתי הדואר שהוא השתמש בהם קודם, מה שיכול לחשוף origin מאחורי CDN או שרת ישן שעדיין רץ. ספקי DNS פסיבי שומרים את הנתונים האלה ולרבים יש שכבה חינמית. פתור את הרשומות הנוכחיות בעצמך עם dnsx.

bash
dnsx -l ct.txt -a -resp -silent -o resolved.txt

השווה את ה-IP של היום לקבוצה ההיסטורית. IP שה-CDN כבר לא חוזה מולו, אבל עדיין עונה, שווה מבט זהיר ובתוך ההיקף, כי הוא עשוי להיות ה-origin שה-CDN אמור היה להסתיר.

הצלב עם הצ'אט

הדבק את שמות התעודה, ה-IP שנפתרו וכל היסטוריה בצ'אט של NotHoly.

text
אלה מארחים, ה-IP הנוכחיים שלהם וה-IP ההיסטוריים.
קבץ לפי IP ותעודה משותפים, סמן כל IP מקור
שנמצא מחוץ לטווחי ה-CDN, ורשום את קבוצות
התשתית שאפשר להסיק. ציין מה לא ודאי.

המודל מקבץ את הרשומות ומנסח את אי הוודאות שלו, מה שמונע ממך לקרוא יותר מדי לתוך צירוף מקרים. אשר כל קבוצה מול הפתרון שלך לפני שאתה מתייחס אליה כעובדה, כי נתון היסטורי עלול להיות ישן.

היקף ופרטיות

CT והיסטוריית DNS הם פומביים, אבל המארחים שהם חושפים אינם כולם שלך לגעת בהם. תעודה יכולה לנקוב בפלטפורמה משותפת או בשותף, אז השאר רק את השמות תחת השורשים שמותר לך לבדוק. מציאת IP של origin לא מרחיבה את ההיקף; אם הוא מחוץ להיקף, אתה רושם ועוצר.

שאלות נפוצות

אפשר למצוא תתי דומיין ש-brute force של DNS מפספס?

כן. CT מראה שמות מתעודות שהונפקו אבל אולי מעולם לא היה להם רישום DNS פומבי, או שהוסרו מה-DNS אחר כך. זה אחד המקורות הפסיביים הכי פוריים, ולכן הוא יושב מוקדם בריקון.

תשאול crt.sh הוא פסיבי?

תשאול crt.sh נוגע ב-crt.sh, לא ביעד שלך, אז הוא פסיבי ביחס ליעד. פתרון השמות עם dnsx כן שולח שאילתות DNS, אז התייחס לצעד הזה כעבודה אקטיבית קלה ושמור אותו בתוך ההיקף.

CT ו-DNS נותנים לך תשתית; המקור הבא הוא קוד. המשך אל recon של GitHub וחיפוש קוד. חזרה אל קראולינג ואיסוף URL.

מקורות

  1. crt.sh, certificate transparency search
  2. Certificate Transparency project
  3. RFC 6962, Certificate Transparency
  4. dnsx, repository

עוד בנושא OSINT וריקון

OSINT וריקון

תהליך OSINT מאפס, עם AI כטייס משנה

תהליך OSINT חוזר ליעד שמותר לך להסתכל עליו: הגדרת היקף, איסוף בשלבים, הצלבה, ושהצ'אט של NotHoly יתכנן ויסכם.

מתחילים2 דקות קריאה