در دنیای کامپیوتر، هکر کسی است که بر روی مکانیسمهای امنیتی رایانهها و شبکهها تمرکز دارد. اگر قصد یادگیری نحوه هکر شدن را دارید، پیشنهاد میکنیم که این مقاله را از دست ندهید.
سابقه تشکیل جوامع کارشناسان برنامهنویسی و شبکه، به دههها پیش و اولین رایانههای کوچک و تجربیات آغازین سازمان ARPAnet باز میگردد. اعضای این جامعه در اصل اولین هکرها بودند. ورود به عصر رایانهها و دستگاههای همراه باعث شده تا مقوله هک به یک نماد تبدیل شود. اما این فرهنگ بیش از آنچه که مردم فکر میکنند، پیچیده و اخلاقگرا است. جهت یادگیری نحوه هکر شدن، باید تکنیکهای اولیه هک را فرا گرفته، همانند یک هکر فکر کنید و همچنین بتوانید شیوه کسب احترام در جامعه اخلاقگرای هک را نیز یاد بگیرید.
بخش اول نحوه هکر شدن: مباحث پایهای را یاد بگیرید
از یک سیستمعامل شبه یونیکس همانند لینوکس استفاده کنید
این سیستمعاملها را میتوان سیستمعاملهای اینترنت نامید. بدون یادگیری و فهم یونیکس (UNIX) میتوانید از فضای اینترنت استفاده کنید، اما قادر به هک کردن آن نخواهید بود. به همین دلیل است که فرهنگ هک، یونیکس محور است. سیستمعاملهای مختلفی بر مبنای یونیکس توسعه داده شده که لینوکس محبوبترین آنها است. کاربران در کنار مایکروسافت ویندوز میتوانند از این لینوکس نیز بهره ببرند.
یکی از راههای تمرین در زمینه هک، این است که از دستگاههایی به نام “live CD” یا “live USB” استفاده کنید. بدین ترتیب دیگر هارد درایو رایانه شما درگیر این موضوع نخواهد شد. از طریق این روش میتوانید احتمالات را بررسی کرده و همچنین کمترین مشکل را نیز تجربه کنید.
سیستمعاملهای دیگری همانند سیستمهای “BSD” وجود دارند که آنها را نیز میتوان شبه یونیکس دانست. محبوبترین این سیستمعاملها، FreeBSD ،NetBSD ،OpenBSD و DragonFly BSD هستند. این گزینهها در اصل لینوکس نیستند، اما متن-باز هستند.
MacOS مبتنی بر Darwin یک توزیع یونیکسی بوده که بر مبنای FreeBSD توسعه داده شده است. Darwin کاملا رایگان و متن-باز بوده و از طریق این آدرس در دسترس قرار دارد. بسیاری از کاربران، اپلیکیشنهای لینوکس را به macOS پورت کردهاند، زیرا هسته این سیستمعامل، یونیکس بوده و بسیار نیز محبوب است. میتوانید از طریق یک مدیر بسته (package manager) همانند Homebrew ،Fink و یا MacPorts، این برنامهها را نصب کنید. البته میتوانید در عوض، لینوکس را نیز در کنار macOS خود داشته باشید.
اگر هم بخواهید، میتوانید از سیستمعاملی همانند Open Indiana نیز استفاده کنید. Open Indiana بر مبنای توزیع متن-باز سیستمعامل Solaris توسعه داده شده است (البته پیش از اینکه توسط اوراکل خریداری شده و به یک سیستمعامل منبع بسته تبدیل شود). Open Indiana و Solaris بر مبنای UNIX System V طراحی شده و در نتیجه با اپلیکیشنهای لینوکس سازگار نیستند. پورتهای زیادی از اپلیکیشنهای لینوکسی وجود دارند. در نهایت بهتر است که از macOS ،BSD و یا لینوکس استفاده شود، زیرا محبوبیت بیشتری داشته و همچنین نرمافزارهای زیادتری را نیز در اختیار دارند.
HTML بنویسید
اگر نحوه هکر شدن را مدنظر دارید، پس باید به زبان برنامهنویسی HTML نیز آشنا باشید. هر آنچه که در هنگام بازدید از یک وبسایت مشاهده میکنید، توسط HTML کدنویسی شده است. جهت تمرین میتوانید یک صفحه خانگی ساده ایجاد کرده و سپس کارهای پیشرفتهتری را انجام دهید.
در مرورگر خود میتوانید کد منابع وبسایتها را باز کنید. جهت انجام این کار در مرورگر فایرفاکس، باید به “Web Developer > Page Source” رفته و سپس کدها را بررسی کنید. میتوانید در یک واژهپرداز عادی همانند Notepad یا Simple text، کدهای HTML نوشته و سپس آن را با فرمت “HTML.” ذخیره کنید. در ادامه نیز میتوانید کدها را به یک مرورگر وارد کرده و نتیجه را مشاهده کنید.
زبانهای برنامهنویسی را یاد بگیرید
پیش از سرودن اشعار، باید با دستور زبان آشنا باشید. پیش از قانونشکنی، باید قوانین را فرا بگیرید. اما اگر قصد هکر شدن را دارید، آنگاه باید فراتر از زبان انگلیسی عادی پیش بروید. یعنی نحوه کدنویسی با زبانهای برنامهنویسی را یاد بگیرید.
پیتون (Python) میتواند یک انتخاب خوب باشد. این زبان، طراحی مرتبی داشته، بهخوبی مستندسازی شده و نسبتا برای مبتدیان آسان است. علاوه بر اینها، پیتون برای پروژههای بزرگ نیز بسیار کارآمد است. اگر قصد جدی شدن در این موضوع را دارید، آنگاه میتوانید زبان جاوا را نیز فرا بگیرید. هر چند که جایگاه جاوا بهعنوان اولین زبان برنامهنویسی، تا حدودی زیر سؤال رفته است.
برخلاف جاوا، جاوا اسکریپت بسیار به پیتون شبیه است، زیرا هر دوی آنها بر مبنای زبان برنامهنویسی “C” توسعه داده شده و مبتدیپسند نیز هستند. جاوا اسکریپت را زبان وب مینامند. بنابراین اگر قصد پیشرفت در توسعه/هک کردن وب را دارید، آنگاه جاوا اسکریپت بهتر از پیتون است.
یکی از جایگزینهای جاوا اسکریپت میتواند زبان “PHP C” باشد. PHP C هسته یونیکس به حساب میآید. “++C” بسیار به زبان “C” نزدیک است. اگر شما یکی را بلد باشید، آنگاه یادگیری دیگری مشکل نخواهد بود. زبان C در زمینه استفاده از منابع، بسیار کارا است، اما در هنگام اشکالزدایی، وقت بسیاری نیاز دارد. اگر کارایی رایانه زیاد برایتان مهم نباشد، آنگاه احتمالا این زبان را نیز انتخاب نخواهید کرد. شاید بد نباشد که پلتفرمی همانند Backtrack 5 R3 ،Kali و یا Ubuntu 12.04LTS را جهت شروع برگزینید.
بخش دوم نحوه هکر شدن: نگرش هکرانه داشته باشید
خلاقانه فکر کنید
حال که مباحث پایهای را فرا گرفتهاید، آنگاه میتوانید هنرمندانه فکر کنید. هکرها مجموعهای از هنرمندان، فلاسفه و مهندسان در قالب یک انسان هستند. آنها به آزادی و مسئولیت متقابل اعتقاد دارند. هکرها علاقه زیادی به حل مشکلات و ارتقای تواناییهای خود دارند.
هکرها جدا از کار، علایق مختلفی دارند. در واقع هکرهای واقعی، مرزهای بین بازی، کار، علوم و هنر را از بین برده و یا اینکه آنها را در قالب یک بازیگوشی خلاقانه، با یکدیگر ترکیب میکنند. بهعنوان یک هکر باید به مسائل علمی تخیلی اهمیت دهید. حتی جهت ملاقات هکرهای دیگر، میتوانید در گردهماییهای آنها شرکت کنید. نظم ذهنی موجود در هنرهای رزمی، برای یک هکر نیز لازم است. هکرها بیش از توانایی فیزیکی، به آرامش، کنترل و نظم ذهنی نیاز دارند. ورزشی همانند تای چی، برای هکرها مناسب است.
یاد بگیرید که به حل مشکلات، عشق بورزید
هکرها به باارزش بودن وقت اعتقاد دارند. بنابراین این افراد اطلاعات خود را با یکدیگر به اشتراک میگذارند. بدین ترتیب هم در وقت سایرین صرفهجویی شده و هم اینکه مشکلات آنها نیز حل میشوند. لزومی ندارد که تمامی اطلاعات خود را در اختیار دیگران قرار دهید. به هر حال باید هزینههای زندگی را از محلی تأمین کنید. اما اگر این کار را انجام دهید، از مقبولیت بیشتری برخوردار خواهید شد. مطالعه متونی همانند “Jargon File” یا “Hacker Manifesto” خالی از لطف نخواهد بود. شاید این متون از لحاظ تکنیکی تاریخ گذشته باشند، اما از لحاظ نگرش و معنی، هنوز هم تازگی دارند.
شناسایی و جنگ با قدرتها را یاد بگیرید
دشمن یک هکر، خستگی، کار طاقتفرسا و شخصیتهای اقتدارگرا (کسانی که با روشهای مختلف، سعی در خفه کردن آزادی اطلاعات دارند) هستند. هک یک نوع سبک زندگی بوده و هکر بهجای انجام کارهای عادی، برای برابری و دانش مشترک میجنگد.
لایق باشید
اینترنت یک فضای همسانساز بوده و بیش از غرور و خودبینی، به ارزشهایی همانند لیاقت توجه میکند. بهتر است که بهجای ظاهر، بر روی باطن خود کار کنید، تا بدین ترتیب در جوامع هکرها به محبوبیت بیشتری دست یابید.
بخش سوم نحوه هکر شدن: خوب هک کنید!
نرمافزارهای متن-باز بنویسید
یکی دیگر از مواردی که باید در رابطه با نحوه هکر شدن به شما بگوییم، این است که حدالمقدور برنامههای مفید و جالب نوشته و سپس منبع آنها را نیز در اختیار سایرین قرار دهید. هر چه نرمافزار تولیدی شما بزرگتر و کاربردیتر باشد، محبوبیت بیشتری خواهید داشت.
به تست و اشکالزدایی نرمافزارهای متن-باز کمک کنید
همه توسعهدهندگان برنامهها، کسانی را که به تست نسخه بتای اپلیکیشنها میپردازند (یعنی کسانی که میدانند چگونه مشکلات را شناسایی کنند) شتایش میکنند. در این زمینه باید سعی کنید که اپلیکیشنهای در حال توسعه را پیدا کنید. میتوانید کار خود را از کمک به تست برنامهها آغاز، و تا مرحله تعدیل آنها نیز پیش بروید. در این بین هم چیزهای زیادی یاد گرفته و هم اینکه حسننیت خود را به سایرین نشان میدهید.
اطلاعات مفید را منتشر کنید
با انتشار جواب سؤالات رایج و سایر اطلاعات مفید و کاربردی در وبسایت خود، میتوانید توجه و احترام زیادی را به دست آورید.
به نگهداری زیرساختها یاری برسانید
در فرهنگ هک، کارهای ضروری و مهم زیادی وجود دارند که باید انجام شوند. مدیریت لیستهای پستی، مدیریت گروههای خبری، نگهداری از وبسایتهای بزرگ آرشیو نرمافزارها، توسعه RFCها و سایر استانداردهای فنی، از اینگونه موارد هستند. از آنجایی که انجام چنین کارهایی نوعی فداکاری به حساب میآید، پس طبیعتا انجام دهنده آنها نیز از مقبولیت بالایی برخوردار خواهد بود.
به خود فرهنگ هک خدمت کنید
در بالا به نحوه هکر شدن اشاره کردیم. اما پس از مدتی فعالیت در یکی از زمینههای بالا و همچنین کسب شهرت، میتوانید کار خاصی را انجام دهید و آن، تبدیل شدن به یک قهرمان است. فرهنگ و جوامع هکری در اصل رهبر ندارند، اما حتما قهرمانان و شخصیتهای مهمی نیز در این فضا وجود دارند. اگر قصد تبدیل شدن به یک شخصیت مهم را داشتید، آنگاه باید از اعتماد به نفس آشکار خودداری کنید. بهتر است که تواناییهای خود را افزایش داده و حسننیت خود را نیز ثابت کنید، تا بدین ترتیب مقامها و عناوین مختلف، خودشان به سراغتان بیایند.