هک چیست؟
واژه هک برای اولین بار به دوره دهه ۶۰ میلادی باز می گردد. هک به معنای دستیابی به آن چیزی است که نمی توانید در حالت عادی آن را داشته باشید، مانند دسترسی غیر مجاز به یک شبکه کامپیوتری در حالی که ورود به آن امکان پذیر نیست، یا دارای پسورد است! به طور کلی هر زمان که سخنی از هک می شود، اشاره ای به کارهای غیرقانونی نیز دارد.
عموماً هدف از هک کردن کسی یا چیزی، همانند دزدی است اما به روش مدرن! هدف هکرها دزدیدن اطلاعات یا در بسیاری از موارد آسیب رساندن به سیستم است. اگر قصد دارید از هک شدن سیستم جلوگیری کنید، بایستی چند اقدام امنیتی در این باره انجام دهید که در ادامه مطلب آموزش هک با پایتون به آن ها اشاره خواهیم کرد.
توصیه های امنیتی جهت جلوگیری از هک شدن
همیشه سعی کنید بر روی سیستمهای کامپیوتری یا حساب کاربریهای خود در انواع شبکههای اجتماعی از پسورد قوی استفاده کنید، این مسئله باعث میشود تا هکر به راحتی نتواند به رمز عبور شما دسترسی داشته باشد. اگر پسورد ترکیبی از حروف کوچک و بزرگ انگلیسی، اعداد و کاراکترها انتخاب کنید، میلیونها سال طول میکشد تا یک پسورد تازه آن هم به صورت رمزنگاری شده پیدا شود.
مورد بعدی این است که همیشه سیستم عامل خود را آپدیت کنید تا موارد امنیتی که به سیستم عامل اضافه خواهند شد دریافت کنید. همچنین استفاده از نرم افزارهای اورجینال جهت جلوگیری از ایجاد باگ در سیستم و درنهایت جلوگیری از هک شدن پیشنهاد میشود.
اگر این امکان را دارید که آنتی ویروس و فایروال بر روی سیستم عامل خود نصب کنید و به این موضوع فکر کردهاید، پیشنهاد میشود حتماً این کار را انجام دهید زیرا برای افزایش امنیت سیستم و جلوگیری از ایجاد باگ جهت دسترسی هکر به دادهها بسیار مفید است. سعی کنید بر روی لینکهای ناشناخته به هیچ وجه کلیک نکنید زیرا ممکن است با هدفهایی مانند نفوذ به سیستم یا انتقال ویروس ایجاد شده باشند.
بسیاری از افراد با دیدن لینکهایی با عناوینی مانند آموزش هک با پایتون یا حتی آموزش هک در ۱۰ روز و غیره وسوسه میشوند و بر روی آن کلیک میکنند، سعی کنید از هیچ جایی جز گوگل و لینکهایی که به آنها اطمینان دارید سایتی باز نکنید!
همچنین از انداختن فلش دیگران بر روی سیستم بدون اسکن و ویروس کشی جداً خودداری نمایید. اگر احساس میکنید بیشتر از این نیاز دارید در مورد روشهای مقابله با هک و همچنین انواع هکها یاد بگیرید، پیشنهاد میکنیم آموزش مرتبط را از فرادرس دریافت نمایید. بر روی لینک زیر کلیک کنید.
انواع هکرها
هکرها ممکن است بر اساس نوع رفتارشان به دستههای مختلفی تقسیم شوند. همانطور که در ابتدای مطلب گفتیم، برخی از هکرها ممکن است به قصد دزدی و آسیب رساندن به اطلاعات و سیستم فعالیت کنند، این افراد هکرهای کلاه سیاه نامیده میشوند که عموماً کارهای غیرقانونی انجام میدهند.
در مقابل این هکرها افرادی را داریم که به قصد تست نفوذ و افزایش امنیت سیستم اقدام به هک میکنند. فعالیت این هکرها کاملاً قانونی است و به هکرهای کلاه سفید مشهور هستند.
برخی از افراد نیز صرفاً به دلیل خفن بودن این شغل علاقهمند به یادگیری هک هستند و میخواهند به این دلیل هک را یاد بگیرند. این افراد عموماً میخواهند هک را بلد باشند و قصد انجام فعالیت جدی در زمینه هک را ندارند. به این افراد نیز هکرهای کلاه صورتی گفته میشود.
آموزش هک با پایتون
پس از آن که در مورد انواع هکرها صحبت کردیم، حال نوبت آن است که یک هک ساده و اخلاقی به شما آموزش دهیم. دانستیم که هک کردن اگر قانونی نباشد ممکن است شما را با مشکلات مختلف روبرو کند، پس ما نیز اجازه این را نداریم هک غیر قانونی را آموزش دهیم، اما میتوان با استفاده از کتابخانههای آماده پایتون هکهای ساده و اخلاقی انجام داد.
یکی از هکهایی که قصد داریم در مطلب آموزش هک با پایتون به شما آموزش دهیم، رمزگشایی پسوردهایی است که به صورت رمزنگاری شده در پایگاه داده ذخیره میشوند. اصولاً به این پسوردها هش شده گفته میشود. از جمله الگوریتمهایی که برای هشینگ مورد استفاده قرار میگیرد، تابع md5 است.
رمزنگاری MD5 چیست؟
این رمزنگاری روشی برای درهم سازی یک رشته است که در نهایت خروجی آن با طول ۱۲۸ بیت در اختیار کاربر قرار داده می شود. معمولاً از این روش رمزنگاری برای کد کردن پسوردها جهت ذخیره سازی در پایگاه داده استفاده می شود. این الگوریتم به دلیل داشتن سرعت بالا همواره مورد استفاده قرار گرفته و همچنان نیز استفاده می شود.
نکته قابل توجه اینجاست، هر رشته با طول متفاوت که توسط این الگوریتم هش می شود، خروجی با طول یکسان خواهد داشت. این خروجی در مبنای هگزادسیمال یا همان مبنای ۱۶ نمایش داده می شود.
تصور کنید اگر پسوردهای شما به همان صورتی که آن را وارد می کنید در پایگاه داده ذخیره می شد، در این صورت همه می توانستند به این داده ها دسترسی پیدا کنند، اما با استفاده از این الگوریتم به راحتی می توان این داده های مهم را هش کرد تا هر فردی با یک نگاه نتواند به رمز عبور واقعی دسترسی پیدا کند.
زمانی که یک پسورد با این تابع هش می شود، محتوای پسورد به صورت کاراکترهایی از اعداد و حروف انگلیسی نمایش داده می شود. این نوع پسوردها برای انسان خوانا نیستند و برای اینکه بتوان آن را به متن ساده تبدیل نمود یا به عبارتی رمزگشایی کرد، نیازمند یکسری تابع ها و دستورات پیچیده هستیم. اما با استفاده از پایتون به راحتی می توان این پسوردها را پیدا کرد. در ادامه می خواهیم آموزش هک با پایتون را به شما توضیح دهیم.
شروع برنامه نویسی آموزش هک با پایتون
هدف از آموزش این پست، صرفاً نمایش متن ساده شدهای که خودتان وارد کردهاید نیست! ما میخواهیم یک پسورد لیست درست کنیم تا تمامی پسوردهایی که فکر میکنیم ممکن است مورد استفاده قرار بگیرند، به آن اضافه کنیم.
سپس با دستوراتی که در ادامه خواهیم نوشت، پسوردهای موجود در این لیست چک خواهند شد و در صورتی که پسورد مدنظر در فایل پسورد لیست وجود داشته باشد، رمز عبور با متن ساده شده نمایش داده خواهد شد. در واقع میخواهیم یک ابزار Hash Cracker با پایتون بسازیم.
برای شروع کار بایستی نرم افزار پایتون را روی سیستم خود نصب نمایید. اگر هنوز پایتون را ندارید میتوانید از سایت خود Python یا سایتهای ایرانی به صورت رایگان آن را دانلود و نصب نمایید. اکنون نوبت آن است که دستورات خود را در پایتون بنویسیم. یک پروژه جدید در پایتون ایجاد کنید و اولین دستور زیر را در آن وارد کنید.
import hashlib
دستور بالا نشان دهنده این است که ما می خواهیم از کتابخانه آماده Hashlib استفاده کنیم. چنانچه این کتابخانه را به پروژه اضافه نکنید، با ارور مواجه خواهید شد. این کتابخانه نیازی به نصب از طریق CMD ندارد!
در ادامه خواهیم داشت:
print("***PASSWORD CRACKER***") pass_found = 0 input_hash = input("Enter the hashed password: ") pass_doc = input("\nEnter passwords filename including path(root/home): ")
در دستورات بالا یک متغیر به نام pass_found تعریف کردیم که مقدار ۰ به آن داده ایم. قصد داریم از این متغیر برای ذخیره داده ۰ یا ۱ به عنوان اینکه آیا پسورد کرک شده یا نه استفاده کنیم. چنانچه مقدار مدنظر ۰ باشد به معنای این است که هنوز پسورد کرک نشده است.
دو متغیر input_hash و pass_doc نیز به منظور ذخیره ورودی هایی است که توسط کاربر دریافت خواهد شد. در پیغام اول از کاربر پسورد هش ده و در پیغام دوم آدرس یا نام پسورد لیستی که قرار است در ادامه بسازیم دریافت می شود. در ادامه آموزش هک با پایتون داریم:
try: pass_file = open(pass_doc, 'r') except: print("Error:") print(pass_doc, "is not found.\nPlease give the path of file correctly.") quit()
در دستورات بالا با استفاده از open تلاش کردیم تا فایل پسورد لیستی که در بالا آدرس آن توسط کاربر دریافت شده است باز کنیم. این فرآیند توسط try … except انجام شده است تا بتوانیم در صورتی که فایل یافت نشد یک پیغام ارور نمایش دهیم و سپس برنامه را به کمک quit به پایان برسانیم. حال اگر این فرآیند با موفقیت انجام شود در ادامه خواهیم داشت:
for word in pass_file: enc_word = word.encode('utf-8') hash_word = hashlib.md5(enc_word.strip()) digest = hash_word.hexdigest() if digest == input_hash: print("Password found.\nThe password is:", word) pass_found = 1 break
در این بخش به کمک حلقه for می خواهیم ببینیم آیا پسوردی که به صورت هش شده در برنامه توسط کاربر وارد شده است، در پسورد لیست وجود دارد یا خیر؟ قبل از هر چیزی متن را به فرمت utf-8 تبدیل کرده ایم؛ سپس یکی از پسوردهای موجود در پسورد لیست را به کمک تابع md5 هش کرده ایم، در نهایت این رمز با رمزی که در ابتدای برنامه توسط کاربر دریافت شده است مقایسه می شود.
چنانچه پسوردها با هم مطابقت داشته باشند پیغامی مبنی بر اینکه رمز پیدا شده است نمایش داده می شود. در ادامه نیز پسورد به صورت متن ساده را مشاهده خواهید کرد. همچنین متغیر pass_found مقدار ۱ را دریافت می کند و برنامه با دستور break به پایان می رسد.
حال در ادامه آموزش هک با پایتون چنانچه پسورد در فایل پسورد لیست یافت نشود، برای نمایش پیغام مناسب بدین صورت عمل خواهیم کرد.
if not pass_found: print("Password is not found in the", pass_doc, "file") print('\n')
در نهایت نیز برای زیبایی برنامه یک پیغام تشکر می نویسیم که در هر دو حالت بالا یعنی پیدا شدن یا نشدن پسورد برای کاربر نمایش داده می شود.
print("***Thank you ***")
و تمام! شاید باورتان نشود اما این کل دستوراتی است که می توانید به راحتی از آن برای کرک کردن پسورد هش شده با تابع md5 استفاده کنید. همچنین می توانید با کتابخانه Hashlib برای دیگر تایع های هشینگ نیز دستور بنویسید.
حال اگر بخواهیم دستورات بالا را اجرا کنیم، بایستی یک پسورد لیست درست کنیم، شرطِ یافتنِ رمز این است که شما پسورد هش شده را در دست داشته باشید، و قصد دارید آن را به متن ساده تبدیل کنید، در واقع آن را رمزگشایی کنید. در ادامه یک فایل نوت پد باز کنید و چند پسورد مانند زیر در آن وارد کنید.
۱۲۳۴۵۶ ۹۸۷۶۵۴ ۱۳۷۹۳۰۰۷ fatemeh79 python@.com
دقت داشته باشید که تمامی این پسوردها بایستی به همین ترتیب و زیر هم قرار گیرند. فایل را در دسکتاپ یا در مسیری مشخص ذخیره کنید. حال فرض می کنیم که معادل هش شده یکی از پسوردهای بالا را در دست داریم، برنامه را اجرا کنید تا با صفحه زیر روبرو شوید. می توانید مقادیر را طبق تصویر زیر در برنامه وارد کنید.
حال اگر دکمه enter را بزنید و همینطور پسورد در فایل پسورد لیست موجود باشد با پیغام زیر مواجه خواهید شد! توجه کنید که اگر فایل پسورد لیست را در مسیری غیر از دسکتاپ قرار دهید بایستی آدرس آن را به صورت کامل وارد نمایید؛ مانند تصویر زیر.
و حال اگر پسورد وجود نداشته باشد خروجی به صورت زیر خواهد بود.
اگر به طور کلی برنامه نتواند فایل txt حاوی پسورد لیست را پیدا کند، با ارور زیر مواجه خواهید شد.
بدین ترتیب موفق شدید به کمک زبان برنامه نویسی پایتون یک هک ساده اما کاربردی انجام دهید. شاید پیش خود فکر کنید اگر رمزگشایی پسورد به این آسانی است، پس چرا این همه در مورد امنیت پسورد و مسائل پیرامون آن صحبت میشود؟ توجه داشته باشید که در این برنامه ما بر فرض مثال به پسورد رمزنگاری شده و همینطور پسورد اصلی دسترسی داشتیم، اگر یک هکر بخواهد پسورد را به دست آورد، بایستی یک پسورد لیست خیلی قوی بسازد تا قادر باشد پسوردهای سخت و پیچیده را رمزگشایی کند.
در حال حاضر پایتون بیشترین طرفدار را در بین زبانهای برنامه نویسی برای هک و مسائل امنیتی دارد، هک کردن به کمک پایتون نسبت به دیگر زبانهای برنامه نویسی آسانتر است زیرا پایتون دارای فایلهای کتابخانهای آمادهای است که به برنامه نویس کمک میکند تا از نوشتن دستورات اضافی خودداری کند!
اگر مطلب آموزش هک با پایتون برایتان مفید بود و علاقهمند به یادگیری زبان برنامه نویسی پایتون شدید، پیشنهاد میکنیم از مجموعه آموزشهای پایتون فرادرس استفاده نمایید. این آموزشها را میتوانید از طریق کلیک بر روی لینک زیر مشاهده کرده و در صورت نیاز اقدام به دریافت آن نمایید.
سخن آخر درمورد آموزش هک با پایتون
همانطور که در ابتدای مطلب اشاره کردیم، هک با پایتون مبحث بسیار گستردهای است که آموزش آن تنها در یک پست نمیگنجد. علاوه بر آن، برای آموزش دادن چنین محتواهایی طبیعتاً با محدودیت روبرو هستیم، پس امیدواریم که در مورد این موضوع ما را درک کرده باشید. امیدواریم که این مطلب برای شما مفید واقع شده باشد.
22 پاسخ
سلام اگر یه نرم افزار با pyqt بسازیم بخوایم لایسنس قرار بدیم از چه روشی میشه استفاده کرد که قابل کرک نباشه و کسی هم به کدهای نرمافزار دسترسی پیدا نکنه ؟ممنون میشم راهنمایی کنید
سلام خسته نباشید
اگه مکقعی که پسورد اکانت اینستاگرام رو پیدا کردیم یا اصلا از قبل داشته باشیمش چجوری وارد اکانتش بشیم
مثل الان که من پسورد اکانت هدف رو دارم ولی نمیتونم واردش بشم…
ممنون میشم راهنمایی رفدمایید و به ایمیل بنده راهنماییتون رو ارسال بفرمایید
ممنون از لطف بزرگواران
ایابش میشود اکانت سروش وروبیکارو هک کرد بدون اینکه طرف مقابل خبر دار بشه کار شما بوده
سلام میشه یهونفر به من کمک کنه جبران میکنم
۰۹۱۹۲۰۱۱۲۰۲
زندگی من از بلاتکلیفی درمیاد
کسی میتونه برامن یه هگ انجام بده
۰۹۱۹۲۰۱۱۲۰۲
سلام این سورس کد رو به صورت py ذخیره میکنیم و با فایل پسورد لیست با پسوند txt تو یه پوشه میزاریم بعد چطور اجراش کنیم؟
سلام وقت بخیر ، جالب بود ممنونم از شما
خوب با این که نمیشه هک کرد!
چون نه شما گفتید هش پسورد وای فای رو چجوری باید پیدا کنیم، نه توی هیچ سایت دیگه ای!
سعی کن وقت مردم رو نگیری یا کامل توضیح بدی.
اگه راهی برای پیدا کردن هش پسورد وای فای های نزدیک سیستممون هست لطف کن بگو.ممنون(شاید ممنون)!؟!؟
چه پسری، اگه میخوای بگو آموزش هک شرکت ایرانسل رو برات بسازن که دیگه زحمت نکشی هی وای فای هک کنی، ها؟
سلام
مدتی هست به خانمم مشکوک شدم و برای تلگرامش هم پسورد گذاشته میخواستم ببینم میتونم ازتون کمک بگیرم برای هک کردنش؟
ایراد میگیره به دستور بریک!!!!!!!!!!!!!!!!!!!!!!!۱ میگه خارج لوپه
جون مادرتون یه کد درست بنویسین هرچی کد توی سایتای ایرانی هست وقتی مینویسی صدتا ایراد نوشتاری میگیره
دوست عزیز سورس کد کامل در انتهای مطلب قرار دارد و بدون ارور اجرا میشود. میتوانید دانلود و استفاده نمایید.
هعی من چیکار کنم میخخوام فراترر از این هک یاد بگیرم امکاناتم هست ولی هیچ اموزشی بدرد بخور نیست
واقعا همینطور هستش
در قسمت enter the hashed password چی باید وارد کنیم
در این بخش پسورد هش شده که قابل خواندن توسط انسان نیست وارد میکنید، چنانچه این مقدار در پسورد لیست موجود باشد پسورد واقعی و قابل خواندن را برای شما نمایش خواهد داد.
الان چجوری از این کد استفاده کنم ؟
یک پسورد لیست می سازید و پسورد هش شده را به برنامه می دهید، چنانچه پسورد در لیست باشد رمزگشایی کرده و نمایش می دهد.
دانلود سورس کد کامل
حالا چجوری هش یک پسوورد نا معلوم رو بدست بیاریم؟
برای این کار هم توابع مختلفی وجود دارند که میتونید به برنامه پسورد بدید و هش شده آن را دریافت کنید
سلام و ممنون بابت این مقاله. میشه با پایتون برنامه ای نوشت که اتصال دستگاه های غیر موبایل به مودم رو تشخیص داد؟
یه عده میان میگن بیا هک یادت بدم میخونی میبینی همش چرت و پرت 😂
ولی این با اینکه هک حسابی نبود ولی خوب بود تنکیو
خواهش میکنم، ممنون که خوندید