Parsi Coders
چگونه هکر شوید نسخه ی سیمرغ ! - نسخه قابل چاپ

+- Parsi Coders (http://parsicoders.com)
+-- انجمن: Security and influence (http://parsicoders.com/forumdisplay.php?fid=59)
+--- انجمن: Influence (http://parsicoders.com/forumdisplay.php?fid=61)
+--- موضوع: چگونه هکر شوید نسخه ی سیمرغ ! (/showthread.php?tid=2128)



چگونه هکر شوید نسخه ی سیمرغ ! - nimaarek - 04-20-2012

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

امروز که من این پست را مینویسم سالها از پست اریک ریموند تحت عنوان چگونه هکر شوید گذشته است. (حدود 11 سال) که شما میتوانید خود مقاله ی این فرد را در لینک زیر مشاهده کنید:
http://www.catb.org/~esr/faqs/hacker-howto.html
که ترجمه ی فارسی این مطلب را هم نیز میتوانید در لینک زیر مشاهده کنید:
http://jadi.net/2011/01/saveshe-hacker-shodan/

در دنیای امروز هک چیست و هکر کیست ؟

به هرگونه نفوذی به هر سخت افزار و نرم افزار که باعث ایجاد اختلال سرقت اطلاعات , تغییر عملکرد و ...انجام شود هک گفته میشود و هگینگ به هیچ وجه تنها مختص به رایانه نمیشود !
هکر شدن در دنیای امروز کاملا معنی متفاوتی دارد و اسامی آبرومندانه تری مانند Ethical Hacker , Penetration Tester , Security Researcher , Computer Security Specialist و ... را به خود گرفته است که کمی محترمانه تر باشد
اما در انواع و اقسام اسامی مختلفی که برای هکرها استفاده شود, این اسامی تنها در چهارچوب و قالب جدیدتری به هکینگ میدهند.

درست است که تنها 11 سال از مقاله ای که اریک نوشته است میگذرد اما دنیای حال حاضر هکینگ دنیایی کاملا متفاوت است در تاریخی که ما در آن قرار داریم علوم امنیت و ضد امنیت اطلاعات
بسیار پیشرفته کرده اند و دارای انواع و اقسام زیر شاخه ها هستند به نحوی که دیگر یک فرد نمیتواند مانند گذشته یک متخصص تمام عیار در تمام شاخه های این موضوع باشد. بنابراین از همین ابتدای کار بدانید که
اگر متخصص یک یا در نهایت چند موضوع باشید بهتر از این است که از هر شاخه ای فقط کمی بدانید در این علوم یک دریاچه ی عمیق بودن خیلی بهتر از یک اوقیانوس با عمق 3 سانت است !

در دنیایی هکر ها به انواع هکر انواع رنگ کلاه را ارتباط میدهد .
هکر کلاه سیاه (blackhat) : این نوع هکر تنها به فکر نفوذ است و زیاد به قانون اهمیت نمیدهد و معمولا مهارت بالایی دارد.
هکر کلاه سفید (whitehat) : هکری که از دانش خود برای امن سازی سیستم ها و تشخیص نفوذ استفاده میکند
هکر کلاه خاکستری (grayhat) : هکری که بهتر است بگوییم هر جا پول باشد همانجا است ! گاهی با امن سازی و گاهی با نفوذ
هکر کلاه صورتی (pink) : هکر کلمه ی مناسبی برای این گروه نیست افرادی که با استفاده از انواع ابزار و آسیب پذیری عمومی با تخریب نرم افزار ها و سایت ها خود را هکر جلوه میدهند و سعی بر کسب شهرت دارند.

چگونه میتوان هکر شد ؟

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

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

1- سیستم عامل های مختلف : فهم عمیق ویندوز و لینوکس ضروری هستند ولی بهتر است با دیگر سیستم عامل ها مانند MAC , BSD , و ... (حتی سیستم عامل های موبایل مانند Android , IOS) آشنا باشید , سیستم عامل های ویندوز XP و ویندوز 7 و توضیع لینوکس Backtrack برای شما بسیار مفید و کاربردی خواهند بود.
2- شبکه : مهم نیست میخواهید در چه زمینه ای فعالیت کنید اما بدانید که برای هر گونه فعالیت که قرار است نفوذی در آن انجام شود معمولا یک ارتباط وجود دارد و این ارتباط شبکه ای است Network+ برای شروع کافی است.
3- برنامه نویسی : فهم و درک برنامه نویسی برای هر فردی که میخواهد در این راستا کار کند ضروری است مهم نیست با چه زبانی برنامه نویسی میکنید اما باید یک زبان برنامه نویسی را بدانید پایتون یک گزینه ی فوق العاده است.
4- زبان انگلیسی : زبان انگلیسی زبان بین المللی میان انسانها و هکرها است و اکثر منابع مفید برای این کار به این زبان نوشته شده اند اگر زبان ندانید با مشکلات فراوانی برخورد خواهید داشت.
5-کار عملی : کار عملی بسیار مهم است بعد از اینکه مطلبی را مطالعه کردید و آموختید حتما آن را امتحان کنید یک جمله ی معروف : میگوید من شنیدم و فراموش کردم , من دیدم و به خاطر سپاردم , من انجام دادم و فهمیدم پس هر چیزی را که میخوانید و احساس میکنید مفید است تست کنید !
6- کار تیمی : این یکی بسیار مهم است اگر یاد نگیرید که تیمی کار کنید و وظایف را تقسیم کنید به سرعت خواهید مرد ! در طول سالهای گذشته و تا امروز و تا آینده ,
من و حسین و دیگر دوستان با کارهای تیمی پروژه های بسیار زیادی را با موفقیت به پایان رسانیدیم که شاید به تنها هیچ کدام قابل انجام نبودند !
7- اشتراک : بهتر است دانش خود را به جا به اشتراک بگذارید تا دیگران نیز دانش خود را با شما به اشتراک بگذارند !

وقتی همه ی این 7 مورد را به اندازه ی کافی بدانید شما آماده هستید هر تخصصی از هکینگ را که دوست داشته باشید فرا بگیرید. البته سعی کنید موارد را واقعا یاد گرفته باشید .
چرا گه همانگونه که استیون هاوکینز میگوید بزرگترین دشمن آگاهی؛ جهل نیست بلکه توهم اینست که می دانیم ! که در جامعه ی متاسفانه ایران بیشتر صدق میکند این مطلب .

انواع تخصص هکر ها :

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

1- متخصص تست نرم افزارها : افراد این بخش مسلط به برنامه نویسی و آسیب پذیری های نرم افزار ها هستند که خود این شاخه به چند قسمت تقسیم میشود.

یک نکته وجود داره که در تمام مباحث اکسپلویت نویسی و مهندسی معکوس فهم زبان اسمبلی یک پیشنیاز است حالا بسته به نوع هدف نوع اسمبلی مورد نیاز با توجه به معماری پردازنده و متفاوت است که میتواند
(با تشکر از دوستان بابت تذکر)

اکسپلویت نویسی :

فردی که میخواهد در این قسمت کار کند باید مهارت های چند گانه ای در زمینه ی های زیر داشته باشد :

• آشنایی کامل با برنامه نویسی به زبان C/C++ و پایتون
• آشنایی کامل با هسته ی ویندوز و لینوکس و برنامه نویسی سیستمی
• آشنایی کامل با نحوه ی مدیریت حافظه در ویندوز و لینوکس
• آشنایی کامل با انواع روش های تخرب حافظه در قسمت های heap , stack و ...
• آشنایی کامل با سیستم های محافظتی حافظه و روش های دور زدن آنها

مهندسی معکوس :
فردی که میخواهد در این قسمت کار کند باید مهارت های چند گانه ای در زمینه ی های زیر داشته باشد :
• آشنایی کامل با روش های دیباگینگ و تحلیل فایل های اجرای
• آشنایی کامل با ابزارهای موجود مانند Ollydbg , IDA Pro , Windbg , Immunity DBG
• آشنایی کامل با تکنیک های شکستن محافظت های نرم افزاری
• آشنایی کامل با روش های تحلیل وصله های امنیتی


Fuzzer & Fault Injection:

فردی که میخواهد در این قسمت کار کند باید مهارت های چند گانه ای در زمینه ی های زیر داشته باشد :
• آشنایی کامل با روش های مختلف Fuzzing
• آشنایی کامل با ابزار های اصلی این زمینه مانند Sully , Spike , FileFuzz و ...
• آشنایی کامل پرتکل های مختلف و مفاهیمی مانند : RFC و نحوه ی تست پرتکل ها
• آشنایی کامل با ساختار فایل های اجرایی در ویندوز و لینوکس برای اجرای Fuzzing
• آشنایی کامل با انواع روش های کشف آسیب پذیری نوین


تحلیل گر امنیتی برنامه های متن باز :
فردی که میخواهد در این قسمت کار کند باید مهارت های چند گانه ای در زمینه ی های زیر داشته باشد :
• آشنایی کامل با زبان های برنامه نویسی / Java C/C++
• آشنایی کامل با روش های کشف آسیب پذیری مبتنی بر این زبان مانند سرریزی ها
• آشنایی کامل با ابزار های موجود برای افزایش سرعت این کار مانند RATS و SFIRE و ...


تحلیل گر برنامه های مخرب (malware analyst):

فردی که میخواهد در این قسمت کار کند باید مهارت های چند گانه ای در زمینه ی های زیر داشته باشد :
• آشنایی کامل با روش های دیباگینگ و تحلیل فایل های اجرای
• آشنایی کامل با ابزارهای موجود مانند Ollydbg , IDA Pro , Windbg , Immunity DBG
• آشنایی کامل با انواع تکنیک های ضد دیباگینگ و روش های دور زدن آنها
• آشنایی کامل با نحوه ی کار برنامه های مخرب در شبکه و در فایل اجرایی


2- متخصص تست وب : افراد این بخش مسلط به برنامه نویسی و آسیب پذیری های نرم افزار های تحت وب هستند که خود این شاخه به چند قسمت تقسیم میشود.


محقق امنیتی برنامه های تحت وب:

فردی که میخواهد در این قسمت کار کند باید مهارت های چند گانه ای در زمینه ی های زیر داشته باشد :
• آشنایی کامل با آسیب پذیری های موجود در برنامه های تحت وب
• قابلیت تحقیق و به نتیجه رسانیدن آسیب پذیری های عمومی تحت وب
• آشنایی کامل با زبان های برنامه نویسی تحت وب مانند PHP , ASP , ASP.net

تحلیل گر امنیتی متن باز:

فردی که میخواهد در این قسمت کار کند باید مهارت های چند گانه ای در زمینه ی های زیر داشته باشد :
• آشنایی کامل با زبان های برنامه نویسی تحت وب مانند PHP , ASP , ASP.net , JSP , ...
• آشنایی کامل با روش کشف آسیب پذیری تحت وب با در دست داشت کد منبع
• آشنایی کامل با انواع آسیب پذیری های تحت وب (OWASP Top 10)

تحلیل گر امنیتی برنامه های تحت وب بدون داشتن کد برنامه :

فردی که میخواهد در این قسمت کار کند باید مهارت های چند گانه ای در زمینه ی های زیر داشته باشد :
• آشنایی کامل به انواع انوع اسکنر های تحت وب مانند Acunetix , Appscan و ...
• آشنایی کامل با انواع روش های تست وب سایت بدون در دست داشتن متن برنامه
• آشنایی با ساختار وب سایت ها و تشخیص نقطه ی آسیب پذیر

3- متخصص تست شبکه : افراد این بخش مسلط به آسیب پذیری های شبکه هستند که خود این شاخه به چند قسمت تقسیم میشود.



تحلیل گر شبکه:

فردی که میخواهد در این قسمت کار کند باید مهارت های چند گانه ای در زمینه ی های زیر داشته باشد :

• آشنایی کامل با پرتکل های شبکه ای مختلف
• آشنایی کامل با سخت های مختلف در زمینه ی ارتباط شبکه مانند مسیریاب ها
• آشنایی کامل با تکنیک های شناسایی شبکه و شناسایی بستر ورود و ارتباط
• آشنایی کامل با تنظمیات و نرم افزار های شبکه در حد مدارک CCNP , MCSE

تحلیل گر امنیتی شبکه:

فردی که میخواهد در این قسمت کار کند باید مهارت های چند گانه ای در زمینه ی های زیر داشته باشد :

• آشنایی کامل با روش های محافظت از شبکه و روش های دور زدن آنها
• آشنایی کامل با نحوه ی کار دیواره های آتش , IDS / IPS و نحوه ی دور زدن آنها
• آشنایی کامل با تکنیک های پیشرفته جمع آوری اطلاعات شبکه به صورت کور و مخفی
• آشنای با ابزار های شناسایی سریع شبکه و توانایی تحلیل بسته های شبکه

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


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


5- متخصص Forensics / Anti : فردی که میتواند جرم شناسی انجام دهد یا جرم اثرات جرم را از میان ببرد.


فردی که میخواهد در این قسمت کار کند باید مهارت های چند گانه ای در زمینه ی های زیر داشته باشد :
• آشنایی با دور زدن تکلنولوژی های مورد استفاده برای پاک کردن همیشگی فایلها
• آشنایی با کشف سریع ردپا از روی اطلاعات باقی مانده روی سیستم
• آشنایی با روشهای بازگردادن اطلاعات قدیمی و مخفی شده
• آشنایی با موارد و مشکلات قانونی امنیت شبکه و راههای گریز از آنها

6- هکر سخت افزار :افراد این بخش مسلط به سخت افزار , روش های بازتولید , الکترونیک و ... هستند که خود این شاخه به چند قسمت تقسیم میشود.



متخصص الکترونیک:

فردی که میخواهد در این قسمت کار کند باید مهارت های چند گانه ای در زمینه ی های زیر داشته باشد :
• آشنایی کامل با سخت افزار های مختلف و توانایی ساخت سخت افزار هایی جدید
• آشنایی با روش های مختلف دستکاری سخت افزار های موجود
• آشنایی با نحوه ی کار سخت افزار های مخرب (ابزار های شنود و ...)
• توانایی اجرای مهندسی معکوس بر روی سخت افزارهای مختلف
• خلاقیت

متخصص مخاربرات:

فردی که میخواهد در این قسمت کار کند باید مهارت های چند گانه ای در زمینه ی های زیر داشته باشد :
• آشنایی کامل با سخت افزار های و نرم افزار های سیستم های مخابراتی
• آشنایی با مفاهیم ضد امنیتی در زمینه تجهیزات مخاربراتی روش های شنود و ....

7- رمزشناس : افراد این بخش مسلط به رمزنگاری , ریاضی و ... هستند.

فردی که میخواهد در این قسمت کار کند باید مهارت های چند گانه ای در زمینه ی های زیر داشته باشد :

• توانایی تحلیل الگوریتم های رمزنگاری ناشناخته
• توانایی برنامه نویسی و نوشتن ابزارهای شکستن رمز

باز هم متذکر میشوم که اینها مواردی است که ما نام برده ایم و شاخه های بسیار زیاد دیگری مانند mobile و .. نیز وجود که کلیاتی مشابه یکی از این شاخه های توضیح داده شده را در خود دارند

با توجه به موارد ذکر شده پس بعد از فراگیری کلیات باید یک شاخه را انتخاب کنید و در آن شاخه به صورت تخصصی فعالیت کنید و اگر احساس میکنید در یک زیر شاخه ی تخصصی حرفه ای هستید
میتوانید زیر شاخه ی و یا شاخه دیگری را شروع کنید, به هیچ وجه تلاش نکنید که همه را با هم یاد بگیرید و کار تیمی رو از یاد نبرید !

پس در پایان یک جمع بندی میکنیم .


1- ابتدا 7 مورد جامع را فرا میگیرد
2- بعد از فراگیری یک تخصص انتخاب کرده و آن را فرا میگیرد
3- بعد از کسب مهارت های لازم در تخصص خود میتوانید تخصص دیگری را نیز فرا بگیرید.


نکته 1 : یادگیری صحیح موارد ذکر شده میتواند مصادف با جوانی شما بگردد پس این کار را به عنوان حرفه و شغل نگاه کنید نه تفریح .
نکته 2 : سعی کنید بعد از فراگیری هر قسمت بتوانید از آن در آمد داشته باشید , در آمد از طریق این راه شما را مشتاق تر و حرفه ای تر میکند.
نکته 3 :در طول این راه طویل بارها و بارها خسته میشوید اما هر زمانی که احساس کردید در یک پروژه راهی وجود ندارد بار دیگر تلاش کنید در هکینگ try harder یک اصل است.

بسیار خوب نسخه ی اول این پست همینجا به پایان میرسد . حالا میتونید یک فنجان قهوه داغ مهمونم کنید

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

منبع : سیمرغ - simorgh-ev.com