قبل از اینکه یک مهاجم بخواهد اقدامی علیه یک هدف انجام دهد، معمولاً اولین کارش اجرای یک ابزار هک نیست؛ بلکه جمعآوری اطلاعات است.
شناخت هدف، پیدا کردن اطلاعات عمومی، بررسی دامنهها، شناسایی سرویسهای قابل مشاهده، بررسی شبکههای اجتماعی و پیدا کردن ارتباط میان اطلاعات مختلف، همگی بخشی از مرحلهای هستند که در امنیت سایبری به آن 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 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 | متوسط | |
| Public Email | Website | کم |
جمعبندی
OSINT یکی از پایههای مهم امنیت سایبری و Reconnaissance است.
یک متخصص امنیت قبل از اینکه سراغ ابزارهای پیچیده برود، باید بتواند بفهمد:
هدف چیست؟
چه اطلاعاتی درباره آن عمومی است؟
این اطلاعات چگونه به هم مرتبط هستند؟
چه چیزی میتواند برای مهاجم ارزشمند باشد؟
و مهمتر از همه:
چه اطلاعاتی نباید عمومی میبود؟
در واقع، یکی از بهترین روشهای دفاع این است که قبل از مهاجم، خودت را از دید مهاجم ببینی.
هر چیزی که درباره سازمانت در اینترنت عمومی است، بخشی از تصویری است که مهاجم میتواند از تو بسازد.
در قسمت بعدی میتوانیم وارد بخش عملیتر شویم و یک آزمایشگاه OSINT قانونی بسازیم و قدمبهقدم با ابزارهای whois، dig، nslookup، WhatWeb، crt.sh، Google Dorks و theHarvester روی یک هدف آزمایشی کار کنیم.

دیدگاه شما