اول، باید ببینیم هک یعنی چی؟ هک که می گیم، دقیقا منظورمون چیه؟
هر کاری که باعث اختلال در کار یک سیستم، یک وبسایت، نرمافزار و .... بشه، هک نامیده می شه.
برای مثال، شخصی ۹۹ گوشی را با google map در یک خیابان خالی کشید. گوگل مپ آن خیابان را قرمز نشان داد و تمام مسیر ها را به مسیری غیر از آنجا تغییر داد، اون کاری نکرد که به سرور های گوگل یا ... آسیب بزنه یا بهشون دسترسی پیدا کنه، اما باعث اختلال در سیستم گوگل مپ شد و این یک هک نامیده شد.
مطمئنا این هک، اون هکی نیست که شما انتظارش رو دارین، هکی که ما معمولا ازش نام می بریم و میگوییم من هکرم، هک به معنای دسترسی به یک سرور، سیستم، نرم افزار و... است.
اول از همه، می خوایم چند تا اصطلاح هکری رو با هم بررسی کنیم.
۱. سرور: اینو که همتون می دونین، سایت روش سوار می شه و یک نگهدارنده فایل ها است و....
۲. کلاینت: اینم تقریبا معلومه، کلاینت به هر دستگاهی گفته میشه که به سرور وصل میشه
۳. زیرو دی (zero day) : به یک آسیب پذیری کشف نشده در بک سیسم میگن، مثلا یک مشکلی که توی ویندوز هست و میشه باهاش هر ویندوزی رو هک کرد، اما ویندوز هنوز اون آسیب پذیری رو پیدا و رفع نکرده.
۴. وان دی (one day): به آسیب پذیری کشف نشده ای می گن که حالا کشف شده! بعد از کشف شدنش این اسم رو روش میذارن.
۵. هکر کلاه سیاه: هکری که برای دزدی و ... دست به هک میزنه
۵. هکر کلاه سفید: هکری که برای سازمان های دولتی و پلیس و... یا برای تست آسیب پذیری هک میکنه
۶. هکر کلاه خاکستری: هکری که صرفا نمی خواد هک رو به صورت یک حرفه انجام بده و هک رو فقط برای یادگیری و پز دادن و... می خواد.
۷. کیلاگر: نرم افزار، یا قطعه سخت افزاری، که هر دکمه ای که روی کیبورد فشرده می شه رو ذخیره میکنه.
۸. ویروس: فایلی که دچار اختلال در سیستم می شه و مشکلاتی به وجود میاره.
۹. باج افزار: یک نوع ویروس که تمام دسترسی های سیستم رو از شما می گیره (فایل ها رو قفل میکنه و...) و بابت باز گرداندن اون، از شما پول زیادی می خواد.
۱۰. بد یو اس بی (bad USB): یک یو اس بی که معمولا توسط برد های آردوینو و رزبری پای نوشته می شه و با اتصال به سیستم، اختیار اونو در دست می گیره یا یک فایل اجرایی رو اون اجرا می کنه.
۱۱. هش: هش ها رمز گذاری های خاصی هستند، که با الگوریتم های ریاضی قوی یک متن رو، هر تعداد کاراکتر هم که باشه، به یک عبارت یکتا می رسونند، بعدا بیشتر در مورد هش ها صحبت می کنیم
اینا چند تا از اصطلاحات مهم هکری بودن، نکته بعدی که هر هکری باید بلد باشه، حملات مختلف به سیستم هستن، انواع جملات مختلف برای ورود به سیستم های وبسایت، نرم افزار ها و... وجود داره، می خوایم چندتا از اونا رو با هم بررسی کنیم.
1. حمله بروت فورس: در این نوع حمله، هکر با تست کردن رمز عبور های معروف، یا با تست کردن تمام حالات مختلف برای یک رمز عبور، اون رمز رو هک می کنه، هکر در این روش می تونه خیلی از هش ها، رمز عبور سرور، رمز عبور کاربر، رمز وای فای، رمز عبور فایل های زیپ و... رو هک کنه
۲. حمله دام(Dom): در این حمله، یک کاربر با یک نرم افزار یا کد، درخواست های بسیار زیادی را در کسری از ثانیه به یک وبسایت می فرستد، در این حمله، سرور به خاطر درخواست های زیاد مختل شده و نمی تواند به درخواست های عادی کاربران جواب دهد. در این روش هکر می تواند یک سرور را از دسترس خارج کند، این حمله معمولا به سرعت سرکوب می شود و آی پی هکر سریعا بلاک می شود، این یکی از معروف ترین انواع هک است و تقریبا تمام وبسایت ها در برابر آن ایمن هستند.
۳. حملات دیدام (DDom): در این حملات، چند نفر که یک گروه هکری هستند، با آی پی های متفاوت و دستگاه های متفاوت از نقاط مختلف کشور حمله دام را در یک زمان انجام میدهند، سرور نمی تواند همه این افراد را با هم سرکوب کند، این حمله نیز بعد از مدتی معمولا سرکوب خواهد شد، اما طول مدت آن و اثر گذاری آن بیشتر از حمله دام است.
۴. حمله تزریق SQL: در این حمله، هکر به یک وبسایت کد های اس کیو ال تزریق می کند، این در صورتی است که وب سایت آسیب پذیریSQL injection داشته باشد که معمولا سایت های قدیمی یا ضعیف که توسط php و sql نوشته شده اند از آن ایمن نیستند. در این حمله، سایت های آسیب پذیر معمولا در بعضی صفحاتشان، یک ورودی یا ... دارند که به فایل های اس کیو ال آنها وصل است، برای مثال، اینپوت جستجو در وبسایت، در این اینپوت با جستجوی متن نوشته شده در اینپوت در فایل های اس کیو ال، نتایج را پیدا می کنند، حال هکر ها به جای متن جستجو یک کد اس کیو ال می نویسند و این کد در sql اجرا میشود. این نوع حملات ها معمولا با ابزار انجام می شوند و کاملا دسترسی به داده های وبسایت را به دست میآورند.
۵. حملات شخص ثالث: در این نوع حملات، هکر بین مودمِ کلاینت و سرور قرار میگیرد و اطلاعات ارسالی آن را می گیرد، برای مثال هنگامی که کلاینت به اینستاگرام درخواستی با نام کاربری و رمز عبور میفرستد، هکر می تواند این پیام را ببیند و نام کاربری و رمز عبور را بخواند و یا حتی آن ها را تغییر دهد. این هک یکی از حملات بسیار سخت است، چون پیام های بین کلاینت و سرور کاملا و بل انواع روش ها رمزگذاری می شوند و ورود به آنها سخت است.
این پنج حمله، پنج تا از رایج ترین حملات هک بودند، همانطور که بالاتر گفتم، می خواهیم کمی در مورد هش ها صحبت کنیم.
هش ها دقیقا چه هستند؟
هش ها، رمزگذاری های صعب الهکی(سخت نگیرین دیگه!) هستند که توسط یک سری الگوریتم های ریاضی انجام میشوند، هر متنی با هر تعداد کاراکتری که به یک هش بدهید، او آن را به یک رشته با طول مشخص تبدیل میکند، فایل های زیپ هم به همین صورت کار میکنند.
هش ها چند نوع دارند، اولین نوع آنها غیر قابل آن هش(unhash) یعنی غیر قابل برگرداندن به حالت عادی هستند، مگر اینکه یک فرد بتواند در مثلا ۳ سال این کار را انجام دهد.
البته راه های دیگری هم برای آنهش هستند و یکی از آنها این است که الگوریتم هش کردن را برعکس کنند، این روش در بسیاری از موارد ممکن نیست و بسیار سخت است، برای مثال هش MD5 یکی از روش های هش مطمئن بود، اما حالا، این هش سست شده و با توجه به کشف شدن الگوریتم آنهش کردن این هش، میتوان آن را شکست.
بسیار دیگری از هش ها که خیلی مطمئن تر هستند، مانند هش های sha، که شامل شا۱، شا ... می شوند بسیار مطمئن تر هستند.
نوع دوم هش ها، هش های کلیدی قرینه هستند، هش های کلیدی قرینه، به هش هایی گفته میشود که با یک کلید هش و با همان کلید آنهش میشوند، الگوریتم های واقعی این هش ها بسیار پیچیده اند، اما مثلا یک رمزگذاری ساده با کلید وجود دارد و آن هم این است که کلید را بدون حروف تکراری مینویسند و بعد حروف الفبا را با ترتیب، بدون احتساب آنهایی که در کلید بودند بعد از آن مینویسند، سپس زیر هر حرف، حروف الفبا را به ترتیب مینویسند.
چیزی مانند این:
س ل ا م خ و ب ی پ ت ث ج چ ح د ذ ر ز ژ ش ص ض ط ظ ع غ ف ک گ ن ه
ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی
کلید این هش "سلام خوبی" هست که اول حروف نوشته می شه.
اگر حروف رو استباه نوشتم به بزرگی خودتون ببخشید (:
حالا هر حرف در سطر پایین، جایگزین حرف بالاییاش می شود، الف، سین می شود و...
به همین روش میتوان یک هش گذاری قرینه انجام داد.
نوع دیگر هش، هش کلیدی نامتقارن است، این نوع هش با یک کلید رمزگذاری و با یک کلید دیگر رمزگشایی میشود، نمیتوان از کلید رمزگذاری به کلید رمزگشایی دست پیدا کرد (یا سخت است و زمان میبرد) اما میتوان از کلید رمزگشایی به کلید رمزگذاری دست پیدا کرد.
این سه تا، روش های هش کردن یک متن بودند، برای این پست بسه، توی پست بعد بیشتر در این مورد صحبت میکنیم.
💬❤️