فناوری 5G
می 6, 2017
آینده مصرف‌کنندگان دیجیتال در ایران
می 8, 2017

آموزش هک بمنظور مقابله با هک


در روز­گار خوش قدیم، از هک کردن برای درز دادن اطلاعات درباره‌­ی دستگاه‌ها و در­ کل فناوری اطلاعات استفاده می­شد. در سال­های اخیر به­ لطف بعضی اشخاص تبه­کار، هک کردن جنبه‌­ی تاریکی پیداکرده است. از طرفی دیگر شرکت­‌های زیادی هکر­ها را برای به امتحان گذاشتن نقاط ضعف و قوت خود استخدام می­کنند. این هکر­ها می­دانند کی دست نگه‌دارند و اعتماد مثبتی که ایجاد می­کنند برایشان درآمد زیادی به همراه دارد!

اگر برای شیرجه زدن به این هنر و آموختن آن آماده هستید، این مقاله چند راهکار در اختیار شما می­گذارد و به شما کمک می­کند تا شروع کنید.

 

بخش 1 قبل از اینکه هک کنید

1 یک زبان برنامه‌نویسی یاد بگیرید.

 

شما نباید خود را به زبان خاصی محدود کنید، اما اینجا راهنمایی‌ها وجود دارد.

  • C زبانی است که یونیکس با آن ساخته شد. این زبان(به همراه اسمبلی) چیزی را یاد می­دهد که در هک کردن خیلی مهم است؛ یعنی چگونگی کارکرد حافظه.
  • پایتون(Python) و روبی(Ruby) زبان­های قوی و سطح بالایی که می­توان از آن­ها برای خودکار کردن وظایف مختلف استفاده کرد.
  • پرل(Perl) انتخابی منطقی در این زمینه است، درحالی‌که پی اچ پی (PHP) ارزش یادگرفتن را دارد چون‌که بیشتر اپلیکیشن­های تحت وب از پی اچ پی استفاده می­کنند
  • بش(Bash) یک باید است. از این زبان می­توان در آلوده کردن دستور­های دستگاه‌های یونیکس/لینوکس استفاده کرد.

یادگرفتن زبان اسمبلی(Assembly) واجب است. این زبان پایه‌­­ای است که پردازشگر شما آن را درک می­کند، و حالت­های مختلفی از آن وجود دارد. شما نمی­توانید واقعاً یک برنامه را دست‌کاری کنید اگر اسمبلی ندانید.

2 هدف خود را بشناسید

فرایند جمع‌­آوری اطلاعات درباره‌­ی هدف به نام سرشماری(enumeration) شناخته می­شود.

 

بخش 2: هک کردن

1 از یک ترمینال *nix برای فرمان­ها استفاده کنید.

Cygwin به تقلید یک *nix برای کاربران ویندوز کمک می­کند. Nmap به‌طور خاص از WinPCap برای اجرا روی ویندوز استفاده می­کند و به Cygwin نیازی ندارد. Nmap به علت کمبود سوکت های خام روی دستگاه‌های ویندوز به‌خوبی کار نمی‌کند. شما باید به استفاده از لینوکس یا بی اس دی (BSD) فکر کنید که هر دو انعطاف‌پذیرتر هستند. بیشتر نسخه‌­های لینوکس ابزارهای مفید زیادی که از قبل نصب‌شده‌اند به همراه دارند.

2 ابتدا ماشین خود را امن  کنید

مطمئن شوید که کاملاً راهکارهای معمول برای محافظت از خود را یادگرفته‌­اید. با اصول پایه شروع کنید—اما حواستان باشد اجازه(Authorization)­ حمله به هدف خود را داشته باشید: اگر به شبکه‌­ی خودتان حمله می‌کنید یک مجوز مکتوب درخواست کنید یا آزمایشگاه خود را با ماشین‌های مجازی بسازید. حمله کردن به یک سیستم فارغ از محتوای آن غیرقانونی است و شما به دردسر خواهید افتاد.

3 هدف را امتحان کنید

آیا می‌توانید به سیستم ریموت دست بیابید؟

درحالی‌که که می‌توانید از ابزار کاربردی ping(که در اکثر سیستم­های عامل وجود دارد) استفاده کنید تا ببینید که هدف فعال است، نمی‌توانید همیشه به نتایج اعتماد کنید—این به پروتکل ICMP بستگی دارد که به‌راحتی می‌تواند توسط ادمین های پارانوید سیستم بسته شود.

4 سیستم‌عامل را تشخیص دهید

یک اسکن از پورت‌ها را اجرا کنید، می­توانید pOf یا nmap را امتحان کنید. این به شما پورت‌های باز بر روی ماشین و سیستم‌عامل را نشان می‌دهد و حتی می‌گوید که آن‌ها از چه نوع فایروال Firewall)) یا روتر(router) استفاده می‌کنند تا روشی را اتخاذ کنید. شما با سوییچ –O می‌توانید در nmap تشخیص سیستم‌عامل را فعال کنید.

5 یک راه یا پورت باز در سیستم پیدا کنید

پورت‌های معمولی مثل FTP 21 و HTTP 80 اغلب به‌خوبی محافظت‌شده‌اند و احتمالاً تنها در مقابل روش‌هایی آسیب‌پذیر باشند که هنوز شناخته‌شده نیستند.

پورت‌های TCP و UDP دیگر را امتحان کنید که ممکن است فراموش‌شده باشند، مثل Telnet و پورت‌های مختلف UDP که برای LAN بازی کردن باز نگه‌داشته شده‌اند.

یک پورت باز 22 معمولاً مدرکی از اجرای یک سرویسSSH (پوسته­ی محافظت‌شده) در هدف است که گاهی می‌تواند به‌زور (Brute force) بر آن غالب شد.

6 رمز یا فرایند صدور جواز را بشکنید.

روش‌های متعددی برای شکستن یک رمز وجود دارد، شامل استفاده از زور (Brute force). استفاده از زور روی یک رمز تلاشی است برای امتحان هر رمز ممکن از یک دیکشنری از پیش تعیین‌شده‌ی نرم‌افزار Brute force

به کاربران اغلب توصیه می‌شود که از رمزهای ضعیف استفاده نکنند، برای همین استفاده از زور ممکن است خیلی طول بکشد. درهرحال بهسازی‌های بزرگی در تکنیک‌های استفاده از زور صورت گرفته است.

بیشتر الگوریتم‌های هشینگ (Hashing algorithms) ضعیف هستند و می‌توانید با فعالیت روی این ضعف‌ها سرعت شکستن رمز را به طرز چشمگیری افزایش دهید. (مثلاً می‌توانید الگوریتم MD5 را به یک‌چهارم کاهش دهید که باعث افزایش سرعت زیادی می‌شود)

تکنیک‌های جدیدتر از کارت گرافیک به‌عنوان پردازشگر دیگر استفاده می‌کنند که هزاران بار سرعت را افزایش می‌دهد

می‌توانید Rainbow Tables را برای شکست سریع رمز امتحان کنید. به خاطر داشته باشید که شکستن رمز تنها زمانی تکنیک خوبی است که هش(Hash) رمز را داشته باشید.

امتحان کردن هر رمز ممکن هنگام ورود به ماشین ایده‌­ی خوبی نیست، چون به‌راحتی توسط دستگاه‌های شناسایی ورود بی‌اجازه شناسایی می‌شود و لاگ های (logs) سیستم را آلوده می‌کند و ممکن است سال‌ها طول بکشد تا کامل شود.

شما همچنین می‌توانید یک تبلت روت شده بخرید، یک اسکن TCP نصب کنید و سیگنالی به سایت Secure شده آپلود کنید. پس‌ازآن آدرس آی پی باز می‌شود و باعث می‌شود رمز بر روی پروکسی شما ظاهر شود.

بیشتر اوقات یافتن راه دیگری برای ورود به یک سیستم از شکستن رمز خیلی آسان‌تر است.

7  امتیازهای سوپر کاربر(super-user privileges) به دست بیاورید

اگر یک ماشین *nix را هدف قرار می‌دهید تلاش کنید امتیاز روت (root privileges)به دست آورید یا اگر هدفتان دستگاه‌های ویندوزی است امتیاز ادمین به دست بیاورید.

بیشتر اطلاعات حیاتی محافظت‌شده هستند و شما به سطح خاصی از تصدیق(authentication) برای دسترسی به آن نیاز دارید. برای دیدن تمام فایل‌های روی یک کامپیوتر شما نیاز به امتیاز سوپر کاربر دارید—یک حساب کاربری که امتیازاتی مثل کاربر روت در سیستم‌عامل‌های لینوکس و بی اس دی دارد.ربرای روتر ها در حالت پیش‌فرض این حساب ادمین است(مگر اینکه عوض شده باشد)، برای ویندوز حساب ادمینیستریتور است.

دسترسی یافتن به یک اتصال به این معنی نیست که می‌توانید به همه‌چیز دسترسی پیدا کنید. فقط یک سوپر کاربر، حساب ادمینیستریتور و حساب روت می‌تواند این کار را بکند.

8 از حقه‌های مختلف استفاده کنید

اغلب برای به دست آوردن وضعیت سوپر کاربر شما باید از تاکتیک‌هایی مثل ساختن یک buffer overflow استفاده کنید که باعث می‌شود اطلاعات حافظه منتقل شود و این به شما اجازه می ده تا فراتر از حدی که معمولاً مجاز هستید، یک کد را تزریق کنید یا یک وظیفه را اجرا کنید.

این در دستگاه‌هایی شبیه به یونیکس اتفاق می‌افتد به‌شرط اینکه نرم‌افزار واردشده دارای ترتیب بیت ستویید(setuid bit set) باشد تا برنامه از طرف کاربر دیگری اجرا شود(مثلاً سوپر کاربر)

تنها با نوشتن یا یافتن یک برنامه­‌ی ناامن (insecure) که بتوانید روی ماشین هدف اجرا کنید می‌توانید این کار را بکنید.

9 یک درب پشتی بسازید

وقتی‌که کنترل کامل یک ماشین را به دست آوردید، فکر خوبی است که مطمئن شوید می‌توانید بعداً برگردید. این کار می‌تواند توسط بک دور کردن (backdooring) یک سرویس مهم سیستم مثل سرور SSH انجام شود. بااین‌حال درب پشتی شما ممکن است در ارتقای بعدی سیستم از بین برود. یک هکر واقعاً باتجربه خود کامپایلر را بک دور می‌کند تا هر نرم‌افزاری که کامپایل می‌شود بتوانید یک راه بازگشت بالقوه باشد.

10 رد پای خود را بپوشانید

به ادمینیستریتور اجازه ندهید بفهمد که سیستم غافلگیر شده است. در صورت وجود وب‌سایت آن را عوض نکنید و فایل‌های بیشتر از آنچه نیاز دارید نسازید. کاربرهای اضافی درست نکنید. تا جای ممکن سریع عمل کنید. اگر به سروری مثل SSHD وصل شدید مطمئن شوید رمز محرمانه­‌ی شما به‌سختی کد شده است. اگر کسی تلاش کند با این رمز وارد شود سرور به آن‌ها اجازه­‌ ورود می‌دهد اما نباید به اطلاعات مهم دسترسی پیدا کند.

راهنمایی‌ها

  • اگر متخصص یا هکر حرفه‌­ای نیستید، استفاده از این تاکتیک‌ها روی یک کامپیوتر شرکتی یا دولتی دنبال شر گشتن است. حواستان باشد کسانی که برای امرارمعاش از این دستگاه‌ها محافظت می‌کنند از شما داناتر هستند. وقتی‌که متوجه متجاوزین می‌شوند، گاهی به آن‌ها اجازه می‌دهند تا ابتدا به‌خوبی خود را به جرم آلوده کنند و سپس علیه آن‌ها اقدام قانونی می‌کنند. این به این معنی است که ممکن است فکر کنید پس از هک کردن دستگاهی دسترسی کامل به آن دارید، درحالی‌که در حقیقت شما نظارت می‌شوید و هرلحظه ممکن است متوقف شوید.
  • هکرها کسانی هستند که اینترنت و لینوکس را ساخته­‌اند و روی نرم‌افزارهای منبع باز کار می‌کنند. توصیه می‌شود که به هک کردن با احترام نگاه کنید چون نیازمند اطلاعات حرفه‌­ای زیادی است تا بتوان کاری جدی در محیط واقعی انجام داد.
  • به خاطر داشته باشید که اگر هدف شما تمام توان خود را برای مبارزه با شما به کار نگیرد، شما هیچ‌وقت ماهر نمی‌شوید. البته مغرور هم نشوید؛ هیچ‌وقت به خود به چشم بهترین نگاه نکنید.
  • این را هدف خود قرار دهید : شما باید بهتر و بهتر شوید. هرروزی که چیز جدیدی نیاموختید، آن روز تلف‌شده است. شما همه‌چیز هستید، به هر قیمتی بهترین شوید. حد میانی وجود ندارد. باید تمام توان خود را به کار بگیرید. همان‌طور که یودا می‌گوید:”انجام بده یا نده، امتحان کردنی وجود ندارد.”
  • باوجوداینکه خیلی خوب است که زمین‌های تمرینی قانونی زیادی برای همه وجود دارد، حقیقت تلخ این است که شما بدون انجام دادن کار غیرقانونی هیچ‌وقت حرفه‌ای نمی‌شوید. در ذهن داشته باشید که اگر مشکلات واقعی را بر روی دستگاه‌های واقعی با ریسک گرفتار شدن پیدا نکنید نمی‌توانید کسی شوید.
  • به خاطر بسپارید هک کردن به معنی ورود به کامپیوترها، به دست آوردن یک کار خوب، فروختن دستاوردهایتان در بازار سیاه یا کمک کردن به کسی برای غافلگیر کردن ماشین‌ها نیست. شما برای کمک به ادمین برای انجام دادن کارهایش اینجا نیستید، شما اینجا هستید تا بهترین باشید.
  • درباره­ی شبکه­ی TCP/IP کتاب بخوانید.
  • تفاوت زیادی بین هکر و کرکر (cracker) وجود دارد. یک کرکر طمع پول دارد، درحالی­که هکرها تلاش می‌کنند اطلاعات استخراج کنند و از طریق کاوش دانش به دست بیاورند –گذشتن از حدود امنیتی به هر قیمتی که ممکن است می­تواند همیشه قانونی نباشد.
  • ابتدا با هک کردن کامپیوتر خود تمرین کنید

هشدارها

  • سوءاستفاده از این اطلاعات می‌تواند یک جرم باشد. هدف این مقاله دادن اطلاعاتی است که در راه‌های اخلاقی و نه غیرقانونی مورداستفاده قرار بگیرد
  • اگر از توانایی‌های خود مطمئن نیستید، از هک کردن شبکه‌های شرکتی، دولتی و نظامی بپرهیزید. حتی اگر آن‌ها امنیت ضعیفی داشته باشند می‌توانند پول زیادی برای ردیابی و دستگیری شما خرج کنند. اگر سوراخی در این شبکه‌ها یافتید، بهتر است آن را به هکر باتجربه‌تری که به او اعتماد دارید و می‌تواند از این دستگاه‌ها استفاده‌­ی خوبی بکند بسپارید.
  • هک کردن سیستم شخص دیگری می‌تواند غیرقانونی باشد پس این کار را نکنید مگر اینکه مطمئن هستید از صاحب دستگاهی که می‌خواهید هک کنید مجوز دارید یا مطمئن هستید که ارزش این را دارد و گیر نمی‌افتید.
  • هیچ‌وقت محض تفریح کاری نکنید. یادتان باشد هک کردن یک شبکه بازی نیست، بلکه قدرتی برای تغییر جهان است. آن را برای کارهای کودکانه تلف نکنید.
  • اگر فکر می‌کنید شکاف خیلی ساده یا اشتباه فاحشی در مدیریت امنیتی پیدا کردید به‌شدت مواظب باشید. یک متخصص امنیت که از آن سیستم محافظت می‌کند ممکن است بخواهد شما را گول بزند یا برایتان دام پهن کند.
  • باوجوداینکه ممکن است خلافش را شنیده باشید ولی به هیچ‌کس برای پچ کردن برنامه‌ها یا دستگاه‌هایشان کمک نکنید. این اشتباه بزرگی است که منجر به رانده شدن از بیشتر اجتماعات هکرها می‌شود و اگر شما کارهای خصوصی که کسی یافته است را منتشر کنید، آن شخص ممکن است دشمن شما شود و این شخص احتمالاً بهتر از شماست.
  • مراقب باشید که چه چیزی را هک می‌کنید. شما هیچ‌وقت نمی‌دانید که آیا به دولت ربطی دارد یا نه.
  • تمام فایل‌های لاگ را پاک نکنید، به‌جایش فقط ورودهای مجرمانه را حذف کنید. سؤال دیگر این است یا یک فایل لاگ پشتیبان وجود دارد؟ اگر آن‌ها فقط دنبال تفاوت‌ها بگردند و دقیقاً آنچه که حذف کرده‌­اید را بیابند چه؟ همیشه به کارهایتان فکر کنید. بهترین کار پاک کردن خط‌هایی تصادفی از لاگ همراه خط‌های مربوط به خودتان است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.