گاهی اوقات با چنین مشکلاتی مواجه می شویم ، به عنوان مثال ، رمز عبور حالت abcdabcd است و abcdabcd در فرهنگ لغت ما وجود ندارد. فضای زیادی را اشغال می کند آیا راهی برای تولید abcdabcd از طریق abcd وجود دارد ؟ در hashcat البته قابل اجرا است و در این بخش ابتدا در مورد این حالت یعنی حالت حمله ترکیبی دیکشنری صحبت خواهیم کرد (پارامتر به صورت -a 1 نشان داده می شود).
ابتدا معنای -a 1 را از طریق یک مثال ساده توضیح می دهیم و سپس شما را قدم به قدم به کاربرد پیچیده این الگو می بریم.
hashcat –a 1 –m 0 mima.txt –o outfile dic.txt dic.txt
منظور از این دستور استفاده از dic.txt است این فرهنگ لغت پس از ترکیب mima.txt را رمزگشایی می کند اگر dic.txt از فرهنگ لغت
همانطور که در شکل زیر نشان داده شده است ، جفت جدید mima.txt پس از ترکیب این فرمان تشکیل می شود. فرهنگ لغت برای رمزگشایی txt عبارت است از:
یعنی هر خط در dic.txt با خود ترکیب می شود تا یک فرهنگ لغت جدید تشکیل شود.
قبلاً ترکیبی از یک فرهنگ لغت را معرفی کرد ، اگر فرهنگ لغت متفاوتی باشد ، از دستور زیر استفاده کنید
نشان می دهد که تمام خطوط در dic1.txt با تمام خطوط در dic2.txt ترکیب می شوند و فرهنگ لغت تشکیل شده mima.txt را حل می کند. در چه شرایطی از حالت ترکیبی
استفاده می شود ؟ حالت ترکیبی به طور کلی زمانی است که رمز عبور کاربر به وضوح به دو بخش تقسیم می شود ، مانند: abcd1234 ، asdfasdf ، aaa19770101 ،... و غیره ، رمز عبور به وضوح در پاراگراف قبلی و پاراگراف بعدی نشان داده می شود.
(1) در حالت ترکیبی ، hashcat در حال حاضر فقط می تواند از دو فرهنگ لغت (یا یک فرهنگ لغت دو بار) برای ترکیب پشتیبانی کند و نمی تواند از چندین فرهنگ لغت پشتیبانی کند. فرهنگ لغت (بیش از 3 فرهنگ لغت) یا حملات ترکیبی بیش از 3 بار در یک فرهنگ لغت.
یعنی دستور زیر اشتباه است:
hashcat –a 1 –m 0 mima.txt –ooutfile dic.txt dic.txt
hashcat –a 1 –m 0 mima.txt –ooutfile dic1.txt dic2.txt dic3.txt
(2) در حالت ترکیبی ، دایرکتوری نیز پشتیبانی نمی شود (در مقاله قبلی ، در حالت -a 0 ، کل دایرکتوری پشتیبانی می شود)، به عبارت دیگر ، دو حالت زیر نیز قابل قبول نیستند.
hashcat –a 1 –m 0 mima.txt –ooutfile /dic/
hashcat –a 1 –m 0 mima.txt –ooutfile /dic/*.txt
(3) مشکل به موقع بودن
هنگام استفاده از حالت ترکیبی ، اگر فرهنگ لغت بزرگ باشد ، به عنوان مثال ، دو فرهنگ لغت 10,000,000 باشد ، فضای ترکیبی 100,000,000,000,000 است که معادل 10,000,000 فرهنگ لغت است (هر فرهنگ لغت دارای 10,000,000 است). حمله ، فضا خیلی زیاد است و ممکن است تعداد زیادی تکرار وجود داشته باشد ، اگرچه پوشش افزایش یافته است ، اما به موقع بودن زیاد نیست.
ترک خشونت ، همانطور که از نامش پیداست ، فرسودگی خشونت آمیز فضای متن ساده مشخص شده است که یک روش غیرقابل حل است (زیرا شما نمی توانید فضای فرسودگی را کاهش دهید).
قبل از اینکه به طور رسمی در مورد کرک خشن صحبت کنیم ، بیایید در مورد فضای خسته کننده صحبت کنیم. با در نظر گرفتن حروف کوچک و اعداد رایج به عنوان مثال ، اگر طول رمز عبور 4 باشد ، فضای آن 36**4=1679616 است که به نظر نمی رسد بزرگ باشد و به زودی بیرون می آید. اگر طول رمز عبور 8 باشد ، فضای آن 36**8=2821109907456 است ، اگر زمان محاسبه 1000,000,000 (1 میلیارد بار بر ثانیه) باشد ، زمان محاسبه حدود 2820 ثانیه ، حدود 47 دقیقه است که به نظر می رسد قابل تحمل است. اگر طول رمز عبور 10 باشد ، فضای آن 36**10=3656158440062976 است ، اگر زمان محاسبه 1000,000,000 (1 میلیارد بار بر ثانیه) باشد ، زمان محاسبه از 1000 ساعت بیشتر می شود ، پس راهی برای پذیرش آن وجود ندارد.
انواع مختلفی از حالت کرک خشن (پارامتر به صورت -a 3 نشان داده می شود) در hashcat وجود دارد که در ادامه به توضیح آنها می پردازیم.
hashcat ، 8 مجموعه کاراکتر پیش فرض داخلی وجود دارد ، یعنی l (26 حرف کوچک)، u (26 حرف بزرگ)، d (10 عدد)، H (حروف کوچک هگزادسیمال)، H (حروف بزرگ هگزادسیمال)، s (کاراکتر ویژه 31)، A (مجموعه ای از 95 کاراکتر کامل l ، u ، d ، s) و b (باینری
به عنوان مثال
(1) اگر فضای 6 بیتی حروف کوچک تمام شود ، دستور استفاده به شرح زیر است:
(2) اگر فضای 8 بیتی تمام کاراکتر تمام شود ، دستور استفاده به شرح زیر است:
(3) اگر فضای تمام عددی با محدوده 4-6 بیت تمام شود ، دستور به شرح زیر است:
در اینجا یک پارامتر اضافه شده است --inrcement --increment-min 4 --inrcement --increment-max 6 حداقل و حداکثر طول تمام شدن را نشان می دهد.
حالت ترکیبی در اینجا حالت سازمانی تحت حالت فرعی است ، نه حالت (-a 1).
یک مثال مستقیم برای توضیح ارائه می دهد:
(1) یک رمز عبور محدوده را تمام می کند ، حدس زده می شود که طول رمز عبور 6 است ، رقم اول مجموعه کامل کاراکترها ، رقم دوم است. حروف کوچک ، و رقم سوم حروف بزرگ است ، رقمهای چهارم ، پنجم و ششم مجموعه کامل کاراکترها هستند ، سپس دستور میتواند از حالت زیر استفاده کند:
(2) چندین حالت ترکیبی در زیر آورده شده است ،
یکی: اگر محدوده رمز عبور حروف بزرگ و کوچک + اعداد و طول آن 6 باشد ، دستور به شرح زیر است:
در اینجا از -1 استفاده می شود ؟ ل ؟ شما ؟ d به معنای حروف بزرگ و کوچک + اعداد است.
bis: اگر محدوده پایان 6 رقم باشد ، رقم اول و چهارم حروف بزرگ + اعداد ، رقم دوم حروف بزرگ ، رقم سوم و پنجم حروف بزرگ + اعداد و رقم ششم عدد باشد ، دستور به شرح زیر است:
البته می توانید حداقل طول و حداکثر طول را نیز مشخص کنید ، همانطور که در شکل زیر نشان داده شده است
قبلاً معرفی کردیم که hashcat دارای 8 مجموعه کاراکتر داخلی است ، اما اگر مجموعه کاراکتر مورد نیاز کاربر در این 8 نوع نباشد چه ؟ چيکار کنم ؟ مهم نیست ، hashcat همچنین طیف گسترده ای از حالت های حمله خشونت آمیز سفارشی را برای همه آماده کرده است.
با استفاده از دستور hashcat –h ، می توانید ببینید که الگوی استفاده زیر تعریف شده است
در زیر ، آن را یکی یکی توضیح می دهیم:
( 1) اگر طول رمز عبور 8 بیت باشد و هر بیت از "0123456789aqwcfhj,.<>=-_+" تشکیل شده باشد ، می توانید از دستور زیر استفاده کنید.
همچنین می توانید این کاراکترها را به صورت فایل مانند char.txt با استفاده از دستور زیر بنویسید.
(2) اگر طول رمز عبور 8 بیت باشد ، بیت اول ، سوم و ششم در "43545yt"، بیت دوم و چهارم در "345dfv-=_+"، بیت پنجم و هفتم در "9vjnbbf-brg" و بیت هشتم در "345fkfggh" هستند ، می توانید از دستور زیر استفاده کنید.
البته می توانید این کاراکترها را در فایل های مختلفی مانند char1.txt ، …… با استفاده از دستور زیر بنویسید.
توجه: برخی از نمادها معانی خاصی در خط فرمان خواهند داشت ، بنابراین زمانی که نمادهای خاصی در مجموعه کاراکترها وجود دارد ، بهتر است این نمادها را به صورت فایل بنویسید.
(3) بر اساس (2)، حداقل طول و حداکثر طول مانند 4-8 بیت را اضافه کنید. سپس می توانید از دستور زیر استفاده کنید.
در مقاله قبلی به معرفی استفاده از برخی از پارامترها پرداختیم ، امروز به معرفی برخی از پارامترهای رایج ادامه می دهیم. امروز ما بر روی پارامتر نمایش صفحه نمایش
تمرکز خواهیم کرد. مقاله قبلی دستورات مربوط به خروجی فایل (-o/--outfile-format) را معرفی کرد. از طریق این دستورات ، نتایج رمزگشایی رمز عبور hashcat را می توان خروجی داد. در یک فرمت خاص به فایل. اما در طول اجرای hashcat ، ما نمی توانیم ببینیم که hashcat کدام رمزهای عبور را رمزگشایی می کند. اگر در حین کار با hashcat ، بتوانیم مستقیماً رمز عبور رمزگشایی شده توسط hashcat را روی صفحه چاپ کنیم ، بصری تر و راحت تر خواهد بود. دقیقاً چند پارامتر در hashcat وجود دارد که می تواند نتایج اجرای hashcat را به صفحه نمایش خروجی دهد.
show هش رمزگشایی شده و رمز عبور ذخیره شده در فایل pot را به پنجره صفحه نمایش می دهد.
left مقدار هش را که hashcat رمزگشایی نکرده است به صفحه نمایش
stdout رمزگشایی رمز عبور را انجام نمی دهد ، اما محتوای فرهنگ لغت را که برای رمزگشایی رمز عبور استفاده می شود چاپ می کند.
دستورات زیادی برای Hashcat وجود دارد و پارامترهای مختلف بسیار متفاوت هستند. اگر می خواهید به عملکردها و عملکردهای Hashcat بازی کامل بدهید ، توصیه می شود دستورات مختلف را امتحان کنید تا با روش ترکیب دستورات مختلف Hashcat آشنا شوید. برای عملکرد پارامتر hashcat ، می توانید از راهنمای آنلاین hashcat (-h) بیاموزید.