محمد حسین مازندرانیان

پایتون برای هک

محمد حسین مازندرانیان ۱۳۹۴/۱۰/۰۷ 82 زبان برنامه‌نویسی پایتون

پایتون برای شروع هک خوبه؟ من اگه بخوام هک رو شروع کنم چه زبان هایی رو یاد بگیرم؟

پاسخ‌ها به این تاپیک
امیر احمدی
امیر احمدی
۱۳۹۴/۱۰/۱۱
برای شروع یادگیری امنیت شبکه شرکت های خارجی معتبر مثل sans و EC Council به ترتیب مواردی رو پیشنهاد کردن که به نظرم بهتره برای شروع از این موارد استفاده کنی تا نظرات شخصی دیگران!
1. یادگیری شبکه : بدیهی است که شما تا شبکه را نشناسید نمی توانید از امنیت آن آگاهی پیدا کنید . در این زمینه یکی از بهترین دوره های آموزشی نتورک پلاس می باشد .


2. یادگیری راههای ارتباطی شبکه : منظور از راههای ارتباطی همان نحوه ارتباط در شبکه می باشد . برای شناخت این موضوع و آشنایی با پروتکل ها و پورت ها و استانداردهای ارتباطی شبکه آموزش TCP/IP یکی از بهترین منابع موجود است .


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


4. آشنایی با سخت افزار و زیرساخت شبکه : یک واقعیت وجود دارد که امنیت نرم افزاری بدون وجود امنیت فیزیکی خالی از مفهوم می باشد . شما بایستی از سخت افزارهای مختلف موجود در زمینه امنیت شبکه (مثل سوییچ ها , روترها , فایروال ها , سیستم های تشخیص نفوذ و ...) آگاهی پیدا کنید با آنها کار کنید و ایرادهای موجود را کشف کنید .


5. یادگیری الفبای امنیت شبکه : اینجا ابتدای راه است . شما بایستی مفاهیم اصلی امنیت را بشناسید تا بتوانید به این عرصه وارد شوید . در این زمینه منابع آموزشی مقدماتی مثل دورهای CEH و یا Security Plus توصیه می شود .


6. یادگیری زبان های برنامه نویسی پایه : یکی از مهارت های اصلی که واقعا مورد نیاز می باشد یادگیری حداقل یکی از زبان های برنامه نویسی پایه می باشد . این زبان ها عبارتند از C , Python , Ruby , Java و ... . توصیه بر این است که به زبان C به صورت کلی آشنا باشید و در زمینه یادگیری زبان های پایتون و روبی فعالیت گسترده داشته باشید . یکی از دلایلی که این دو زبان بسیار مورد نیاز است استفاده شدید آنها (پایتون در اکثر نرم افزارهای امنیتی و روبی در متااسپلوییت) در ابزارهای امنیت شبکه می باشد .


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


8. آشنایی با خط فرمان ویندوز : من آن را خط فرمان ویندوز می نامم ولی در حقیقت نام آن پاورشل می باشد . پاورشل رابط قدرتمند است که مدیران شبکه با استفاده از آن وظایف شبکه را انجام می دهند . در گذشته مایکروسافت فریم ورک ها را ایجاد می کرد و بر مبنای آنها و بر روی آن خط فرمان ساده ای را پیاده سازی می کرد . اتفاقی که اکنون در ویندوز رخ داده است این است که پاورشل به عنوان رابطی وظایف اصلی را در پس زمینه انجام می دهد . در واقع رابط گرافیکی فقط یک پوسته است و شما هر کاری که در ویندوز انجام دهید , در پس زمینه به صورت یک دستور برای شما اجرا می شود . یادگیری این محیط به دلیل استفاده گسترده سیستم عامل ویندوز برای متخصصان امنیتی از ضروریات است .


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


10. آشنایی و یادگیری ابزارهای امنیت شبکه : هر روزه به منظور راحتی کار متخصصان امنیتی پلتفورم ها و اپلیکیشن های زیادی متولد می شوند . از معروف ترین ابزارهای امنیت شبکه می توان به متااسپلوییت , انمپ , نسوس , اسنورت , نسکپوز , وایرشارک , ایرکرک , اواف کرک و بسیاری دیگری که در حوصله این مطلب نیست اشاره کرد . شما بایستی کار و نحوه استفاده از این ابزارها را یادگرفته و در تست های خود از آنها استفاده کنید . یک متخصص کامل کسی است که به زبان های برنامه نویسی (به ویژه پایتون) مسلط بوده و علاوه بر ابزارهای موجود برای خود جعبه ابزار اختصاصی ایجاد کند .


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

12. تست در محیط واقعی : پس از تلاش زیاد و آزمون خطا زمان آن می رسد که شما در محیط واقعی هم آزمون ها را انجام دهید و وارد کار واقعی شوید . در این مرحله دقت کنید که به هیچ وجه سر خود به صورت غیرقانونی تستی را انجام ندهید و حتما در شرایط قانونی و در قرارداد با شرکت ها این تست ها را انجام دهید . سالانه تعداد بالایی از افراد بدون اطلاع به دلیل آسیب رساندن ناخواسته به سیستم های حیاتی به زندان و پرداخت هزینه های بالا محکوم می شود . پس همیشه از راههای قانونی عمل کنید .


13. کسب تجربه : مهم ترین ویژگی یک متخصص امنیتی کسب تجربه است و این موضوع نیازمند صرف زمان زیاد , تلاش , تست و آزمون های مختلف در زمینه های مختلف است .

پس مسلما یادگیری امنیت شبکه نیازمند صرف زمان زیادی است . این مراحل کامل نیستند ولی راه را به شما نشان می دهند و شما می توانید بر اساس آنها هدف خود را تعیین کنید .
نیک منش
نیک منش
۱۳۹۵/۰۵/۱۲

سلام این که به صورت سیستمی و مرحله به مرحله چگونگی یک کار توضیح داده شود بسیار بسیار عالی است.

در پاسخ به

Sina Deuxshiri
Sina Deuxshiri
۱۳۹۴/۱۰/۱۰
سلام
خانم اسدی خیلی خوب توضیح دادن. ممنون. من هم کمی توضیح می دم.
تصوری که تقریبا همه مردم از هکرها دارن، چیزهاییست که در فیلم های هالیوودی نشون داده میشه. برای مثال شما حتما برید فیلم "دای هارد4" و ببینید که راجع به هکر ها است. اما در واقع اون طور نیست. همه ما دوست داریم قهرمان زندگیمون بشیم و به قول معروف تبدیل به اون آدم خفن بشیم. اما واقعا قبل از اینکه وارد دنیای هک بشیم، بهتره که حسابی راجع بش تحقیق کنیم ببینیم آخرش چیه. اگه بخوایم اون آدم خفنه بشیم و مردم ما رو بشناسن، مطمئنا آخر و عاقبت خوبی نداره و پلیس ما رو دستگیر می کنه و کم کم ده پانزده سال باید بریم زندان. و اگه بخوایم طوری باشیم که کسی نفهمه، خب دیگه اون آدم خفنه نمیشیم و بین مردم مثه یه آدم عادی هستیم. به سایت جادی برو و پادکستی که در مورد هک و امنیت صحبت کرده و بگرد پیدا کن و دانلود کن و گوش کن. خیلی خوب صحبت کرده. 20 سال پیش هک خیلی هیجان داشت، اما الان دیگه اون طور نیست. دلیلش هم پیرفت تکنولوژی و امنیت سیستم هاست.
درضمن یه هکر اول باید یه گیک باشه تا بعد بشه هکر. باید تقریبا در تمام زمینه های کامپیوتر مطالعه داشته باشی. یه هکر یه مهندس شبکه خیلی خوبه. مفاهیم سیستم عامل و خوب بلده. برنامه نویسی و قورت داده. تقریبا باید پایه ریاضی قوی ای داشته باشه. چون در رشته IT و نرم افزار مبحثی هست به نام ساختمان داده ها و طراحی الگوریتم که تقریبا همش ریاضه. برای همین ریاضی لازمه. خلاصه خیلی باید مطالعه کنی و خیلی وقت بذاری. خوشبختانه دنیای کامپیوتر دنیای بزرگیه و هر سمتش بری موفقیت توش هست و امیدوارم که شما هم به موفقیت برسی. و در آخر اینکه حتما برو اون پادکست جادی و دانلود و گوش کن. خیلی موثره. :)
نرگس اسدی
نرگس اسدی
۱۳۹۴/۱۰/۱۰
سلام
دوست عزیز هکر کسی است که روی مکانیزم های امنیتی کامپیوتر و سیستم های شبکه کار می کنه. باور عمومی این هست که هکرها افرادی هستند که به سیستم های کامپیوتری نفوذ پیدا می کنند و از این طریق به هر شکل ممکن از سیستم ها سوء استفاده می کنند، اما در حقیقت هک نه به این معنای منفی که یک فرهنگ تماماً مثبته و شاید بشه گفت در هیچ جامعه ای مثل جامعه ی هکرهای واقعی اصول اخلاقی رعایت نمیشه. هر چند یک هکر قابلیت نفوذ به سیستم ها رو داره، اما چیزی که هکر را متمایز از دیگر می کنه نه تنها تخصصش در علوم کامپیوتر، بلکه استفاده ی درست از این تخصص در جهت بهبود وضعیت جامعه ی خودشه. تاریخ هک حتی به پروژه هایی مثل آرپانت برمی گرده که گروهی از متخصص های کامپیوتر روی فرهنگ به اشتراک گذاری منابع کار می کردند. به هر حال اولین چیزی که در مورد هک باید مدنظر داشته باشی این هست که یک هکر تنها یه هدف داره و اون انسان کامل شدنه. نه تنها خودش بلکه تمام افراد جامعش
اما در مورد تخصص هایی که یک هکر باید داشته باشه و البته همه ی این تخصص ها را باید همزمان و در کنار هم کسب کنید :
1- قبل از هر چیز تسلط به زبان انگلیسی. به دلایل مختلف مثل برقراری ارتباط با جامعه ی هکرها، استفاده از منابع، ....
2- توانایی کار با یک سیستم عامل متن باز. چون یونیکس سیستم عامل اینترنت هست پس باید به این سیستم عامل تسلط داشته باشید. پس اولین کار نصب یه سیستم عامل مبتنی بر یونیکس مثل لینوکس و کار کردن و تسلط پیدا کردن روی اونه.
3- یادگیری HTML.
4- یادگیری یک زبان برنامه نویسی. جواب سوال شما هم این جاست. پایتون به دلایل مختلف مزیت های زیادی نسبت به سایر زبان ها داره که یکی از آن ها سادگی این زبان برنامه نویسی است. برای همین شروع کار با پایتون بسیار خوبه. البته سادگی این زبان چیزی از ارزش هاش کم نمی کنه! و باید بگم پایتون زبان بسیار قدرتمند، انعطاف پذیر و پیشرفته ای است که در پروژه های بزرگ از این زبان استفاده شده، اما باید بدونید که این پایان راه نیست. در واقع هکر ها نه به یک زبان بلکه به تعدادی زیادی زبان تسلط دارند که از بین آن ها زبان های c،c++، java، و ... رو میشه اسم ببرم. حتی یادگیری زبان هایی که سیستم عامل های موبایلی از آن ها پشتیبانی می کنند هم مفیده. اما در درجه ی اول یادگیری یه زبان با منحنی یادگیری ساده مثل پایتون اهمیت داره که کار یادگیری شما رو به شدت تسهیل می کنه و بعد از اون می تونید خیلی سریع سایر زبان ها را یاد بگیرید.
5- یادگیری مسائل امنیت وشبکه هم که بسیار مهم و مفیده
در کنار این تخصص ها باید تمرین آرامش، خلاق بودن، اشتیاق به حل مسئله، نوشتن برنامه های اُپن سورس و کمک به توسعه ی این نوع برنامه ها،نشر اطلاعات سودمندی که خودتون یاد گرفتید، رعایت قوانین و احترام به آزادی افراد داشته باشید. وارد شدن به دنیای هک کار بسیار سخت ولی در عین حال هیجان انگیزیه. این که کسی قدرت آسیب رسوندن به دیگران را داشته باشه، اما پا روی نفس خودش بگذاره و به جای تخریب گر، سازنده باشه همون چیزی است که در یک هکر واقعی وجود داره.