OSINT چیست؟ هکرها قبل از حمله چه اطلاعاتی جمع می‌کنند؟

What is OSINT What information do hackers collect before an attack
0 دیدگاه
۱۴۰۵-۰۵-۲۴ ۰۰:۰۵:۰۰

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

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

یکی از مهم‌ترین تکنیک‌های این مرحله، OSINT است.

OSINT مخفف عبارت:

Open Source Intelligence

به معنی:

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

است.

در OSINT، هدف این نیست که به حساب یا سیستم کسی نفوذ کنیم؛ بلکه اطلاعاتی که از قبل به‌صورت عمومی در اینترنت منتشر شده‌اند را پیدا، بررسی، دسته‌بندی و به هم مرتبط می‌کنیم.


OSINT دقیقاً چیست؟

OSINT یعنی جمع‌آوری و تحلیل اطلاعات از منابعی که بدون نیاز به دسترسی غیرمجاز قابل مشاهده هستند.

برای مثال:

  • وب‌سایت‌های عمومی
  • موتورهای جست‌وجو
  • شبکه‌های اجتماعی
  • اطلاعات DNS
  • اطلاعات دامنه
  • اسناد منتشرشده
  • صفحات شغلی
  • مخازن کد عمومی
  • اخبار و رسانه‌ها
  • اطلاعات گواهی‌های دیجیتال
  • داده‌های عمومی شرکت‌ها

نکته مهم این است که عمومی بودن یک اطلاعات به معنی بی‌خطر بودن آن نیست.

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


OSINT چه تفاوتی با هک دارد؟

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

در OSINT، شما اطلاعات عمومی را بررسی می‌کنید.

اما در هک یا تست نفوذ، ممکن است فعالیت‌هایی مانند بررسی فعال سرویس‌ها، تست آسیب‌پذیری‌ها یا اجرای Exploit انجام شود.

برای مثال:

OSINT:

«این شرکت چه دامنه‌ای دارد؟»

Recon فعال:

«چه سرویس‌هایی روی یک سیستم مجاز در حال اجرا هستند؟»

Exploitation:

«آیا می‌توان از یک آسیب‌پذیری برای اجرای کد استفاده کرد؟»

بنابراین OSINT معمولاً یکی از مراحل ابتدایی چرخه شناسایی است.


هکرها قبل از حمله دنبال چه اطلاعاتی هستند؟

یک مهاجم یا تیم Red Team ممکن است بخواهد تصویر کلی زیر را از یک سازمان به دست آورد:

1. دامنه‌ها

مثلاً:

example.com

و دامنه‌ها یا زیردامنه‌های عمومی مرتبط با آن.

2. آدرس‌های ایمیل سازمانی

برای مثال:

info@example.com
support@example.com
security@example.com

این اطلاعات می‌تواند برای شناخت ساختار سازمانی مفید باشد.

3. تکنولوژی‌های استفاده‌شده

مثلاً:

  • WordPress
  • Apache
  • Nginx
  • Cloudflare
  • Laravel
  • React
  • PHP

شناخت فناوری‌ها به متخصص امنیت کمک می‌کند سطح حمله احتمالی را بهتر درک کند.

4. اطلاعات DNS

DNS می‌تواند اطلاعاتی درباره نحوه ساختار دامنه ارائه کند.

رکوردهایی مانند:

  • A
  • AAAA
  • MX
  • NS
  • TXT
  • CNAME

از مهم‌ترین رکوردهای DNS هستند.

5. اطلاعات عمومی کارکنان

گاهی اطلاعات مربوط به کارکنان در وب‌سایت شرکت یا شبکه‌های اجتماعی عمومی وجود دارد.

برای مثال:

  • نام
  • سمت شغلی
  • تیم
  • ایمیل کاری
  • سابقه کاری

این اطلاعات در ارزیابی ریسک مهندسی اجتماعی اهمیت دارند.


OSINT را می‌توان به چند بخش تقسیم کرد

یک روش ساده برای یادگیری OSINT این است که آن را به چند مرحله تقسیم کنیم:

مرحله اول: تعریف هدف

قبل از جست‌وجو باید مشخص کنیم دنبال چه چیزی هستیم.

مثلاً:

بررسی سطح اطلاعات عمومی یک شرکت برای ارزیابی امنیتی مجاز.

در این مرحله باید Scope مشخص شود.

مثلاً:

Target:
example.com

و فقط اطلاعات مربوط به همین محدوده بررسی شود.


مرحله دوم: جمع‌آوری اطلاعات پایه

در این مرحله اطلاعات عمومی و سطح بالا را جمع می‌کنیم.

مواردی مانند:

  • نام شرکت
  • دامنه
  • دامنه‌های مرتبط
  • وب‌سایت رسمی
  • صفحات شبکه‌های اجتماعی
  • اطلاعات تماس عمومی
  • تکنولوژی‌های قابل مشاهده

این مرحله شبیه ساختن یک نقشه اولیه از هدف است.


مرحله سوم: بررسی دامنه

یکی از اولین چیزهایی که در OSINT بررسی می‌شود، دامنه است.

اطلاعاتی مانند:

  • Registrar
  • Name Server
  • تاریخ‌های ثبت
  • وضعیت دامنه
  • DNS Records

می‌توانند برای شناخت زیرساخت مفید باشند.

یکی از ابزارهای ساده برای بررسی DNS:

nslookup example.com

یا:

dig example.com

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


مرحله چهارم: بررسی DNS

DNS یکی از بخش‌های بسیار مهم Reconnaissance است.

برای مثال:

dig example.com A

برای بررسی رکورد A.

یا:

dig example.com MX

برای مشاهده رکوردهای مربوط به Mail Server.

همچنین:

dig example.com NS

برای مشاهده Name Serverها.

هدف این مرحله، درک ساختار عمومی دامنه است.


مرحله پنجم: بررسی Subdomainها

یک شرکت ممکن است علاوه بر دامنه اصلی، چندین زیردامنه داشته باشد.

مثلاً:

www.example.com
blog.example.com
mail.example.com
dev.example.com
support.example.com

اما یک نکته بسیار مهم وجود دارد:

پیدا کردن یک Subdomain به معنی مجاز بودن بررسی آن نیست.

در محیط آموزشی، بهتر است از دامنه‌های آزمایشگاهی یا دامنه‌ای که مالک آن هستید استفاده کنید.


مرحله ششم: Google Dork چیست؟

Google Dork یا Google Hacking به استفاده از عملگرهای جست‌وجوی پیشرفته برای پیدا کردن اطلاعات خاص در موتورهای جست‌وجو گفته می‌شود.

مثلاً:

site:example.com

یعنی نتایج مربوط به دامنه مشخص‌شده را جست‌وجو کن.

مثال دیگر:

site:example.com filetype:pdf

می‌تواند فایل‌های PDF ایندکس‌شده از یک دامنه را پیدا کند.

یا:

site:example.com "contact"

برای پیدا کردن صفحاتی که عبارت مشخصی دارند.

نکته امنیتی

Google Dork به‌خودی‌خود هک نیست.

شما فقط در حال استفاده از قابلیت جست‌وجوی موتور جست‌وجو هستید.

اما نباید از اطلاعات پیدا‌شده برای دسترسی غیرمجاز یا سوءاستفاده استفاده کرد.


مرحله هفتم: بررسی شبکه‌های اجتماعی

شبکه‌های اجتماعی می‌توانند اطلاعات بسیار زیادی درباره یک سازمان منتشر کنند.

مثلاً ممکن است از طریق صفحات عمومی بتوان فهمید:

  • چه افرادی در شرکت کار می‌کنند
  • ساختار تیم‌ها چگونه است
  • چه فناوری‌هایی استفاده می‌شود
  • شرکت چه محصولاتی دارد
  • چه رویدادهایی برگزار کرده
  • چه سیستم‌هایی معرفی شده‌اند

برای OSINT حرفه‌ای، مهم فقط پیدا کردن یک اطلاعات نیست.

مهم‌تر از آن، ارتباط دادن اطلاعات مختلف به یکدیگر است.


مرحله هشتم: بررسی GitHub و مخازن کد عمومی

یکی از منابع مهم OSINT برای شرکت‌های نرم‌افزاری، مخازن عمومی کد هستند.

گاهی توسعه‌دهندگان اطلاعاتی را به‌صورت عمومی در Repository قرار می‌دهند که نباید منتشر می‌شد.

برای مثال:

API_KEY
TOKEN
PASSWORD
SECRET

اما اینجا یک مرز بسیار مهم وجود دارد:

پیدا کردن یک Secret عمومی به معنی اجازه استفاده از آن نیست.

در یک ارزیابی امنیتی مجاز، چنین مواردی باید به‌عنوان یک یافته امنیتی ثبت و گزارش شوند، نه اینکه برای دسترسی به سرویس استفاده شوند.


مرحله نهم: بررسی فناوری سایت

شناخت تکنولوژی‌های یک سایت یکی از بخش‌های جذاب OSINT است.

مثلاً می‌توان فهمید:

Web Server: Nginx
CMS: WordPress
Language: PHP
CDN: Cloudflare

ابزارهای مختلفی برای تشخیص فناوری‌های وب وجود دارند.

یکی از ابزارهای شناخته‌شده:

WhatWeb

است.

مثلاً در یک آزمایشگاه مجاز:

whatweb example.com

خروجی ممکن است اطلاعاتی درباره فناوری‌های قابل تشخیص سایت ارائه دهد.


مرحله دهم: بررسی Certificate Transparency

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

اطلاعات گواهی‌های عمومی می‌تواند سرنخ‌هایی درباره نام‌های دامنه و Subdomainهای مرتبط ارائه کند.

یکی از منابع معروف برای این کار:

crt.sh

است.

مثلاً جست‌وجوی:

%.example.com

می‌تواند گواهی‌های مرتبط با زیردامنه‌های یک دامنه را نشان دهد.

این روش برای درک سطح حمله عمومی یک سازمان بسیار مفید است.


مرحله یازدهم: Shodan چیست؟

Shodan یک موتور جست‌وجوی مخصوص تجهیزات و سرویس‌های متصل به اینترنت است.

تفاوت اصلی آن با Google این است که تمرکز Shodan روی سرویس‌ها و دستگاه‌های متصل به اینترنت است.

برای مثال می‌تواند اطلاعاتی درباره سرویس‌های قابل مشاهده مانند:

  • Web Server
  • Database
  • VPN
  • IoT
  • Router
  • Server

ارائه کند.

اما استفاده از اطلاعات Shodan برای دسترسی یا حمله به سیستم‌های دیگر بدون مجوز غیرقانونی و غیراخلاقی است.

برای یادگیری، بهتر است از دارایی‌های آزمایشگاهی خودتان استفاده کنید.


مرحله دوازدهم: جمع‌آوری اطلاعات و ساختن نقشه

OSINT واقعی فقط «جست‌وجو کردن» نیست.

شما باید اطلاعات را سازمان‌دهی کنید.

مثلاً:

Company
│
├── Main Domain
│   └── example.com
│
├── Subdomains
│   ├── www
│   ├── blog
│   └── mail
│
├── Technologies
│   ├── WordPress
│   ├── PHP
│   └── Nginx
│
├── Employees
│   ├── Developer
│   ├── IT
│   └── Security
│
└── Public Documents
    ├── PDF
    └── Documentation

این ساختار باعث می‌شود اطلاعات پراکنده تبدیل به یک تصویر قابل تحلیل شود.


ابزارهای مهم OSINT

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

ابزار کاربرد
Google جست‌وجوی اطلاعات عمومی
Google Dorks جست‌وجوی دقیق‌تر
WHOIS اطلاعات ثبت دامنه
DNS tools بررسی DNS
crt.sh بررسی Certificate Transparency
Shodan جست‌وجوی سرویس‌های اینترنتی
WhatWeb شناسایی فناوری وب
theHarvester جمع‌آوری اطلاعات عمومی
SpiderFoot خودکارسازی OSINT
Maltego تحلیل ارتباط بین داده‌ها

theHarvester چیست؟

theHarvester یکی از ابزارهای شناخته‌شده در دنیای OSINT است.

این ابزار می‌تواند در جمع‌آوری اطلاعات عمومی مانند:

  • دامنه‌ها
  • Subdomainها
  • ایمیل‌های عمومی
  • Hostها

کمک کند.

در محیط آزمایشگاهی می‌توان ساختار کلی اجرای آن را به این شکل دید:

theHarvester -d example.com -b bing

دقت کنید که گزینه‌ها و Sourceهای قابل استفاده بسته به نسخه ابزار ممکن است متفاوت باشند.


SpiderFoot چیست؟

SpiderFoot یک ابزار OSINT با قابلیت خودکارسازی است.

به جای اینکه اطلاعات را از منابع مختلف به‌صورت دستی جمع‌آوری کنیم، SpiderFoot می‌تواند بسیاری از مراحل جمع‌آوری اطلاعات عمومی را خودکار کند.

این ابزار برای یادگیری مفهوم Attack Surface نیز بسیار مفید است.


Maltego چیست؟

Maltego بیشتر روی ارتباط میان داده‌ها تمرکز دارد.

مثلاً می‌توان ارتباط میان:

Domain
   ↓
Subdomain
   ↓
IP
   ↓
Organization
   ↓
Person
   ↓
Social Account

را بررسی کرد.

قدرت Maltego در همین ارتباط‌دادن اطلاعات است.


یک سناریوی آموزشی واقعی

فرض کنیم شما مسئول امنیت شرکت خودتان هستید.

دامنه شرکت:

example.com

هدف:

بررسی کنید چه اطلاعاتی از شرکت به‌صورت عمومی در اینترنت قابل مشاهده است.

مرحله 1

دامنه را بررسی می‌کنید.

مرحله 2

رکوردهای DNS را بررسی می‌کنید.

مرحله 3

Subdomainهای عمومی را بررسی می‌کنید.

مرحله 4

Technology Stack را شناسایی می‌کنید.

مرحله 5

صفحات اجتماعی شرکت را بررسی می‌کنید.

مرحله 6

اسناد عمومی منتشرشده را بررسی می‌کنید.

مرحله 7

Certificate Transparency را بررسی می‌کنید.

مرحله 8

اطلاعات را در یک گزارش قرار می‌دهید.

در پایان ممکن است به چنین نتیجه‌ای برسید:

Target:
example.com

Domains:
example.com

Subdomains:
www.example.com
blog.example.com

Technologies:
WordPress
PHP
Nginx

Public Information:
Company email
Employee names
Public documents

Potential Risks:
Information leakage
Exposed development environment
Publicly indexed sensitive document

این دقیقاً همان نقطه‌ای است که OSINT از یک جست‌وجوی ساده به یک فرآیند امنیتی حرفه‌ای تبدیل می‌شود.


OSINT و مهندسی اجتماعی

یکی از دلایلی که OSINT در امنیت اهمیت زیادی دارد، ارتباط آن با Social Engineering است.

فرض کنید یک مهاجم اطلاعات عمومی زیر را پیدا کند:

نام کارمند
سمت شغلی
نام مدیر
شرکت مورد استفاده
شماره تلفن کاری
ایمیل سازمانی

هرکدام از این اطلاعات به‌تنهایی شاید خطرناک نباشند.

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

به همین دلیل:

اطلاعات عمومی هم بخشی از سطح حمله سازمان محسوب می‌شوند.


چگونه از خودمان در برابر OSINT سوءاستفاده محافظت کنیم؟

OSINT فقط برای هکرها نیست.

مدافعان امنیت هم باید از آن استفاده کنند تا ببینند مهاجم چه چیزی درباره سازمان آنها می‌تواند پیدا کند.

چند اقدام مهم:

1. اطلاعات حساس را عمومی نکنید

اطلاعات غیرضروری را از صفحات عمومی حذف کنید.

2. Repositoryها را بررسی کنید

قبل از Public کردن Repository مطمئن شوید:

API Key
Password
Token
Private Key
Secret

داخل آن وجود نداشته باشد.

3. اسناد عمومی را بررسی کنید

PDF و فایل‌های Office ممکن است Metadata داشته باشند.

4. Subdomainهای قدیمی را حذف کنید

یک Subdomain قدیمی که دیگر استفاده نمی‌شود، می‌تواند ریسک ایجاد کند.

5. اطلاعات کارکنان را مدیریت کنید

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

6. Attack Surface را مرتب بررسی کنید

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


OSINT Framework

برای یادگیری حرفه‌ای OSINT می‌توانی یک چارچوب ساده برای خودت بسازی:

1. Define Target
       ↓
2. Collect
       ↓
3. Verify
       ↓
4. Correlate
       ↓
5. Analyze
       ↓
6. Document
       ↓
7. Report

Define

هدف و Scope را مشخص کن.

Collect

اطلاعات عمومی را جمع‌آوری کن.

Verify

اطلاعات را از منابع مختلف بررسی کن.

Correlate

اطلاعات مرتبط را به هم وصل کن.

Analyze

ریسک‌ها و الگوها را تحلیل کن.

Document

یافته‌ها را مستند کن.

Report

نتیجه را در قالب گزارش امنیتی ارائه بده.


اشتباهات رایج افراد تازه‌کار

فقط به یک منبع اعتماد نکن

ممکن است یک اطلاعات قدیمی یا اشتباه باشد.

همیشه اطلاعات مهم را با منابع دیگر بررسی کن.

هر چیزی که پیدا می‌کنی را قابل اعتماد فرض نکن

اطلاعات اینترنت می‌تواند:

  • قدیمی
  • جعلی
  • ناقص
  • خارج از Context

باشد.

Scope را فراموش نکن

اگر تست امنیتی انجام می‌دهی، فقط دارایی‌هایی را بررسی کن که مجوز آن را داری.

OSINT را با نفوذ اشتباه نگیر

هدف OSINT جمع‌آوری و تحلیل اطلاعات عمومی است.


یک تمرین امن برای شروع

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

سپس این موارد را بررسی کن:

[ ] Domain
[ ] DNS
[ ] NS
[ ] MX
[ ] TXT
[ ] Subdomains
[ ] Technologies
[ ] Public Documents
[ ] Certificate Transparency
[ ] Public Social Profiles

بعد اطلاعات را در یک جدول قرار بده:

نوع اطلاعات نتیجه منبع ریسک
Domain example.com DNS کم
Web Server Nginx WhatWeb متوسط
Subdomain blog.example.com CT متوسط
Document Public PDF Google متوسط
Email Public Email Website کم

جمع‌بندی

OSINT یکی از پایه‌های مهم امنیت سایبری و Reconnaissance است.

یک متخصص امنیت قبل از اینکه سراغ ابزارهای پیچیده برود، باید بتواند بفهمد:

هدف چیست؟

چه اطلاعاتی درباره آن عمومی است؟

این اطلاعات چگونه به هم مرتبط هستند؟

چه چیزی می‌تواند برای مهاجم ارزشمند باشد؟

و مهم‌تر از همه:

چه اطلاعاتی نباید عمومی می‌بود؟

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

هر چیزی که درباره سازمانت در اینترنت عمومی است، بخشی از تصویری است که مهاجم می‌تواند از تو بسازد.

در قسمت بعدی می‌توانیم وارد بخش عملی‌تر شویم و یک آزمایشگاه OSINT قانونی بسازیم و قدم‌به‌قدم با ابزارهای whois، dig، nslookup، WhatWeb، crt.sh، Google Dorks و theHarvester روی یک هدف آزمایشی کار کنیم.

دسته بندی‌ها:

آنچه در این مقاله میخوانید

دیدگاه شما

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *