حملات Brute Force یا بروت فورس یکی از رایجترین حملات برای به دست آوردن امکان ورود هست و با ارسال و تست تعداد زیادی نام کاربری و رمز عبور بر روی صفحات لاگین وب سایت ها، صفحه لاگین ایمیل و انواع صفحاتی که برای ورود به حساب کاربری هستن صورت میگیره.
هکر در این روش تمامی عبارتهای ممکن و موجود رو بررسی میکنه تا امکان ورود به سایت رو به دست بیاره. با توجه به اهمیت امنیت سایت و کاربران اون، آشنایی با این نوع حملات برای تمامی مدیران وب سایت ها و کسانی که دارای رمز عبور و نام کاربری مهم در وب سایتی هستن لازم و ضروریه. شما میتونین با شناخت این روشها وب سایت امنتری داشته باشین.
پس در این مقاله با ما همراه باشین تا شما رو با حمله Brute Force آشنا کنیم و روشهای مقابله با اون رو به شما آموزش بدیم.
حملات کرکینگ (Cracking)
از اونجایی که حملات بروت فورس نوعی از حملات کرکینگ هستن، پس لازمه قبلش توضیح مختصری در مورد حملات کرکینگ بدیم.
در حملات کرکینگ هکر با ابزاری مخصوصی برای یافتن مقدار اولیه یه عبارت رمزگذاری شده تلاش میکنه، یعنی در این نوع حملات برای پیدا کردن رمز عبوری تلاش میکنن که حتی عبارت رمزگذاری شده اون رو هم در دسترس ندارن!
حملات کرکینگ معمولاً از الگوی خاصی پیروی نمیکنن. بلکه با بررسی همه احتمالات موجود و یا مقادیری که احتمال صحیح بودن اونها بیشتره انجام میشه. از این رو حملات کرکینگ رو به بخشهای مختلفی تقسیم میکنن که یه بخش اون حمله Brute Force هست.
حملات Brute Force چیه؟
حمله Brute Force یکی از روشهای مورد استفاده هکرها برای یافتن رمزهای عبور هست. اونها معمولاً این کار رو با نرم افزارهای مخصوصی انجام میدن. در این حملات هکرها هیچ اقدامی برای رمزگشایی پسورد انجام نمیدن، بلکه با استفاده از نرم افزارهای مخصوصی سعی در حدس زدن پسورد دارن و تمام حالات ممکن برای یافتن پسورد صحیح رو بررسی میکنن. در صورتی که پسورد طولانی و پیچیده باشه، این کار بسیار زمانبر میشه.
این نوع حملات به دو فاکتور مهم احتیاج دارن که شامل: زمان زیاد و قدرت پردازش بالا میشه. و خوشبختانه این دو فاکتور بازده هکرها رو در این حملات پایین میاره.
این نوع حمله بیشتر در سیستم مدیریت محتوا مثل وردپرس و غیره و سرویسهای رایج مثل FTP و SSH مشاهده میشه. برای حملات بروت فورس روشهای متعددی وجود داره اما شایعترین متد حملات بر پایه دیکشنری (dictionary-based) است. هکرها از یه لیست که شامل رمزعبورهای متدوال یا رمزهایی که در طول سالهای گذشته با استفاده از اونها به خیلی از سایتها نفوذ کردن و هر رمز رو برای نفوذ تست میکنن. این پروسه تا وقتی که ترکیب درست رمز عبور و نام کاربری سایت پیدا بشه ادامه پیدا میکنه. این حمله یکی از متدهای قدیمی محسوب میشه اما هنوز هم بین هکرها متداول و مشهوره.
چرا هکرها چنین حملاتی رو انجام میدن؟
همونطور که میدونین تکنولوژی در حال پیشرفته و کارها رو سادهتر میکنه؛ پس ممکنه از خودتون بپرسین چرا هکرها هنوز هم از این حملات استفاده میکنن؟ هکرها ممکنه به دلایل مختلفی حمله Brute Force رو انجام بدن. هکرها با حمله Brute Force از تبلیغات وب سایت ها و مجموعه فعالیت داده ها سود میبرن. هکرها میتونن از موقعیت وب سایت ها برای کمپینهای تبلیغاتی استفاده کنن. مثلاً با قرار دادن تبلیغ در صفحه وب سایت ها میتونن درآمد خوبی داشته باشن.
بر اساس تحقیقات hacker one در سال 2016 و بررسی 617 هکر نتایج به دست اومده نشون داد که 72% هکرها انگیزه مالی دارن. همچنین سودی که برخی از هکرها از اقدامات خود کسب میکنن قابل توجه است. 11% هکرها 50000 دلار در سال و 6% از هکرها بیشتر از 100000 دلار در سال درآمد دارن. یکی دیگه از قویترین دلایل هک کردن، دسترسی به اموال مجازی شرکتها یا افراد هست.
انواع روشهای حملات Brute Force
هر حمله Brute Force میتونه از یه متد مجزا برای دسترسی به سیستم شما استفاده کنه که بهتره با انواع این روشها آشنا بشین.
امتحان کردن دستی رمز عبور
در این روش که سادهترین روش هم هست، هکر به شکل دستی، رمز عبور و نام کاربری رو برای ورود به سایت با آزمون و خطا بررسی میکنه. در این روش با توجه به تنظیمات امنیتی، سایت مورد نظر هکر میتونه تا میزان مجازی برای پیدا کردن رمز عبور مورد نظر جواب بده. این روش سادهترین راه برای شناسایی رمز عبور هست که بیشتر به ضعف امنیت رمز عبور مورد نظر بستگی داره.
حمله Dictionary
حمله Dictionary به شکل یه حمله Brute Force هوشمند تعریف شده. این حمله از رمز عبوری که یک کلمه است و میشه اون رو در یه دیکشنری پیدا کرد استفاده میکنه. تنها محدودیت واقعیای که حمله Brute Force همیشه با اون روبرو هست، زمان لازم برای پایان جستوجو و قدرت محاسباتی است.
این روش یکی از کاربردیترین و معروفترین روشها برای پیدا کردن رمز عبور ذخیره شده در جدول دیتا بیس سرور هست. در یه حمله بروت فورس یا حمله جستوجوی فراگیر عادی، هکر هر یک از ترکیبهای احتمالی اعداد، حروف و سمبلها رو آزمایش میکنه تا به کلمه عبور واقعی برسه. در این روش هکر میلیونها کاراکتر پیشنهادی برای امتحان به ورود سایت در اختیار داره و با استفاده از ابزار بروت فورس به هدف مورد نظر خودش حمله میکنه. این پروسه زمانبر و طولانی بوده و با قدر سخت افزاری سیستم مخصوصاً کارت گرافیک ارتباط مستقیم داره.
هر چه GPU قویتر باشه روند انجام کار سریعتر پیش میره. به عبارت دیگه هکر مثل یه فرد مسلح به سمت هدف خودش با سرعت بالا شلیک میکنه تا هدف آسیب ببینه. حمله دیکشنری در صورتی موفقیت آمیزه که رمز عبور یه کلمه حقیقی باشه. بنابراین این نوع حمله با محدودیتهایی همراه است چون اگه کاربر با هوشمندی، رمز عبور سخت و پیچیدهای انتخاب کرده باشه کار برای هکر سخت و ناممکن میشه! و لازمه به این نکته اشاره کنیم که این روش برای رمزهای پیچیدهای که دارای حروف، اعداد و سمبلها هستن کارایی نداره.
حمله Hybrid brute force
حمله Hybrid یکی از جدیدترین و پرکاربردترین روشهای هک رمز عبور است و خب از جدیدترین روشهای حمله Brute Force هم به حساب میاد که هم عبارات حقیقی و تک کلمهای رو شامل میشه و هم عبارات ترکیبی و پیچیده مثل اعداد، سمبلها، کارکترهای ویژه.
این مدل قدرت مانور بیشتری داره. بسیاری از کاربران بر این باورن که با اضافه کردن عدد بعد از نام خود، رمز عبوری ایمن ساختن. در صورتی که هکر بعد از ناموفق بودن حمله دیکشنری به حمله Hybrid یا دورگه روی میاره. در این روش با اضافه کردن طیف اعداد مشخصی که توسط هکر انتخاب میشه و ترکیب علائم و سمبلهای مشخص، صحت رمز عبور رو بررسی میکنه.
Combination
در این روش هکر به صورت همزمان دو دیکشنری جداگونه رو مورد استفاده قرار میده و عبارات هر دو دیکشنری رو با هم ترکیب و بررسی میکنه. هر دو عبارت متناظر با هم ترکیب و بررسی میشن. نکتهای که در این روش وجود داره اینه که میزان ترکیب و طیف کارکتر در این روش انعطافپذیره و هکر انتخابهای زیادی داره.
بروت فورس برعکس (Reverse)
در این حملات هکر به جای این که سراغ یه کاربر خاص در یه سایت بره و رمزهای متعدد رو برای اون اکانت تست کنه. لیست کاربران رو به دست میاره و با انجام یه حمله Brute Force برعکس و با در نظر داشتن یک یا چند رمز پر استفاده، همه کاربران سایت یا گروه خاصی رو با اون رمزها امتحان میکنه.
این یه روش موثر برای وقتیه که یه سایت یا سرویس که مخاطبان زیادی داره بجای یک کاربر خاص، توسط هکر هدف قرار گرفته است. به همین دلیل که همیشه بهتره رمزهای غیرقابل حدس و با کاراکترهای بلند بسازیم، حتی اگه اکانت ما شناخته شده نباشه.
ابزارهای کمکی برای حمله Brute Force
حدس زدن پسورد یا رمز عبور یه سایت میتونه خیلی زمانبر باشه و به طور کلی از باگهای اصلی حمله Brute Force همین زمانبر بودنشه. بنابراین هکرها از ابزارهای کمکی برای سرعت دادن به کار خودشون استفاده میکنن. به اختصار چندتا از این ابزارها رو به شما معرفی میکنیم.
Aircrack-ng
احتمالاً اگه حتی یه بار هم به دنبال هک وایفای رفته باشین، با این ابزار آشنا شدین. این برنامه از جمله معروفترین برنامهها برای پیدا کردن رمز وای فای هست که به شکل رایگان به کاربران ارائه میشه. این برنامه میتونه شروع به شکستن پسورد بکنه. البته به این نکته توجه کنین که این برنامه کارت شبکههایی رو ساپورت میکنه که promiscuous mode دارن. این برنامه روی هر دو پلتفرم ویندوز و لینوکس قابل اجرا است. و همچنین به شکل پیش فرض روی کالی لینوکس هم نصبه و استفاده از لینوکس اون بهتره! این یکی از سادهترین ابزارها برای حمله جستوجوی فراگیر است.
John the Ripper
این برنامه هم بسیار کاربردی و عالیه که نام اون گویا بوده و نیازی به معرفی نداره.
زمان زیادیه که از این برنامه برای حمله Brute Force و password cracking استفاده میشه. این برنامه برای سیستمهای unix based نوشته شده و بعد برای پلتفرمهای دیگهای هم نوشته شد. در حال حاضر این برنامه 50 پلتفرم مختلف رو ساپورت میکنه. مثل unix و windows و DOS و BeOS و openVMS. این برنامه برای شناسایی پسوردهای ضعیف و به طور کلی شکستن پسوردها به کار میره. از قابلیتهای این برنامه میشه به این موارد اشاره کرد که میتونه تشخیص بده که رمز عبور شما با چه الگوریتمی hash شده و همچنین میتونین با یه دیکشنری از حالت dictionary attack این برنامه استفاده کنین.
Rainbow Crack
این برنامه هم از جمله معروفترین برنامهها برای حمله Brute Force و password cracking هست. این برنامه در زمان شروع حمله یه سری rainbow table هایی درست میکنه که این جدولها از قبل محاسبه شدن؛ بنابراین در وقت صرفه جویی میشه و زودتر به نتیجه میرسین.
نکته مثبتی که در این برنامه وجود داره اینه که شما میتونین این جدولهایی که دیگران قبلاً ساختن رو از اینترنت دانلود کنین و به برنامه بدین تا پرقدرتتر عمل کنه. این برنامه روی هر دو پلتفرم ویندوز و لینوکس قابل اجراس و حتی آخرین ورژن اون هر دو رو ساپورت میکنه.
تاثیر GPU بر سرعت حمله Brute Force
شاید به نظر برسه که حملات بروت فورس با پردازنده اصلی یا CPU انجام میشه. و به نظر میرسه این روش بهینه است. با این که استفاده از CPU برای کرک کردن بعضی از الگوریتمهای رمزگذاری بهینه است، اما برای بیشتر الگوریتم ها کرک کردن با استفاده از پردازندههای گرافیکی (GPU) سریعتر و کم هزینهتر است.
ما در پردازندههای اصلی فقط چندین هسته داریم که در یه لحظه فقط میتونن یه حالت رو امتحان کنن. اما در پردازندههای گرافیکی ما صدها و حتی هزاران هسته پردازشی داریم که در لحظهای میتونن بسیار بسیار بهینهتر و پرسرعرتتر عمل کنن و با سرعتی بیشتر از پردازنده اصلی اقدام به کرک کردن میکنن. البته به این موضوع توجه داشته باشین که برای همه الگوریتمهای رمزگذاری صدق نمیکنه.
راهکارهای جلوگیری از حملات بروت فورس (Brute Force)
حالا که با حمله Brute Force آشنا شدین، در ادامه به معرفی چند روش برای جلوگیری از این حملات میپردازیم. این حملات مربوط به صفحه ورود در وردپرس هست و به بخشهای دیگه در وردپرس ارتباطی نداره. پس از انواع راهکارها برای بالا بردن امنیت صفحه وردپرس خود استفاده کنین.
تغییر آدرس
ورود در وردپرس به صورت پیش فرض با رفتن به آدرسهای wp-admin و wp-login.php که با اضافه کردن به انتهای دامنه استفاده میشه امکان پذیره. بنابراین در اکثر سایت ها از همین دو آدرس برای ورود به وردپرس استفاده میشه و مدیران سایت ها اقدام به تغییر آدرس صفحه ورود در وردپرس نمیکنن. این راهکار بهترین و سادهترین چیزیه که با استفاده از اون حتی میتونین به صورت کلی و بدون نیاز به استفاده کردن از سایر راهکارها از حملات بروت فورس در وردپرس جلوگیری کنین. البته به شرطی که آدرسی که برای ورود به پیشخوان وردپرس استفاده میکنین ساده نباشه و به راحتی توسط افراد دیگه قابل حدس زدن نباشه.
رمز عبور قوی در ورد پرس
استفاده از رمز عبور قوی اولین راهکار برای جلوگیری از حمله Brute Force است. معمولاً سایت های مختلف با رمز عبورهای ساده خودشون لو رفته و هک میشن. بنابراین سعی کنین همیشه از رمز عبوری قوی که با ترفند خاصی ساختین استفاده کنین.
محدود کردن تعداد دفعات ورود
در حالت پیش فرض هر چند بار که بخواین میتونین نام کاربری و رمز عبور مختلف را در صفحه ورود وردپرس برای لاگین کردن در وردپرس تست کنین. این مورد یک کاستی وردپرس به حساب میاد که دست هکرها رو برای هک وردپرس با استفاده از حمله Brute Force وردپرس بازتر میزاره. اما راهکارهایی مثل استفاده از پلاگین وجود داره که میتونین با استفاده از اون اقدام به محدود کردن تعداد دفعات ورود به وردپرس کنین.
در این مقاله سعی کردیم شما رو با حمله Brute Force آشنا کنیم و به اختصار راجع به راهکارهای جلوگیری از این حملات برای شما صحبت کردیم. امیدواریم این مقاله برای شما مفید بوده باشه.