سلام وعرض ادب روز تعطیل بخیر باشه :)در این جلسه از دورهی Threat Hunting با Sysmon و Splunk به همراه تیم Blue Team، وارد یکی از مهمترین تکنیکهای فاز Recon میشویم:
T1595.003 – Search Open Websites/Domains که زیرمجموعه تکنیک کلی T1595 (Active Scanning) در چارچوب MITRE ATTCK محسوب میشود. خروجی مورد انتظار در پایان این جلسه، فراگیران توانایی خواهند داشت که: نشانههای تلاش برای جمعآوری اطلاعات درباره دامنه سازمان را در لاگها تشخیص دهند فعالیتهای اسکن دامنهها و سرویسهای HTTPS را از طریق الگوهای مشخص در Zeek و Stream شناسایی کنند کوئریهای حرفهای در Splunk بنویسند که تکنیک T1595.003 را با دقت بالا شکار میکند تحلیل رفتاری برای تفکیک Recon از فعالیتهای معمول کاربران انجام دهند مرینهای تخصصی برای تشخیص T1595.003 (فقط HTTP) تمرین 1: شناسایی IPهایی که درخواستهای متنوع به مسیرهای مختلف ارسال کردهاند (URL Fuzzing) فرضیه: مهاجم در حال کشف صفحات و فایلهای موجود در سرور وب از طریق اسکن گسترده مسیرها است.
برای مشاهده کامل دوره آموزشی Threat Hunting با Splunk و Sysmon اینجا کلیک کنید
برای مشاهده کامل دوره آموزشی Threat Hunting با Splunk و Sysmon اینجا کلیک کنید
🎯 تمرینهای تخصصی برای تشخیص T1595.003 (فقط HTTP)
✅ تمرین 1: شناسایی IPهایی که درخواستهای متنوع به مسیرهای مختلف ارسال کردهاند (URL Fuzzing)
فرضیه: مهاجم در حال کشف صفحات و فایلهای موجود در سرور وب از طریق اسکن گسترده مسیرها است.
index=botsv1 sourcetype=zeek:http | stats dc(uri) as unique_paths count by id.orig_h | where unique_paths > 100 AND count > 150
🧠 سوال: کدام IP رفتار مشابه اسکنر دارد؟ چرا؟
✅ تمرین 2: شناسایی تعداد زیاد پاسخ HTTP با کد 404 (Page Not Found)
فرضیه: تلاش برای دسترسی به منابعی که وجود ندارند نشاندهنده کشف مسیرها توسط مهاجم است.
index=botsv1 sourcetype=zeek:http status_code=404 | stats count by id.orig_h | where count > 30
🧠 سوال: چه میزان نرخ خطای 404 برای یک کلاینت نرمال است؟
✅ تمرین 3: بررسی استفاده از مسیرهای رایج و حساس در URI
فرضیه: مهاجم با اسکن خودکار در تلاش است به صفحات مدیریتی یا فایلهای پنهان دسترسی پیدا کند.
index=botsv1 sourcetype=zeek:http | search uri IN ("/admin", "/.git", "/config.php", "/wp-admin", "/phpinfo.php", "/login") | stats count by id.orig_h, uri
🧠 سوال: کدام مسیر بیشترین درخواست را داشته؟ آیا طبیعی است؟
✅ تمرین 4: شناسایی IPهایی با تعداد زیاد User-Agent یکسان
فرضیه: ابزارهای خودکار مانند curl یا python requests در حال اسکن هستند.
index=botsv1 sourcetype=zeek:http | stats count by id.orig_h, user_agent | where count > 50
🧠 سوال: کدام User-Agentها مشکوک هستند؟
✅ تمرین 5: شناسایی استفاده از HTTP برای دسترسی به دامنههای عمومی غیرعادی
فرضیه: مهاجم از داخل شبکه به دامنههای اسکنر یا جمعآوری اطلاعات مانند crt.sh
, censys.io
, shodan.io
دسترسی داشته است.
index=botsv1 sourcetype=zeek:http | search host IN ("shodan.io", "crt.sh", "censys.io", "zoomeye.org") | stats count by id.orig_h, host
🧠 سوال: آیا دسترسی به این دامنهها در سازمان مجاز است؟
✅ تمرین 6: بررسی Burst Request در بازههای زمانی کوتاه (رفتار رباتی)
فرضیه: ابزار اسکنگر در زمان کوتاه تعداد زیادی درخواست ارسال کرده است.
index=botsv1 sourcetype=zeek:http | bin _time span=10s | stats count by _time, id.orig_h | where count > 30
🧠 سوال: آیا این رفتار طبیعی برای کاربر انسانی است؟
✅ تمرین 7: شناسایی درخواستهایی با فایلهای حساس در URI
فرضیه: کشف فایلهای بکاپ یا پیکربندی توسط مهاجم.
index=botsv1 sourcetype=zeek:http | regex uri="(?i).*\.(bak|zip|tar|sql|env|old|swp|log|conf|ini)$" | stats count by id.orig_h, uri
🧠 سوال: آیا این فایلها واقعاً در سرور وجود دارند؟