MEDUSA(1) General Commands Manual MEDUSA(1)

medusa - ابزار بررسی و آزمون موازی ورود به شبکه

medusa [-h host|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M module [OPTIONS]

برنامه Medusa برای این طراحی شده است که یک ابزار سریع، با موازی‌سازی انبوه و پیمانه‌ای (ماژولار) برای حملات جستجوی فراگیر (brute-force) ورود به سیستم باشد. هدف این ابزار، پشتیبانی از بیشترین تعداد ممکن از سرویس‌هایی است که امکان احراز هویت از راه دور را فراهم می‌کنند. از دیدگاه توسعه‌دهنده، موارد زیر برخی از ویژگی‌های کلیدی این برنامه هستند:

* آزمون موازی مبتنی بر ریسه (Thread-based). آزمون‌های جستجوی فراگیر می‌توانند به طور هم‌زمان روی چندین میزبان، کاربر یا گذرواژه انجام شوند.

* ورودی منعطف کاربر. اطلاعات هدف (host/user/password) را می‌توان به روش‌های گوناگونی مشخص کرد. برای نمونه، هر مورد می‌تواند یک ورودی منفرد یا فایلی حاوی چندین ورودی باشد. علاوه بر این، قالب فایل ترکیبی (combo) به کاربر اجازه می‌دهد فهرست اهداف خود را پالایش کند.

* طراحی پیمانه‌ای (ماژولار). هر پیمانه سرویس به عنوان یک فایل ‎.mod مستقل وجود دارد. این بدان معناست که برای گسترش فهرست سرویس‌های پشتیبانی‌شده جهت جستجوی فراگیر، نیازی به اعمال تغییرات در برنامه اصلی نیست.

نام میزبان یا آدرس IP هدف.
مشخصات اهداف را به جای خط فرمان از فایل مشخص‌شده می‌خواند. این فایل باید شامل فهرستی باشد که با خطوط جدید (newline) جدا شده‌اند.
نام کاربری هدف.
نام‌های کاربری هدف را به جای خط فرمان از فایل مشخص‌شده می‌خواند. این فایل باید شامل فهرستی باشد که با خطوط جدید جدا شده‌اند.
گذرواژه هدف.
گذرواژه‌های هدف را به جای خط فرمان از فایل مشخص‌شده می‌خواند. این فایل باید شامل فهرستی باشد که با خطوط جدید جدا شده‌اند.
فایل حاوی ورودی‌های ترکیبی (combo). فایل‌های ترکیبی با دونقطه جدا می‌شوند و قالب آن‌ها به صورت host:user:password است. اگر هر یک از این سه فیلد خالی رها شود، اطلاعات مربوطه باید یا به عنوان یک مقدار سراسری منفرد یا به صورت فهرستی در یک فایل مشخص شود.

ترکیب‌های زیر در فایل ترکیبی مجاز هستند: 1.) foo:bar:fud 2.) foo:bar: 3.) foo:: 4.) :bar:fud 5.) :bar: 6.) ::fud 7.) foo::fud

همچنین Medusa از استفاده از فایل‌های PwDump به عنوان فایل ترکیبی پشتیبانی می‌کند. قالب این فایل‌ها باید به صورت user:id:lm:ntlm::: باشد. برنامه برای تشخیص اینکه آیا فایل حاوی خروجی PwDump است یا خیر، وجود ':::' را در انتهای خط اول بررسی می‌کند.

فایلی برای پیوست کردن اطلاعات ثبت وقایع (log). برنامه Medusa تمامی مدارک احراز هویت حساب‌هایی که معتبر تشخیص داده شوند یا خطای ناشناخته ایجاد کنند را ثبت خواهد کرد. همچنین زمان شروع و پایان بررسی و پارامترهای فراخوانی را نیز ثبت می‌کند.
بررسی‌های تکمیلی گذرواژه ([n] بدون گذرواژه، [s] گذرواژه = نام کاربری). در صورت استفاده از هر دو گزینه، باید به صورت هم‌زمان مشخص شوند ("-e ns";). اگر تنها از یکی از گزینه‌ها استفاده می‌شود، "-e n"; یا "-e s"; را به کار ببرید.
نام پیمانه (module) برای اجرا (بدون پسوند ‎.mod).
پارامتری برای ارسال به پیمانه. این گزینه می‌تواند چندین بار با پارامترهای مختلف مشخص شود و همه آن‌ها به پیمانه ارسال خواهند شد (مانند ‎-m Param1 -m Param2 و غیره).
نمایش فهرست تمامی پیمانه‌های شناخته‌شده.
استفاده برای شماره پورت غیرپیش‌فرض TCP.
فعال‌سازی SSL.
انصراف از تلاش برای اتصال پس از NUM ثانیه (پیش‌فرض ۳).
توقف به مدت NUM ثانیه بین تلاش‌های مجدد (پیش‌فرض ۳).
تعداد NUM بار تلاش مجدد قبل از انصراف. تعداد کل تلاش‌ها NUM + 1 خواهد بود.
تنظیم مدت زمان انتظار (به میکروثانیه/usec) در حین آزمون سوکت شبکه برقرار شده. برخی سرویس‌ها (مانند FTP، IMAP، POP3 و SMTP) ممکن است طوری پیکربندی شده باشند که پس از تعداد معینی تلاش ناموفق برای ورود، ارتباط را قطع کنند. ما تلاش می‌کنیم تا زمان رخ دادن قطعی، از اتصال برقرار شده برای ارسال تلاش‌های احراز هویت مجدداً استفاده کنیم؛ در آن نقطه ارتباط دوباره برقرار می‌شود. برای انجام این کار، در پیمانه‌های منتخب پیش از انجام احراز هویت، فعال بودن سوکت بررسی می‌شود. حالت پیش‌فرض انجام یک بررسی ۱ میکروثانیه‌ای است. ممکن است نیاز به تعیین مقادیر بسیار بزرگ‌تری باشد؛ برای مثال در سرور آزمایشی vsftp جهت جلوگیری از ایجاد مشکل توسط سازوکارهای داخلی ضد جستجوی فراگیر آن، مقدار ۱۰۰۰ میکروثانیه مورد نیاز بود.
تعداد کل ورودهایی که به طور هم‌زمان آزموده می‌شوند. لازم به ذکر است که تقریباً t × T ریسه می‌توانند در هر لحظه در حال اجرا باشند. به نظر می‌رسد ۳۸۱ حد نهایی روی میزبان لینوکس Gentoo معمولی نویسنده بوده است.
تعداد کل میزبان‌هایی که به طور هم‌زمان آزموده می‌شوند.
موازی‌سازی ورودها با استفاده از یک نام کاربری به ازای هر ریسه. حالت پیش‌فرض، پردازش کامل یک نام کاربری پیش از رفتن به سراغ بعدی است.
متوقف کردن پویش میزبان پس از یافتن اولین نام کاربری/گذرواژه معتبر.
متوقف کردن بررسی پس از یافتن اولین نام کاربری/گذرواژه معتبر روی هر میزبانی.
عدم نمایش اعلان (بنر) شروع برنامه.
نمایش اطلاعات نحوه استفاده از پیمانه. این گزینه باید همراه با گزینه "-M" استفاده شود؛ به عنوان مثال: "medusa -M smbnt -q".
سطح پرحرفی (verbose) [۰ - ۶ (بیشتر)]. تمام پیام‌های هم‌سطح یا پایین‌تر از سطح تعیین‌شده نمایش داده خواهند شد. سطح پیش‌فرض ۵ است.

تفکیک سطوح پرحرفی به شرح زیر است: 0) EXIT APPLICATION (خروج از برنامه) 1) MESSAGE WITHOUT TAG (پیام بدون برچسب) 2) LOG MESSAGE WITHOUT TAG (پیام لاگ بدون برچسب) 3) IMPORTANT MESSAGE (پیام مهم) 4) ACCOUNT FOUND (حساب پیدا شد) 5) ACCOUNT CHECK (بررسی حساب) 6) GENERAL MESSAGE (پیام عمومی)

سطح اشکال‌زدایی خطا [۰ - ۱۰ (بیشتر)]. تمام پیام‌های هم‌سطح یا پایین‌تر از سطح تعیین‌شده نمایش داده خواهند شد. سطح پیش‌فرض ۵ است.

تفکیک سطوح خطا به شرح زیر است: 0) FATAL (مهلک) 1) ALERT (هشدار بحرانی) 2) CRITICAL (بحرانی) 3) ERROR (خطا) 4) WARNING (اخطار) 5) NOTICE (توجه) 6) INFO (اطلاعات) 7) DEBUG (اشکال‌زدایی) 8) DEBUG - AUDIT (اشکال‌زدایی - بررسی) 9) DEBUG - SERVER (اشکال‌زدایی - سرور) 10) DEBUG - MODULE (اشکال‌زدایی - پیمانه)

نمایش نسخه.
امکان ازسرگیری پایه‌ای یک پویش قبلی را فراهم می‌کند. پارامتر ارائه‌شده مشخص می‌کند کدام میزبان‌ها کامل شده‌اند، کدام‌یک تا حدی آزموده شده‌اند و کدام‌یک هنوز شروع نشده‌اند. زمانی که Medusa سیگنال SIGINT را دریافت می‌کند، یک «نقشه ازسرگیری» را محاسبه کرده و نمایش می‌دهد. این نقشه را می‌توان در اجرای بعدی وارد کرد؛ به عنوان مثال: "medusa [OPTIONS PREVIOUSLY USED] -Z h6u1u2h8.";. در این مثال خاص، میزبان‌های ۱ تا ۵ کامل شده بودند، میزبان ۶ تا حدی انجام شده بود (کاربر ۱ تا حدی تکمیل شده بود و کاربر ۲ و پس از آن شروع نشده بودند)، میزبان ۷ کامل شده بود و میزبان ۸ و پس از آن هنوز شروع نشده بودند. برنامه Medusa این نقشه را تحلیل کرده و میزبان‌ها و کاربران را بر همان اساس نادیده می‌گیرد. لازم به ذکر است که ازسرگیری تنها در سطح میزبان و کاربر پشتیبانی می‌شود و نه در سطح گذرواژه. اگر آزمون کاربری قبلاً شروع شده اما کامل نشده باشد، آزمون آن کاربر مجدداً از ابتدای فهرست گذرواژه‌های مربوطه آغاز خواهد شد.

JoMo-Kun <jmk@foofus.net> fizzgig <fizzgig@foofus.net>

باگی پیدا کرده‌اید؟ با کمال میل وصله (patch) خود را ارسال کنید.