کرک پسورد با Hydra
"ابزار Hydra که برای کِرَک پسورد به صورت بروت فورس توسعه یافته، یک ابزار محبوب است که به علت عملکرد بالا در حملات brute-force آنلاین مورد استفاده قرار میگیرد."
نحوه استفاده از ابزار کرک پسورد Hydra
ابزار کرک پسورد Hydra که برای شکستن رمز عبور به صورت brute-forcing توسعه یافته، یک ابزار متن باز که به صورت پیش فرض روی اکثر توزیعهای لینوکس تست نفوذ از جمله Parrot، Kali و BlackArch نصب است. Hydra به علت عملکرد بالا در حملات brute-force آنلاین مورد استفاده قرار میگیرد. بروت فورس آنلاین به اجبار به زوری اشاره دارد که در پروتکلهای آنلاین شبکه استفاده میشود، مانند SSH، Remote Desktop Protocol (RDP)، و HTTP (به عنوان مثال احراز هویت اولیه HTTP). در فرمهای Hydra، HTML قابلیتهای brute-foring را و موقعیتها و همچنین بسیاری دیگر فراهم میکند. Hydra به صورت موازی طراحی شده است، به این معنی که چندین رشته می توانند به صورت موازی برای بهینه سازی کارایی و سرعت بخشیدن به فرآیند brute-forcing کار کنند.
چگونه Hydra را دانلود کنیم؟
چند راه مختلف برای دانلود و استفاده از Hydra وجود دارد:
- دانلود Hydra به صورت منبع باز و استفاده از آن.
- Hydra را در داکر Pull کنید.
- Hydra در اکثر توزیعهای لینوکس تست نفوذ از جمله Parrot، Kali و BlackArch از پیش نصب شده است.
توجه داشته باشید، برخی منابع با اشاره به گروه هک THC که این ابزار را توسعه داده اند، از این ابزار با عنوان THC Hydra یاد می کنند.
نحوه استفاده از Hydra
رابط کاربری Hydra در حالی که ابزار بسیار قدرتمندی است، ساده و بصری است. به طور کلی، تنها سه بخش از اطلاعات باید به Hydra ارائه شود:
- نام کاربری (های) مورد استفاده در حمله بروت فورس
- کلمه عبور
- منبع راه دور مورد حمله
در سادهترین شکل خود، از گزینه l- (L کوچک) برای تعیین حساب کاربری و گزینه p- برای تعیین رمز عبور خاص و همچنین پروتکل و آدرس منبع استفاده کنید. در مثال زیر، پرچم l- یک کاربر خاص را نشان میدهد، p- یک رمز عبور خاص را نشان میدهد و ssh://localhost آدرس اینترنتی را برای آزمایش ماشین محلی نشان میدهد.
این یک مثال ساختگی است؛ در واقع این به هیچ وجه یک نیروی بیرحمانه نیست، زیرا ما دقیقا یک نام کاربری و دقیقا یک رمز عبور را مشخص کرده ایم. برای یک سناریوی استفاده واقعی تر، چندین نام کاربری و یا چند کلمه عبور را مشخص کنید.
رمزهای عبور استفاده شده معمولا در فهرست کلمات مشخص میشوند. فهرست واژهها را میتوان در جاهای مختلف پیدا کرد. به صورت پیش فرض کالی و سایت توزیعهای تست نفوذ دارای یک یا چند فهرست کلمات برای استفاده در آزمونهایی مانند این هستند. برای انواع خاصی از حملا مانند credential stuffing، فهرستها را میتوان در کانالهای دیگر پیدا کرد.
همانطور که در شکل پایین نشان داده شده است، برای استفاده از فهرست کلمات در Hydra، از P- و سپس مکان یک فهرست کلمات استفاده کنید. به همین ترتیب برای تلاش جهت اعمال زور بیش از یک نام کاربری، یک فایل از نام های کاربری را با استفاده از L- به جای پرچم l- مشخص کنید.
شکل بالا از گزینه P- برای تعیین لیست کلمات rockyou.txt استفاده می کند که به دلیل کامل بودن آن یک انتخاب محبوب برای حملات brute-force است. همچنین گزینه f- مشخص میکند که Hydra با کشف اولین ترکیب نام کاربر و رمز عبور متوقف شود. توجه داشته باشید، اگر چندین میزبان مشخص شده باشد، f- توابع در هر میزبان و گزینه F- برای اولین بار برای هر میزبان ضربه می خورد. در مثال بالا ترکیب پروتکل/میزبان را تغییر دهید. به جای تعیین میزبان و پروتکل در قالب URL (یعنی ssh://localhost)، پروتکل و میزبان خود را مشخص کنید.
یکی از نکات مهم در مورد Hyda انعطاف پذیری آن است. از طیف گستردهای از پروتکلها و خدمات پشتیبانی میکند که فهرستی از آنها را میتوانید از صفحه دستی man hydra -- در خط فرمان پیدا کنید. توجه داشته باشید، پشتیبانی برای برخی از پروتکلها باید در آن کامپایل شود. برای تعیین اینکه چه پروتکلها و سرویسهایی توسط نصب شما پشتیبانی میشوند، دستور hydra را - بدون آرگومان - برای به دست آوردن یک لیست اجرا کنید. شکل پایین نشان میدهد که هنگام اجرای دستور Hydraبدون آرگومان در نصب وانیلی کالی چه چیزی ظاهر می شود.
Hydra را می توان نه تنها برای اعمال زور در برابر پروتکل های رایج شبکه مانند SSH، FTP و RDP، بلکه برای انجام حملات brute-force علیه برنامه های کاربردی وب نیز مورد استفاده قرار داد. شکل زیر استفاده از ابزار Hydra را در مقابل سرور وب با استفاده از احراز هویت اولیه HTTP نشان می دهد.