John the Ripper چیست؟ آموزش شکستن رمز عبور و هش
وقتی یک هکر به فایلِ رمزهای یک سیستم دست پیدا میکند، رمزها را بهصورتِ خام نمیبیند؛ چیزی که میبیند «هش» است — یک رشتهی درهمریخته. John the Ripper ابزاری است که تلاش میکند از روی این هش، رمزِ اصلی را بازسازی کند. فهمیدنِ کارِ آن، هم برای حمله و هم برای ساختنِ دفاعِ درست حیاتی است.
نوشتهی اسماعیل قائدی — مدرس امنیت سایبری و هک اخلاقی
کارشناسی امنیت سایبری از دانشگاه Manchester Metropolitan (درجهی ممتاز) — تست نفوذ، امنیت شبکه، OSINT و گجتهای سختافزاری.
این مقاله بخشی از راهنمای کامل آموزش هک از صفر: نقشه راه کامل برای مبتدیها است

اول: هش (hash) چیست؟
سیستمها رمزِ عبور را بهصورتِ خام ذخیره نمیکنند؛ آن را از یک تابعِ یکطرفه بهنامِ «هش» عبور میدهند که خروجیاش یک رشتهی ثابت و بهظاهر تصادفی است. این کار یکطرفه است: از رمز میتوان هش ساخت، اما از هش نمیتوان مستقیم به رمز رسید. پس حملهکننده چه میکند؟ حدس میزند: رمزهای مختلف را هش میکند و نتیجه را با هشِ هدف مقایسه میکند تا به تطابق برسد.
John the Ripper چطور کار میکند؟
John the Ripper (بهاختصار John) دقیقاً همین حدسزدن را با سرعتِ بسیار بالا و بهصورتِ هوشمند انجام میدهد. سه حالتِ اصلی دارد:
- حملهی دیکشنری: رمزهای یک لیستِ آماده (wordlist) مثل rockyou را یکییکی امتحان میکند — سریعترین و پرکاربردترین روش.
- حملهی بروتفورس (Incremental): همهی ترکیبهای ممکن از حروف و ارقام را میسازد؛ کند اما در نهایت هر رمزی را میشکند.
- حالت قواعد (Rules): رمزهای دیکشنری را هوشمندانه تغییر میدهد (مثلاً password میشود P@ssw0rd) تا رمزهای «بهظاهر قوی» را هم پوشش دهد.
یک نمونهی ساده
جریانِ کارِ John معمولاً اینطور است: اول هشها را در یک فایل جمع میکنی، بعد John را با یک wordlist روی آن اجرا میکنی و در پایان رمزهای شکستهشده را میبینی:
# حملهی دیکشنری با wordlist معروف rockyou john --wordlist=/usr/share/wordlists/rockyou.txt hashes.txt # نمایش رمزهای شکستهشده john --show hashes.txt
اجرای John the Ripper با لیست کلمات rockyou
John یا Hashcat؟
John the Ripper و Hashcat دو غولِ این حوزهاند. John انعطافپذیر، ساده برای شروع و عالی برای انواعِ زیادی از هش است. Hashcat از کارتِ گرافیک (GPU) استفاده میکند و برای هشهای سنگین و حجمِ بالا معمولاً بسیار سریعتر است. حرفهایها هر دو را بلدند و بسته به موقعیت انتخاب میکنند.
همین ابزار به تو نشان میدهد چرا رمزِ کوتاه فاجعه است: یک رمزِ ۶ حرفیِ ساده در چند ثانیه میشکند، اما یک عبارتعبورِ بلندِ ۱۶ کاراکتری عملاً غیرقابلشکستن میشود. راهِ دفاع در برابر John، رمزِ بلند و یکتا بههمراهِ هشِ قوی و کند (مثل bcrypt) است.
کاربردِ قانونی
John یک ابزارِ دوکاره است: مهاجم با آن حمله میکند و مدافع با آن «قدرتِ رمزها» را میسنجد. تیمهای امنیتی بهطورِ قانونی با John رمزهای سازمانِ خودشان را آزمایش میکنند تا رمزهای ضعیف را پیدا و کاربران را وادار به تغییر کنند. استفاده از آن فقط روی سیستمها و هشهایی مجاز است که اجازهی صریح داری.
منابع و مراجع
Frequently asked questions
John the Ripper رمز را از هش رمزگشایی میکند؟
نه دقیقاً. هش یکطرفه است و رمزگشایی نمیشود. John رمزهای مختلف را حدس میزند، هش میکند و با هشِ هدف مقایسه میکند تا به تطابق برسد. پس در واقع «حدسِ هوشمند» میزند، نه رمزگشایی.
چقدر طول میکشد تا یک رمز شکسته شود؟
کاملاً به طول و پیچیدگیِ رمز بستگی دارد. یک رمزِ کوتاه و رایج در چند ثانیه میشکند، اما یک عبارتعبورِ بلندِ تصادفی میتواند سالها یا عملاً هرگز نشکند.
آیا کار با John the Ripper قانونی است؟
خودِ ابزار قانونی است و کاربردِ دفاعیِ گسترده دارد. اما استفاده از آن روی هشهایی که مالکشان نیستی یا اجازه نداری، غیرقانونی است.
آمادهای عملی یاد بگیری؟ دورهها و کارگاههای هک و امنیت سایبری را ببین و مسیرت را جدی شروع کن.
دیدن دورهها