هک چیست؟
هک به معنی رخنهکردن و دزدی اطلاعات یا تغییر آنها می باشد. هک کاربردهای زیادی دارد. فرآیند هک میتواند بسیار پیچپده و برای افراد غیرمتخصص غیرقابل درک باشد. معمولاً هک با هدف و مقصود خاصی صورت میگیرد؛
آمارها نشان میدهد هک بیشتر برای جنبههای مالی استفاده میشود.
هکر کیست؟
هکر به کسی اطلاق میشود که توانایی هک و رخنهکردن را داشته باشد. معمولاً این افراد دارای ضریب هوشی بالا، سرعت عمل فوقالعاده و آگاه هستند. کار هکرها هم میتواند گروهی باشد و هم فردی؛ که معمولاً هکرهای گروهی دارای قدرت و توان بالاتری میباشند. هکرها همگی مخرب و سارق و وحشتناک نیستند، معمولاً هکرها براساس فعالیت و اطلاعاتشان به گروههایی که بیشتر به رنگ کلاهشان شناخته میشوند تقسیم میشوند.
هکر کلاه سفید
هکرهای کلاه سفید، به رخنهگرهایی گفته میشود که که با داشتن اطلاعات کافی در زمینۀ امنیت و تست نفوذ، کارهای مفیدی انجام میدهند؛ بهعبارت دیگر این نوع رخنهگرها، با داشتن توانایی هککردن یک سامانه، نواقص آن را پیدا کرده و مانع از ورود رخنهگرهای کلاه سیاه میشوند. این نوع رخنهگرها، نقش آنتیویروس را دارند و کار اصلی آنها جلوگیری از خرابی است.
هکرهای کلاه سیاه
رخنهگرهای کلاه سیاه، به رخنهگرهای مخرب و مضر اطلاق می گردد که در جهت سود خود، یک سامانه را مورد حمله قرار میدهند. این رخنهگرها قصد خرابکاری و صدمهزدن به اطلاعات را دارند و اگر بخواهیم از صدمات آنها جلوگیری شود، باید از آخرین نگارش رخنهگران کلاه سفید استفاده گردد. رخنهگران کلاه سفید در آنتیویروسها هستند)
. هکرهای کلاه خاکستری
هدف این هکرها بیشتر تفریح است. نام دیگر این گروه، واکر است. هدف این هکرها دزدی اطلاعات دیگر رایانهها می باشد و صدمهای به خود کامپیوترهای مقصد وارد نمیکنند. تفاوت این نوع هکرها با هکرهای کلاه سیاه در این است که هکرهای کلاه خاکستری تنها با هدف سرقت اطلاعات با ارزش به شبکهها نفوذ میکنند. سطح علمی این هکرها نسبت به هکرهای کلاه سفید به مراتب کمتر است و این گروه از هکرها از گروه هکرهای کلاه سیاه به مراتب کمخطرتر می باشند، زیرا به سیستم قربانی آسیب چندانی وارد نمیکنند. این گروه، اطلاعات را برای خود سرقت میکنند و آن را انتشار عمومی میدهند؛ شاید بهدلیل تفریح و گوشزدکردن نقص فنی و یا شاید بهدلیل تفریح یا اینکه مردم را راجع به موضوعی آگاه سازند.
هکرهای کلاه صورتی
آنان آن دسته از کسانی هستند بهصورت غیر حرفهای، بیشتر بدون هدف خاص یا دانش برنامهنویسی و عموماً با برنامههای مربوطه که خریداری نموده اند، دست به هک (کرک کردن یا رمزگشایی یا رخنهگری) میزنند.
هکرهای کلاه قرمز
اینان از دسته ی برنامهنویسان قدرتمند می باشند که با استفاده از دانش و هنر برنامهنویسی، برنامههایی را در زمینه ی هک نوشته و بهینهسازی مینمایند ولی این گروه به دو دسته تقسیم میشوند که یک دسته از آنها برنامهنویسان نخبه و حرفهای هستند و گروه دیگر که به آنها بچهاسکریپتی میگویند.
هکرهای اسکریپتی
به افرادی اطلاق میشود که اسکریپتها و برنامههایی را از اینترنت دانلود و اجرا میکنند. این نوع از هکرها با اینکه از دانش هک چیزی نمیدانند، ولی میتوانند آسیبهای خیلی شدیدی را به سامانههای امنیتی وارد کنند.
کراکر
در کشور ما معمولا قوانین مربوط به حق کپی رایت، رعایت نمیشود، بسیاری از ما با واژه کرک (Crack) آشنا هستیم. در حقیقت کراکر ها نوعی از هکرهای کلاه سیاه هستند که هدفشان صرفا دستکاری برنامه هایی است که برای استفاده از آن ها نیاز به پرداخت وجه می باشد. این افراد برنامه های پولی را دستکاری کرده و کاری می کنند که بتوان از این برنامه ها به رایگان استفاده نمود.
آموزش هک حرفه ای
هک برای بسیاری مفهوم خرابکاری و یا سرقت اینترنتی را دارد، اما در واقعیت آموزش هک کاربردهای بسیار بیشتری دارد. اگر یک فرد خود هکر نباشد و از راههای نفوذ خرابکاران به سیستمهای الکترونیکی مطلع نباشد، چطور میتواند از دسترسی دیگران به سرویسهایش جلوگیری نماید؟
از طرفی یادگیری آموزش هک حرفه ای نیازمند آموختن مباحثی گوناگون می باشد، به طوری که میبایست هم در زمینه برنامه نویسی و هم در زمینه شبکه، مهارت خاصی داشته باشید.
هم اکنون برای آموزش هک حرفه ای ، ۸ مرحله ی لازم جهت تبدیل شدن به یک متخصص امنیت و یا یک هکر را شرح می دهیم:
مرحله اول: یادگیری زبانهای برنامه نویسی
هکرها علاقه زیادی به برنامه نویسی دارند. برای تبدیل شدن به یک هکر حرفه ای، حتما باید به برنامه نویسی علاقمند باشید و زبان های مختلف آن را شناخته و با آنها کار کنید.
برای یادگیری زبانهای برنامه نویسی بهتر است ابتدا یک زبان را به خوبی یاد بگیرید و سپس زبان های دیگر را به ترتیب فرا بگیرید. با یادگیری یکی از زبان های برنامه نویسی به طور کامل، یادگیری زبان های دیگر بسیار برای شما راحت خواهد شد. در اینجا لیستی از زبان های موردنیاز برای یک هکر را آورده ایم .
زبان برنامه نویسی C : این زبان یکی از مهم ترین زبان های برنامه نویسی می باشد که تقریبا هرکسی که در زمینه امنیت فعالیت دارد با این زبان نیز آشنایی دارد. سیستم عامل های مختلف را با زبان C می نویسند و به همین دلیل هم شما با یادگیری این زبان به راحتی می توانید به قسمت های مختلف یک سیستم عامل دسترسی پیدا کنید. با یادگیری زبان C شما پایه برنامه نویسی را فرا می گیرید و از آن پس یادگیری دیگر زبان ها برای شما بسیار راحت خواهد بود.
زبان برنامه نویسی پایتون- Python می توان گفت یادگیری این زبان از سایر زبان ها راحت تر و ساده تر است. بسیاری از متخصصین امنیت برای انجام فرآیند های تکراری نفوذ از زبان برنامه نویسی پایتون استفاده می کنند. اگر این زبان را فرا بگیرید میتوانید به سادگی exploitها را بخوانید و برای خود exploitهای کاربردی بنویسید.
زبان برنامه نویسی : PHP از این زبان برای نوشتن قالب سایت های اینترنتی استفاده می کنند و می توان گفت که PHP قلب تپنده اکثر سایتهای اینترنتی است و یادگیری آن به شما کمک می کند تا بتوانید حجم وسیعی از فعالیتها را در زمان کوتاه انجام دهید.
زبان اسمبلی : زبان اسمبلی از آن جهت مفید است که سطح پایین ترین زبانی است که پردازنده قادر به فهم آن میباشد. اگر با این زبان آشنا نباشید از exploitهای زیادی محروم خواهید بود.
زبان : SQL زبان SQL یک زبان برای ارتباط نرم افزار با پایگاه دادههای رابطهای تحت SQL است. حجم قابل توجه سایتهایی که در اینترنت هک میشوند بدلیل داشتن اشکالات در SQL خود آسیب پذیرند. با یاد گرفتن این زبان و آموختن تکنیکهای SQL Injection میتوانید به میزان قابل توجهی قابلیتهای نفوذگری خود را افزایش دهید.
مرحله دوم: کار با لینوکس را بیاموزید
نسخه های بسیاری از سیستم عامل لینوکس واقعا برای هک و تست نفوذ ساخته شده اند. اگر کالی لینوکس را بشناسید، می دانید که یکی از نسخه های قدرتمندی که قادر به انجام عملیات نفوذ بر روی هر ابزاری است کالی لینوکس می باشد.
وقتی شما از لینوکس استفاده میکنید به حجم وسیعی از ابزارهای قدرتمند برای انجام نفوذ دسترسی خواهید داشت. این سیستم عامل به دلیل برخوردار بودن از خط فرمان قدرتمند میتواند بسیاری از کارها را به صورت خودکار انجام دهد.
مرحله سوم: مفاهیم شبکه را بیاموزید
در صورتی که شبکه را به طور کامل و به صورت مفهومی یاد بگیرید در آموزش هک حرفه ای بسیار موفق خواهید شد. بسیاری از متخصصان تست نفوذ چیز زیادی از شبکه نمی دانند، بنابراین از حجم وسیع آسیب پذیریهای موجود در شبکهها محروم می گردند.
یادگیری شبکه نیازمند یادگیری اصطلاحات و استانداردهای موجود و توانایی در پیاده سازی شبکههای مختلف است. گاهی به یک شبکه نفوذی می شود ولی برای گسترش دسترسیها و نفوذ به دیگر سیستمها نیاز است که به مفاهیم شبکه مسلط باشند.
برای یادگیری شبکه میتوانید کار خود را با دورهها و کتابهای network+ شروع کنید.
مرحله چهارم: هدف داشته باشید و اطلاعات لازم را جمع آوری کنید
برای خود یک هدف انتخاب کنید، البته مراقب باشید که هدف شما از یادگیری هک، انجام کارهای غیرقانونی نباشد، چرا که هرقدر هم که حرفه ای باشید متخصصان پلیس به خاطر داشتن دانش بالا در این زمینه، به راحتی می توانند شما را دستگیرکنند.
می توانید سیستم خود را هدف قرار دهید و خود را هک کنید! به این معنا که یک سرور مجازی برای خودتان ایجاد کنید و سعی کنید به آن نفوذ کنید.
همچنین می توانید از سایتهای آسیب پذیری که برای تمرین در اختیار علاقه مندان به یادگیری امنیت ایجاد شده اند استفاده کنید.
وقتی هدفتان را با توجه به نکات گفته شده انتخاب کردید، باید عملیات جمع آوری اطلاعات را شروع نمایید، در این مرحله هر اطلاعاتی مفید است، از جمله این اطلاعات می توان به موارد زیر اشاره کرد:
- موقعیت مکانی و زمانی هدف
- سیستم عامل و سرویسهایی که روی سیستم عامل پیاده شده است
- زبان مورد استفاده توسط متخصص پیاده کننده سرویس
- سعی در تشخیص فایروال و تمهیدات امنیتی سیستم
- بررسی مشکلات امنیتی موجود در سیستم با استفاده از ابزارهای مختلف
- تکنولوژیهای مورد استفاده
- بررسی مسائل مرتبط با شبکه از جمله تعداد IP و پورتهای باز موجود در سیستم
دقت کنید که در تمام مراحل آموزش هک حرفه ای و انجام تست نفوذ، امنیت خود را در بالاترین سطح نگه دارید چرا که ممکن است هنگام انجام عملیات تست و بررسی توسط مدیر سیستم شناسایی شوید و مدیر سیستم اقدام به هک و سرقت اطلاعات شما نماید.
باید قبل از انجام هر فعالیتی خوب فکر کنید، ممکن است وقتی بستههای بسیاری را به سمت سیستم هدف ارسال می نمایید ، سرور نیت شما را کشف کرده و شما را بلاک کند. ممکن است شما یک آسیب پذیری را کشف کنید ولی با انجام اعمال مشکوکی لو رفته و مدیر سیستم آن نقص و آسیب پذیری را یافته و بر طرف کند.
مرحله پنجم: سعی کنید رمز های عبور را بشکنید
همانطور که می دانید برای ورود به هر سیستم تحت وب و یا شبکه ای، باید پسورد آن را داشته باشیم، با داشتن این پسورد بعد از وارد شدن به سیستم تحت وب می توانید به سیستم عامل سرور نیز وارد شوید.
البته در بسیاری از حالت ها با نفوذ پذیری SQL Injection میتوانید یک Hash از پسورد را پیدا کرده که با کمک تکنیکهایی خاص به رمز ورود دست یابید.
البته روش های دیگری مانند burtforce وجود دارند که با آنها میتوانید تعداد زیادی از رمز های عبور را بر روی فرم ورود تست کرده و کلمه عبور درست را بیابید.
یکی دیگر از راه های شکستن عبارات هش شده نیز استفاده از جداول رنگین کمانی هستند.
بهتر است بدانید که تکنولوژیهای جدید از کارت گرافیک به عنوان پردازنده کمکی برای عملیات رمزنگاری استفاده میکنند که شکستن رمز آنها میتواند سریع تر باشد.
مرحله ششم: تلاش برای افزایش سطح دسترسی در سرور و شبکه
در آموزش هک حرفه ای و انجام عملیات هک گاهی لازم است یک سایت کوچک را هک کنید تا با گرفتن دسترسی روی آن بتوانید سرور اصلی را هک کنید.
در بعضی مواقع باید وارد یک شبکه WIFI شوید و از آنجا به سیستم های موجود در آن شبکه نفوذ نمایید.
بنابراین به یاد داشته باشید که ورود به یک سیستم تازه اول کار است و بعد از آن برای رسیدن به هدف اصلی می بایست دسترسی های بیشتری را برای خود فراهم کنید.
وقتی به یک دستگاه نفوذ کردید لیست نرم افزارهای نصب شده در آن دستگاه را پیدا نموده و برروی تک تک آنها کار کنید تا یک باگ امنیتی در یکی از نرم افزارها پیدا کنید. با پیدا کردن نرم افزارهای مشکل دار کار شما برای رسیدن به هدفتان آسان تر خواهد شد.
مرحله هفتم: ساخت در پشتی و یا BackDoor
شاید شما با پیدا کردن رمز عبور یک سیستم بتوانید به آن وارد شوید، اما پس از مدت زمانی صاحب سیستم پسورد خود را عوض کند و دیگر نتوانید به آن وارد شوید. برای جلوگیری از بسته شدن راه ورودتان می بایست یک در پشتی یا همان BackDoor در سیستم موردنظر ایجاد نمایید.
توجه داشته باشید که درهای پشتی باید به گونه ای اضافه شوند که مدیر سیستم نتواند به ماهیت و نفوذ شما پی ببرد.
مرحله هشتم: سعی کنید مخفی بمانید
یکی از مهم ترین اصول در انجام عملیات هک، مخفی ماندن در عملیات است. برای این که بتوانید مخفی بمانید و ردپاهای خود را در سیستم هدف پاک کنید، باید کاملا از ساختار سیستم عاملی که قصد هک آن را دارید مطلع باشید.
تقریبا هر عملیاتی در وب سرور و در سیستم عامل در فایلهای Logs ذخیره میشود، بنابراین همیشه در حین انجام عمل هک و پس از آن رد پای خود را از این قسمت ها حذف کنید.