فصل ۲: شناسایی و OSINT
شناسایی فعال و غیرفعال، Google Dorking، شمارش DNS با dig و dnsenum، Shodan، کشف زیردامنه با Gobuster و Amass، استخراج ایمیل با theHarvester و مقایسه ابزارهای OSINT.
شناسایی چیست؟
شناسایی (Reconnaissance) نخستین و مهمترین فاز عملی هر تست نفوذ است. در این فاز، تستر هر آنچه را که درباره هدف میتواند پیدا کند، جمعآوری میکند. کیفیت این فاز معمولاً موفقیت یا شکست کل پروژه را تعیین میکند؛ زیرا اطلاعاتی که در اینجا جمعآوری میشوند، پایهای هستند که فازهای اسکن و استثمار روی آنها بنا میشوند.
شناسایی به دو دسته کلی تقسیم میشود:
| نوع | تعریف | خطر تشخیص | مثال |
|---|---|---|---|
| غیرفعال (Passive) | بدون ارتباط مستقیم با هدف، از منابع عمومی | بسیار کم | WHOIS، Google، Shodan |
| فعال (Active) | ارتباط مستقیم با سرورهای هدف | بالا | DNS axfr، پورتاسکن، اسکن زیردامنه |
قانون طلایی شناسایی
هرچه اطلاعات بیشتری در فاز شناسایی غیرفعال جمعآوری کنید، کمتر نیاز به اسکنهای پرسر و صدا دارید و ریسک تشخیص توسط IDS/IPS هدف کمتر میشود. همیشه با غیرفعال شروع کنید.
Google Dorking — جستجوی پیشرفته
گوگل با اپراتورهای اختصاصی خود، یکی از قدرتمندترین ابزارهای OSINT است. این اپراتورها به شما اجازه میدهند نتایج را بهدقت فیلتر کنید و اطلاعاتی را پیدا کنید که در جستجوی معمولی پنهان میمانند.
اپراتورهای کلیدی:
site:— محدود کردن به یک دامنه خاصinurl:— جستجو در URLintitle:— جستجو در عنوان صفحهfiletype:— فیلتر بر اساس نوع فایلcache:— نمایش نسخه کششدهintext:— جستجوی دقیق در متن صفحه
چند مثال عملی:
site:example.com filetype:pdf
inurl:admin panel
intitle:"index of" /backup
site:example.com intext:"password"
filetype:env DB_PASSWORD
intitle:"phpMyAdmin" "Welcome to"
site:gov.ir filetype:xlsپایگاه دادهای از این dorkها در Google Hacking Database (GHDB) موجود است که هر تستر باید آن را بشناسد.
مراقب خودتان باشید
Google Dorking خودش غیرقانونی نیست، اما کلیک روی نتایجی که به صفحات محافظتشده میروند میتواند باشد. فقط جستجو کنید و اطلاعات را مستند سازید؛ کلیک نکنید مگر اینکه در دامنه مجاز باشید.
شمارش DNS با dig و dnsenum
DNS معدن طلا برای تستر است. هر رکورد میتواند اطلاعات مفیدی بدهد: رکورد MX به سرور ایمیل اشاره میکند، TXT ممکن است شامل SPF و کلیدهای DKIM باشد، و گاهی NSها به زیردامنههای داخلی لو میرود.
# تمام رکوردهای یک دامنه
dig example.com ANY
# رکورد MX (سرور ایمیل)
dig example.com MX
# رکورد NS (سرورهای نام)
dig example.com NS
# تلاش برای انتقال منطقه (Zone Transfer) — موفقیتشونده اما خطرناک
dig axfr @ns1.example.com example.com
# ابزار خودکار dnsenum — چندمنظوره و سریع
dnsenum example.comانتقال منطقه (AXFR) یک آسیبپذیری پیکربندی است که در آن سرور DNS کل لیست زیردامنهها را به هر کسی که درخواست کند میدهد. اگر موفق شود، یک جامپ کلاسیک در OSINT محسوب میشود.
Shodan — موتور جستجوی اینترنت اشیا
شودان (Shodan) برخلاف گوگل، صفحات وب را اسکن نمیکند؛ بلکه بنرهای سرویسهای اینترنتی را ایندکس میکند. این یعنی میتوانید دوربینهای مداربسته دارای رمز پیشفرض، سرورهای RDP باز، پایگاهداده MongoDB بدون احراز هویت و حتی پلها و سدهای با SCASA در معرض دید را پیدا کنید.
چند جستجوی نمونه در Shodan:
# سرورهای SSH نسخه قدیمی
product:"OpenSSH" version:"7.2"
# دوربینهای مداربسته با پنل پیشفرض
webcamxp city:"Tehran"
# پایگاههای داده MongoDB باز
product:"MongoDB" port:27017
# سرورهای RDP اینترنتی
port:3389 has_screenshot:true
# تجهیزات صنعتی
port:502 country:"IR"شودان فارغ از خروجی
حتی اگر اکانت رایگان داشته باشید، میتوانید فیلترهای اصلی را اجرا کنید. اکانت پولی امکان فیلترهای پیشرفتهتر و دانلود خروجی JSON را فراهم میکند. برای تست نفوذ قانونی، اکانت آکادمیک رایگان از Shodan در دسترس است.
کشف زیردامنه
یکی از مهمترین وظایف فاز شناسایی، پیدا کردن زیردامنههای فراموششده است. اغلب سازمانها زیردامنههایی دارند که دیگر استفاده نمیشوند اما هنوز روی سرور وجود دارند و وصلهنشدهاند.
ابزارهای اصلی:
# Gobuster — سریع و قابل اعتماد، مبتنی بر brute-force با واژهنامه
gobuster dns -d example.com -w /usr/share/wordlists/subdomains.txt
# Amass — عمیقترین ابزار، ترکیبی از منابع فعال و غیرفعال
amass enum -d example.com
# Sublist3r — استفاده از موتورهای جستجو
sublist3r -d example.com -o subdomains.txt
# ابزار آنلاین جایگزین: crt.sh (گواهیهای SSL)
curl -s "https://crt.sh/?q=%25.example.com&output=json" | jq -r '.[].name_value' | sort -uبرای Gobuster، واژهنامه پیشفرض Seclists معمولاً بهترین نتیجه را میدهد:
gobuster dns -d example.com -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-20000.txt -t 50استخراج ایمیل با theHarvester
ایمیلها برای فاز بعدی — فیشینگ هدفمند یا اسپری رمز عبور — ارزشمند هستند. ابزار theHarvester از چندین منبع همزمان ایمیل و زیردامنه جمعآوری میکند:
# اسکن کامل با تمام منابع
theHarvester -d example.com -b all
# فقط از Google و Bing
theHarvester -d example.com -b google,bing
# ذخیره خروجی در فایل
theHarvester -d example.com -b all -f report.htmlخروجی شامل ایمیلها، زیردامنهها، نام میزبانها و حتی کارکنانی است که در LinkedIn فهرست شدهاند.
مقایسه ابزارهای OSINT
| ابزار | نوع خروجی | سرعت | مزیت اصلی |
|---|---|---|---|
| Google Dorking | صفحات وب، فایلها | متوسط | رایگان، نفوذناپذیر به طور مستقیم |
| Shodan | سرویسهای اینترنتی | بالا | بنرهای سرویس، تصاویر اسکرینشات |
| dig/dnsenum | رکوردهای DNS | بسیار بالا | ساده و سریع |
| Amass | زیردامنه، شبکه | کند اما عمیق | جامعترین |
| Gobuster | زیردامنه/مسیر | بالا | قابل اعتماد با واژهنامه |
| theHarvester | ایمیل، زیردامنه | متوسط | یک ابزار همهکاره |
| Maltego | گراف روابط | کند | مصورسازی ارتباطات |
| Recon-ng | چندمنظوره | متوسط | ماژولار، شبیه Metasploit |
OSINT اجتماعی
فراموش نکنید که انسانها ضعیفترین حلقه امنیت هستند. LinkedIn، Twitter، GitHub و حتی اینستاگرام میتوانند اطلاعات ارزشمندی بدهند:
- LinkedIn: ساختار سازمانی، تکنولوژیهای استفادهشده (مهارتها در پروفایل).
- GitHub: نشت اعتبارنامه در commitهای قدیمی، سورسکد پروژههای داخلی.
- Twitter/اینستاگرام: موقعیت دفتر، عکسهای داخل دفتر که ممکن است مانیتور یا داشبورد را نشان دهند.
ابزاری مانند trufflehog برای کشف نشت در GitHub عالی است:
trufflehog github --org=example-corpمستندسازی همهچیز
هر ابزار، هر دستور، هر خروجی را در یک فایل متنی یا ابزارهایی مثل CherryTree/Obsidian با تاریخ و ساعت ذخیره کنید. در فاز گزارشنویسی، این مستندات تنها راه اثبات کار شماست. پیشنهاد: یک پوشه per-target با زیرپوشههای recon, scans, exploits, screenshots.
تمرین عملی
یک دامنه فرضی (مثلاً دامنه خودتان یا یک شرکت صمیمی که اجازه داده) را انتخاب کنید و این فهرست را اجرا کنید:
# 1. WHOIS
whois example.com | tee recon/whois.txt
# 2. DNS
dig example.com ANY | tee recon/dns-any.txt
dnsenum example.com | tee recon/dnsenum.txt
# 3. زیردامنه
gobuster dns -d example.com -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-20000.txt | tee recon/subdomains.txt
# 4. ایمیل
theHarvester -d example.com -b all -f recon/harvester.html
# 5. Shodan (نیازمند API key)
shodan search "hostname:example.com" | tee recon/shodan.txtخروجی این فهرست، پایهای است که در فصل اسکن و شمارش از آن استفاده خواهید کرد.
خلاصه و گام بعدی
در این فصل، تفاوت شناسایی فعال و غیرفعال را یاد گرفتید و با ابزارهای کلیدی OSINT از Google Dorking تا Shodan و theHarvester آشنا شدید. مهمترین درس: همیشه با غیرفعال شروع کنید، همهچیز را مستند کنید و هرگز بدون اجازه روی اهداف غیرمجاز کلیک نکنید.
در فصل بعد، با اسکن و شمارش آشنا میشوید؛ جایی که با Nmap و ابزارهای شمارش سرویس، نقشه دقیقی از حملهپذیریهای شبکه هدف تهیه میکنید.
این صفحه در تاریخ ۸ تیر ۱۴۰۵ بهروزرسانی شده است.