Dusseldorf؛ سلاح متنباز مایکروسافت برای شکار SSRF
خلاصهٔ کاملتر
آسیبپذیریهای خارجازباند (out-of-band) وقتی خودشون رو نشون میدن که اپلیکیشن در جریان حمله بیصدا سراغ یک سیستم بیرونی میره. مشکل اینجاست که برای شکار این ترافیک به یک زیرساخت شنونده نیاز داری و تو گزارش Help Net Security اومده که خیلی از پژوهشگرها این زیرساخت رو خودشون دستی سرهم میکنن. پروژهٔ متنباز تازهٔ مایکروسافت به اسم Dusseldorf همین قطعهٔ گمشده رو آماده میده، در قالبی که داخل محیط خصوصی خودت اجرا بشه.
اسمش هم از عادت مایکروسافت به نامگذاری پروژهها با اسم مکانها میآد: شهر آلمانی Düsseldorf حرفهای SSRF رو داخل خودش داره و برای استفادهٔ روزمره اوملات جاش رو به u ساده داده.
هدف ابزار دستهای از نقصهاست که داخل اپلیکیشن اثر کمی بهجا میذارن: جعل درخواست سمت سرور (SSRF)، اسکریپتنویسی میانسایتی (XSS)، تزریق قالب سمت سرور (SSTI)، نقصهای XML external entity و کلاسهای شبیه اینها. تشخیصشون به این بستهست که ببینی اپلیکیشن لبهٔ شبکه چهکار میکنه — و Dusseldorf دقیقاً همونجا میشینه.
بعد از استقرار، پلتفرم شنوندههای DNS و HTTP و HTTPS رو بالا میآره که به یک دامنه مثل *.yourdomain.net وصلن. هر درخواستی به اون دامنه و هر زیردامنهاش تو لاگ ثبت میشه. پروژه به این زیردامنهها میگه zone، و مثلاً foo.yourdomain.net و foo.bar.yourdomain.net دو رکورد جدا حساب میشن. یک رابط گرافیکی محافظتشده و یک REST API متناظر هم درخواستهای ثبتشده و پاسخهاشون رو نشون میدن و کنترل پاسخهای سفارشی و فیلترها رو دستت میدن.
فرض طراحی، استقرار خصوصیه: اپراتور خودش یکپارچگی هویت، اندازهٔ زیرساخت، دامنههای درگیر و سیاستهای زمان اجرا برای مدیریت درخواستها رو کنترل میکنه، و با قاعدهها و تغییر سطح سرویس تعیین میکنه پلتفرم به ترافیک ورودی چه جوابی بده. همین نکته برای تیمهایی که نمیخوان دادههای تستشون روی سرویس عمومی بشینه مهمه.
برای راهاندازی به یک ماشین روی اینترنت با یک یا چند IPv4 عمومی نیاز داری و به دامنهای که رکورد name server ـش به همون آدرسها اشاره کنه. کدبیس برای Azure ساخته شده و دو مسیر استقرار داره: مسیر لوکال برای آزمایشگاه و توسعه با ساخت اعتبارنامه، تنظیم گواهی و Docker Compose؛ و مسیر Azure برای تدارک ابری و مقدارگذاری اولیهٔ پایگاه داده با Helm.
فهرست پیشنیازها هم همین دوگانگی رو نشون میده: Docker، Docker Compose، Azure CLI، OpenSSL برای گواهی TLS، پایتون ۳ با pip، ابزار jq و Helm. بعد از استقرار، کار اصلی از رابط گرافیکی و API انجام میشه و یک مسیر خط فرمان هم مستند شده. Dusseldorf رایگانه و روی گیتهاب منتشر شده.
نکات کلیدی:
- پلتفرم متنباز مایکروسافت برای تست امنیت اپلیکیشن بهشکل خارجازباند (OAST)
- شنوندههای DNS، HTTP و HTTPS روی دامنهٔ خودت؛ هر زیردامنه یک zone جداگانه
- مناسب کشف SSRF، XSS، تزریق قالب سمت سرور و XXE
- رابط گرافیکی محافظتشده بههمراه REST API، با پاسخ سفارشی و فیلتر
- دو مسیر استقرار: لوکال با Docker Compose یا ابری روی Azure با Helm




