هکر در ابتدا به معنای متخصص خلاق و توانمندی بود که از راه کارهای خلاقانه برای حل مساله استفاده می‌کرد. ولی امروزه از این لفظ در جای نادرست و به منظور توصیف خرابکاران اینترنتی استفاده می‌شود.

در این مطلب قصد داریم در 12 مرحله به شما بگوییم چگونه یک متخصص امنیتی و یا یک هکر شوید.

مرحله اول: زبان‌های برنامه نویسی مهم را بیاموزید

برنامه نویسی و هک

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

البته برنامه نویسی راه انجام یک تست نفوذ را آسان تر می‌کند، اگر یک هکر به سورس کد یک برنامه دسترسی پیدا کند می‌تواند با بررسی‌های خود به راه‌های نفوذ در آن برنامه دست پیدا کند.

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

لیستی از زبان‌های مفید و مورد نیاز برای یک متخصص امنیت:

زبان C: شاید هیچ زبانی به اندازه C مهم و کلیدی نباشد. سیستم‌های عامل را با زبان C می‌نویسند و متخصصین علاقه بسیاری به این زبان دارند. وقتی با این زبان آشنا شوید می‌توانید به ساختار و علمکرد سیستم عاملی مانند Linux پی ببرید.

زبان Python: زبان Python قدرتمند و ساده و خیلی سریع می‌توانید آن را فرا بگیرید. بسیاری از متخصصان امنیت از این زبان برای انجام فرایند‌های تکراری نفوذ استفاده می‌کنند، بنابراین اگر این زبان را فرا بگیرید می‌توانید به سادگی exploit‌ها را بخوانید و برای خود exploit‌های کاربردی بنویسید.

زبان برنامه نویسی PHP: زبان برنامه نویسی PHP قلب تبنده اکثر سایت‌های اینترنتی است و فراگیری آن به شما در انجام حجم وسیعی از فعالیت‌ها کمک ارزشمندی می‌کند.

زبان اسمبلی: زبان اسمبلی از آن جهت مفید است که سطح پایین ترین زبانی است که پردازنده شما قادر به فهم آن می‌باشد. اگر با این زبان آشنا نباشید از exploit‌های زیادی محروم خواهید بود.

زبان SQL: زبان SQL یک زبان برای ارتباط نرم افزار با پایگاه داده‌های رابطه‌ای تحت SQL است. حجم قابل توجه سایت‌هایی که در اینترنت هک می‌شوند بدلیل داشتن اشکالات در SQL خود آسیب پذیرند. با یاد گرفتن این زبان و آموختن تکنیک‌های SQL Injection می‌توانید به میزان قابل توجهی قابلیت‌های نفوذگری خود را افزایش دهید.

مرحله دوم: لینوکس را بشناسید و آن را فرا بگیرید

شناسایی سیستم عامل لینوکس

شاید بارها این را شنیده باشید که نسخه‌هایی از لینوکس واقعا به منظور هک و تست نفوذ پدید آمده اند. کالی لینوکس یکی از این نسخه‌های قدرتمند است که تقریبا هر ابزاری را برای انجام عملیات نفوذ در اختیار دارد.

وقتی از لینوکس استفاده می‌کنید می‌توانید به حجم وسیعی از ابزارهای قدرتمند برای انجام نفوذ دسترسی داشته باشید.

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

اگر در bash Scripting خوب باشید می‌توانید فرایند‌های تکراری را به سیستم عامل بسپارید. bash Scripting دانشی است که در آن با نوشتن فایل‌های ساده می‌توانید کنترل سیستم عامل را در اختیار بگیرید.

مرحله سوم: یاد گیری مفاهیم شبکه

یادگیری مفاهیم شبکه

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

یادگیری شبکه نیاز به یادگیری اصطلاحات و استانداردهای موجود و توانایی در پیاده سازی شبکه‌های مختلف است.

گاهی به یک شبکه نفوذی صورت می‌پذیرد ولی برای گسترش دسترسی‌ها و نفوذ به دیگر سیستم‌ها نیاز است که به مفاهیم شبکه مسلط باشید.

برای یادگیری شبکه می‌توانید کار خود را با دوره‌ها و کتاب‌های network+ شروع کنید.

مرحله چهارم: انتخاب هدف و جمع آوری اطلاعات

انتخاب هدف و جمع آوری اطلاعات

باید هدف خود را به درستی انتخاب کنید، همیشه توجه داشته باشید هر چقدر که حرفه‌ای باشید متخصصان پلیس و مقامات امنیتی کشور به دلیل دانش بالا و دسترسی‌های سطح بالا در شبکه اگر بخواهند به سادگی می‌توانند شما را دستگیر کنند.

در انتخاب هدف‌های خود دقیق باشید و هیچ وقت عملی خلاف قانون انجام ندهید، همیشه امن ترین سرویس‌ها حتی سرویس‌های مخفی و به ظاهر غیر قابل نفوذ، نفوذ پذیر شده اند و خلاف کاران را لو داده اند.

می توانید خود را هک کنید! به این معنا که یک سرور مجازی برای خود ایجاد کنید و سعی کنید به آن نفوذ کنید.

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

وقتی هدف خود را با توجه به نکات گفته شده در بالا انتخاب کردید، باید عملیات جمع آوری اطلاعات را شروع کنید، در این مرحله هر اطلاعاتی مفید است از جمله:

  • موقعیت مکانی و زمانی هدف
  • زبان رسمی مورد استفاده توسط متخصص پیاده کننده سرویس
  • سیستم عامل و سرویس‌هایی که روی سیستم عامل پیاده شده است
  • سعی در تشخیص فایروال و تمهیدات امنیتی سیستم
  • تکنولوژی‌های مورد استفاده
  • بررسی مشکلات امنیتی موجود در سیستم با استفاده از ابزارهای مختلف
  • بررسی مسائل مرتبط با شبکه از جمله تعداد IP و پورت‌های باز موجود در سیستم

نکته 1: در تمام مراحل تست نفوذ امنیت خود را در بالاترین سطح حفظ کنید. گاهی در انجام عملیات تست و بررسی توسط مدیر سیستم شناسایی می‌شوید و مدیر سیستم اقدام به هک و سرقت اطلاعات شما می‌کند.

نکته 2: قبل از انجام هر فعالیتی خوب فکر کنید، ممکن است وقتی بسته‌های بسیاری را به سمت سیستم هدف ارسال کنید سرور نیت شما را کشف کرده و شما را بلاک کند. ممکن است شما یک آسیب پذیری را کشف کنید ولی با انجام اعمال مشکوکی لو رفته و مدیر سیستم آن نقص و آسیب پذیری را یافته و بر طرف کند.

مرحله پنجم: تلاش برای شکستن رمز ها

شکستن رمز ها

تقریبا برای ورود به هر سیستم تحت وب و یا سیستم تحت شبکه ای باید رمز عبور آن را دانست، دانستن رمز عبور یعنی وارد شدن به سیستم تحت وب و بواسطه ورود به سیستم تحت وب، ورود به سیستم عامل سرور.

البته در بسیاری از حالت با نفوذ پذیری SQL Injection می‌توانید یک Hash از کلمه عبور را بیابید که با کمک تکنیک‌های گفته شده در پست کرک کردن عبارات هش شده به پسورد ورود دست پیدا کنید.

البته راهکارهای دیگری نظیر burtforce وجود دارند که با آن‌ها می‌توانید حجم وسیعی از کلمه‌های عبور را بر روی فرم ورود تست کرده و به کلمه عبور صحیح دسترسی پیدا کنید.

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

نکته: یکی از راه کارهای شکستن عبارات هش شده استفاده از جداول رنگین کمانی هستند.

مرحله ششم: تلاش برای افزایش سطح دسترسی در سرور و شبکه

شبکه

گاهی مجبور می‌شوید یک سایت کوچک را هک کنید تا با گرفتن دسترسی روی آن سایت کوچک بتوانید سرور اصلی را هک نمایید.

در برخی حالات سعی می‌کنید وارد یک شبکه WIFI شوید و از آن شبکه Wifi کنترل دستگاه‌ها و سیستم‌های موجود در آن شبکه را به دست بگیرید.

به همین دلیل همیشه به خاطر داشته باشید که ورود به یک سیستم تازه شروع کار است و بعد از آن باید به دنبال افزایش دسترسی برای رسیدن به هدف خود باشید.

در فرایند نفوذ گاهی یک باگ در نرم افزارهای موجود در سیستم عاملی برای buffer overflow می‌شود که پس از آن می‌توانید کدهای خود را به سیستم تزریق کنید.

وقتی بتوانید به سیستم دسترسی پیدا کنید باید تا جایی که می‌توانید در مورد نرم افزارهای نصب شده روی سیستم اطلاعات کسب کنید تا با یافتن نرم افزارهای مشکل دار به سیستم نفوذ کنید.

مرحله هفتم: ساخت در پشتی و یا BackDoor برای حفظ دسترسی

ساخت در پشتی در سیستم‌های هک شده

گاهی ممکن است بتوانید با یافتن کلمه عبور وارد آن سیستم شوید، ولی پس از چند روز دوباره پسورد عوض شده و دیگر نتوانید به آن سیستم وارد شوید.

بنابراین پس از هر نفوذی باید سعی کنید یک در پشتی و یا BackDoor در سیستم ایجاد کنید.

درهای پشتی بسته به نوع سیستمی که به آن نفوذ کردید می‌توانند پیچیده و یا ساده باشند. اکیدا درهای پشتی باید به گونه‌ای اضافه شوند که مدیر سیستم نتواند به ماهیت و نفوذ شما پی ببرد.

مرحله هشتم: سعی در مخفی ماندن

پاک کردن رد پاها در نفوذ

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

حذف رد پا تشخیص نفوذ شما را توسط مدیر سیستم سخت یا غیر ممکن می‌کند.

تگ ها: linux / لینوکسرمز نگاریکالی لینوکستست نفوذSQL Injectionهک