بصورت کلی شما باید ۳ تا فاز جداگونه رو طی کنین (توی شیوه آموزشی من)، فاز پیشنیازها، فاز یادگیری OWASP و فاز یادگیری هانت، تصویر بصری رو این پایین میتونین ببینین، توضیحات تصویر هم میتونین از این لینک یوتیوب ببینین.
باگبانتی یعنی کشف آسیبپذیری از یه سازمان یا استارتاپ و دریافت جایزه در ازای آن. نوع این جایزه میتونه فقط یه تقدیرنامه باشه، میتونه پول باشه یا هر دو. به شخصی که این کارو انجام میده هانتر میگن. دو نمونه هانتر داریم Full-time و Part-time که اولی تمام زمان زندگیش رو هانت میکنه، میشه گفت شغل ثابتش میشه، نوع دوم در کنار کار اصلیش هانت میکنه که من هانتر نوع دوم هستم. یه سری پلتفرم هم این وسط وجود داره مثلا هکروان که بین هانترا و شرکتها واسط میشه و اگه به مشکل بخورن حل و فصل میکنه، اسکوربورد داره و کلی فیچر دیگه که میتونین خودتون ببینین.
بچهها من یک نقشه راه توی یوتیوب گذاشتم که میتونین ازش استفاده کنین. سعی کردم طوری ویدئو رو تنظیم کنم که برای هر سطحی مناسب باشه، توی این نقشه نیازی به کلاس آموزشی ندارین و میتونین خودتون به صورت خودخوان پیش برین و نتیجه بگیرین، برای مثال مهدی یکی از نفراتی بوده که این نقشه رو شروع کرده و تونسته یه باگ ۱۶ هزار دلاری از یه برنامه بانتی پیدا کنه، که البته سهم این نقشه توی باگ مهدی شاید ۱۰ درصد بوده ولی باعث حرکت مهدی شده و از سردرگمی اول مسیر خارجش کرده، هدف اصلیم هم همینه.
قطعا نیاز نیست اول مسیر تمام قسمتهای کل پیشنیازها رو بخونین، وگرنه یه مسیر سخت و بدون Rewardی خواهید داشت که خیلی از مباحث هم بدردتون نمیخوره، پس قسمتهای مختلفی از پیشنیازها رو لازم دارین، حالا کجاهاش؟ من برای پیشنیاز شبکه و جاوااسکریپت دو تا ویدیوی مجزا ضبط کردم و توی یوتیوبم گذاشتم، میتونین نگاه کنین و ایده بگیرین، این ویدیو شبکه و اینم ویدیو جاوااسکریپته. برای باقی پیشنیازها فعلا چیزی درست نکردم و خودتون اون قسمتهایی که فکر میکنین نیاز هست رو بخونین، توی ویدئو نقشه راه توضیح دادم که چیکار باید کنین، کافیه که توضیحات رو گوش کنین و دنبال مسیرش برین. یه سوالی که خیلی از من میپرسیدن این بود: «چقدر پیشنیاز بخونیم؟» این سوال انقدر تکرار شد که من یه ویدیو جداگانه تحت عنوان «مسیر اصولی یادگیری» چیست ضبط کردم توی یوتیوب قرار دادم.
قطعا وجود داره ولی یادتون باشه منابع «سمی» هم توی اینترنت پره و نه تنها شما رو به هدفتون نزدیک نمیکنه، بلکه دور میکنه و شاید براتون سوال باشه چطوری؟ مطالب نادرست باعث میشه شما ذهنتون شکل بگیره و نتونین اصل مسیر رو دنبال کنین. خب سوال پیش میاد اصل مسیر چیه؟ جواب من اینه: تقلید از آدمهای نسبتا موفق در ابتدای مسیر، خلاقیت و ساخت راه شخصی در ادامه. من یه هانترم که بصورت پارتتایم هانت میکنم و سالی تقریبا ۱۰۰ هزار دلار از هانت در میارم، من هیچوقت نمیتونم مسیر درآمد ۱ میلیون دلاری رو بهتون نشون بدم چون خودم هنوز نمیدونم چیه. همینو تعمیم بدین به هانتری که سالی ۲ هزار دلار نزده و داره به شما نقشه راه + مطلب آموزشی درس میده. شما اگه کل علم شخص رو هم یاد بگیرین تازه میشین مثل اون و یا کمی فراتر. پس اگه مطلب آموزشی میخونین یا نقشه راه فارسی نگاه میکنین، حتما رزومه شخص رو مد نظر بگیرین. اگر هم دوست داشتین از تجربههای من و دیگران استفاده کنین، آموزشها و مقالههای رایگانم رو توی سایت مموریلیکس منتشر میکنم.
اگه فکر میکنین بدون کلاس موفق نمیشین کلاس آموزشی به درد شما نمیخوره. یک کلاس آوردههای مختلفی داره، تجربه مدرس، آسونسازی مطالب و کار عملی که در نهایت این عوامل شما رو توی زمان جلو میندازن، یعنی بدون کلاس فقط «شاید» کمی دیرتر به هدفتون برسین، پس اگه شرایط شرکت در کلاسهای آموزشی مختلف رو ندارین ناامید نشین و ادامه بدین، البته یادمون باشه سوخت این مسیر «علاقه» است و نه چیز دیگه.
من یه دوره امنیت اپلیکیشن توی یوتیوبم گذاشتم که شما رو با برخی مفاهیم شبکه، وب، وبسرور، امنیت و غیره آشنا میکنه، از این لینک میتونین دوره رو نگاه کنین. سعی کردم مبانی امنیت وباپلیکیشن رو براتون توضیح بدم، قطعا چه بخواین کلاسی برین یا اینکه خودخوان جلو برین، این دوره ۱۱ ساعته میتونه کمکتون کنه. فقط یادتون باشه پیشنهاد من اینه که حتما در کنار دیدن ویدئوها، کار عملی هم انجام بدین که مطالب براتون تثبیت بشه، یعنی دقیقا همون کارایی که من انجام میدم رو خودتون انجام بدید و خلاصهبرداری کنین.
با توجه به تجربه خودم توی این حوزه، بنظرم تسلط نسبی به OWASP برای ورود به بازار کار کفایت میکنه. تسلط نسبی یعنی شما هم مفاهیم رو بدونی، هم بتونی کار عملی انجام بدی. یعنی به عنوان یه Penetration Tester بتونی آسیبپذیری پیدا کنی. این نکته رو توجه داشته باشید که توی مصاحبه لزوما آسیبپذیریهایی که توی باگبانتی بیشتر استفاده میشن رو از شما سوال نمیپرسن، تازه بنظر من این قضیه برعکسه یعنی بیشتر سمت آسیبپذیریهای مفهومی میرن. یعنی مثلا توی مصاحبه راجع به Insecure Deserialization سوال میپرسن در صورتی که توی باگبانتی ریت کشف بسیار پایینی داره. و در آخر اینکه بعنوان کارآموز یا جونیور شروع کنین برمیگرده به مصاحبه و دانش پایه خودتون.
مصاحبه کاری معمولا از دو قسمت تشکیل میشه، قسمت کار عملی و قسمت مصاحبه شفاهی. توی مصاحبه شفاهی معمولا مصاحبهکننده سعی داره دانش شما رو تخمین بزنه، اینجاست که سوالات مختلفی از شما میپرسه، یه دسته سوالات با «جواب مشخص» و یه دسته سوالات تحلیلی که «جواب مشخص» ندارن و قدرت تحلیل شما رو مشخص میکنن. برای اینکه بیشتر با این رویه آشنا بشین دو قسمت لایو برگزار کردم و با چندین نفر مصاحبه کردم، میتونین نگاه کنین و با سبک سوالات آشنا بشین، قسمت اول و قسمت دوم رو میتونین تماشا کنین.
نقشه راه اختصاصی اونقدرا هم پیچیده نیست. کافیه یه نقشه راه عمومی داشته باشین و بعد بر اساس شرایط و هدفتون شخصیسازیش کنین. توی این لایو توئیچ با سه نفر از بچهها صحبت کردم و سعی کردم برای هر کدوم یه نقشه راه اختصاصی بچینم تا بهتر متوجه بشین منظورم از شخصیسازی چیه. اصل داستان خیلی سادهست؛ اول باید بدونین هدفتون چیه، بعد توی یه بازه زمانی بلندمدت کارهایی انجام بدین که شما رو به همون هدف نزدیکتر کنه. مثلاً اگه هدفتون هانتر شدنه، لزوماً نیازی نیست برین مدرک CCNA بگیرین. شاید یه جا به دردتون بخوره، ولی احتمالاً بهترین استفاده از زمانتون نیست. مشکلی که من توی خیلی از مشاورهها دیدم اینه که طرف یه هدف مشخص داره، ولی کارهایی انجام میده که هیچ ربطی به اون هدف نداره. نتیجهش هم اینه که چند ماه یا حتی چند سال از وقتش صرف چیزهایی میشه که تأثیر چندانی روی مسیرش ندارن. البته یه نکته مهم هم هست؛ لازم نیست از همون روز اول هدف نهاییتون رو مشخص کرده باشین. بعضی وقتا لازمه ۳ تا ۶ ماه بین حوزههای مختلف امنیت بچرخین، چیزهای مختلف رو امتحان کنین و تازه بعدش بفهمین واقعاً به چی علاقه دارین و حاضرین برای چی زمان و انرژی بذارین. پس اگه اول مسیر هستین و هنوز هدفتون مشخص نیست، اصلاً نگران نباشین. یکم تجربه کنین، حوزههای مختلف رو ببینین و بعد تصمیم بگیرین. این زمانی که صرف شناخت خودتون میکنین، هدر نرفته.
توی چند سالی که تدریس میکنم، کمکم حس کردم دانشجوها مشکلات مشترکی دارن که دقیقا مثل یادگیری مسائل فنی براشون چالش ایجاد میکنه. با گذشت زمان متوجه شدم اهمیت این مشکلات از مطالب فنی خیلی بیشتره، در واقع حل این مشکلات باعث میشه مسیر یادگیری هموارتری داشته باشیم. مشکلاتی مانند: «انگیزه ندارم»، «ناامید میشم»، «ممد خیلی بلده من سرخورده میشم» و مسائل اینچنینی. برای همین سعی کردم یه سری ویدئو ضبط کنم و تجربه خودمو توی این قسمت براتون توضیح بدم که میتونین از این لینک ببینین.
یکی از مشکلاتی که شاگردای متعدد کلاسم باهاش مواجه شدن، اینه که مطالب یادشون میره. یعنی میاومدن پیش من و میگفتن ما هر چی میخونیم، آخرش یادمون میره و انگار بلد نیستیم. یه موضوع خیلی مهم اینجا وجود داشت، بهشون میگفتم مطمئنین «با کیفیت» میخونین؟ چرا که خوندن خالی دلیلی قاطعی برای یادگیری نیست. اکثرا از خودشون اندازهگیری درستی نداشتن، خیلیاشونم میگفتن شاید مشکل از ما باشه و به درد این رشته نخوریم، که درست نبود. برای همین تصمیم گرفتم دو تا ویدیو ضبط کنم، یکی راجع به درست زمان گذاشتن، یکی راجع به چطوری مطلب خوندن، امیدوارم که این ویدیوها کمک کنه خودتون رو بهتر اندازه بگیرید.
میشه گفت این پیغام رو از بیش از ۵۰٪ بچههای «هر دوره» دریافت میکنم، اوایل دوره شدیدا خوب پیش میرن و بعد یه مدت افت میکنن و یه سریاشون هم که کلا ول میکنن. چی میشه که اول دوره انگیزه داریم و بعدش از بین میره؟ اصلا انگیزه از کجا میاد و آیا باید داشته باشیم؟ چیز خوبیه؟ میشه بدون انگیزه ادامه داد؟ جواب همه این سوالات رو توی این ویدئو پاسخ دادم. بعدها کلی روی این ویدیو فیدبک خوب گرفتم، خیلی درخواست داشتم از طرف بچهها که «راجع به نحوه خوندن مطلب هم برامون یه ویدیو ضبط کن»، برای همین تصمیم گرفتم این کار هم بکنم، ممنون از نظراتتون.
مهدی بعد از اینکه تونست ۱۶ هزار دلار بانتی بزنه به تلاشش ادامه داد. از اون موقع سخت کار کرد، پیشرفت کرد، تلاش کرد، یادتون باشه حتی انگلیسی هم بلد نبود. ذرهذره به دانشش اضافه شد، چالههاشو پر کرد، مسیر سختی رو طی کرد، ولی کرد! خیلی مهمه، مهدی هم مثل بقیه ناامید میشده، قطعا روزایی عدم تمرکز داشته، قطعا کلی دوپلیکیت داشته، قطعا ۲ هفته (یا بیشتر) رو یه برنامه کار کرده و نتیجه نگرفته، خیلی اذیت شده، ولی تصمیم میگیره تو مسیر بمونه، این تو مسیر بودن جملش سادهست، عملش خیلی سخته! اینارو گفتم چون معمولا ما فقط نتیجه رو میبینیم و انتظار داریم زود به اون نتیجه برسیم، بعد ۴ ماه کار روزی ۱۲ ساعت اگه به اون نتیجه نرسیم سست میشیم، مغزمون شروع میکنه بهونه اوردن و از زیر کار در میریم، آخرشم به خودمون میگیم: «نمیدونم چمه نمیتونم کار کنم»، این تازه خروجی باهوشاس، کمهوشتراش معمولا هیتر هانترای موفق یا کلا باگبانتی میشن. خلاصه که، موفقیت هیچ راه جادویی نداره، هیچ میانبری نداره، هیچ «این راز منه و اگه بدونیش پول در میاری» نداره، فقط و فقط یه عامل داره: هدف و حرکت مداوم! حتما و حتما توییت مهدی رو بخونین و مصاحبهاش رو هم میتونین از این لینک ببینین، براش آرزوی موفقیت میکنیم ❤️
ناهامسک یا بهروز یکی از بهترین هانترای دنیاس که من معرفیش نکنم بهتره، لایو یهویی با Nahamsec رو از اینجا ببینین. مصاحبه با برخی از بچههای کلاس برای انتقال تجربه، لایو با امیر، سامان و صدرا رو تو اینستا گذاشتم، این سه نفر از بچههای خیلی خوب کلاسم بودن که بعدا عضو تیم آکادمی شدن، توی کلاس Jujutsu Hunters هم به عنوان TA حضور داشتن و خیلی موفق بودن، البته قبل از اون توی کلاس OWASP به عنوان TA مشغول بودن و عملکردشون عالی بود، لایو رو از اینجا میتونین ببینین. امید یکی از شاگردای خیلی خوب کلاسم بود، ذرهذره پیشرفتش رو دیدم و الان جز تیم هانت هست، فیدبک شدیدا مثبتی روی این لایو داشتم طوری که چندین نفر بعد از این لایو تونستن آسیبپذیریهای خوبی کشف کنن، امید توی این لایو از عدم تمرکز و راهحل خودش برای تمرکز رو میگه، بنظرم یکی از لایوهای خوبی بود که داشتیم و بدردتون میخوره. مبین نفر اول سامانهاس، میتونم بگم جز شاگردای خیلی خفنم بوده، قبلا برنامهنویس بوده و بعدش به هانت علاقهمند میشه، با امیررضا همگروه میشه و دوتایی خیلی بانتی میزنن. با مبین تو اینستا یه لایو رفتم که فیدبک شدیدا خوبی ازش داشتم، امیدوارم خوشتون بیاد. یه سری لایو هم با بچههای دیگه رفتم که بنظرم آموزنده هستن و پیشنهاد میکنم نگاه کنین، لایو با ایمان صیرفی، لایو با امین، لایو با سپهر، لایو با آرمان، شاید بازم چیزی باشه که از دستم در رفته باشه پیشنهاد میکنم خودتون هم داخل پیج بگردین.
من بخشی از زمانم رو صرف تولید محتوای عمومی میکنم، این محتواها در شبکههای اجتماعی که من دارم قابل دیدن هستن، یه سری از این منابع رو براتون پایین میذارم که ممکنه بکارتون بیاد. حساب توییتر (انگلیسی و فارسی)، سایت مموریلیکس، بلاگ تیم هانت ووریوکس، چنل یوتیوب، سایت PwnBox
بله من دو تا کلاس دارم، یکی کلاس OWASP و یکی کلاس Hunt، توی کلاس OWASP به قسمت پیشنیازها و OWASP میپردازیم، توی کلاس هانت هم که کلا میریم هانت میکنیم. کلاس اوسپ رو تا الان ۱۱ بار برگزار کردم، کلاس هانت رو ۵ بار، در مجموع بیشتر از ۳۵۰۰ تا شاگرد داشتم که توی این کلاسها شرکت کردند. توی OWASP ما یاد میگیریم آسیبپذیری امنیتی اصلا چی هست؟ چطوری میشه اکسپلویتش کرد؟ خطر هر کدوم چیه؟ ولی توی هانت یاد میگیریم «کجا رو بگردیم تا آسیبپذیری پیدا کنیم؟» که این نکته خیلی مهمیه، برای جواب به این سوال باید یه متدولوژی هانت داشته باشیم که توی دوره هانت من سعی میکنم اینو به بچهها یاد بدم.
بچهها این تجربه من بعد چندین سال هانته، هر آنچه که نیازه شما برای هانتر شدن رو یاد بگیرین توی Roadmapم توی یوتیوب گفتم (لینکش توی همین داکیومنت هست)، یعنی من مباحث دیگهای مثل PWK رو اصلا بلد نیستم و اصلا ایدهای ندارم که بدردتون میخوره یا نه. اون قسمتی که مطمئنم و جواب پس داده رو دارم بتون میگم، پس اگه توی نقشهراه دیگهای یا منبع دیگهای میبینین با توجه به توضیحاتی که دادم خودتون باید تصمیم بگیرین که واردش بشین یا نه. در کل شما نباید نگرش «دوره محور» به مباحث داشته باشید، هر دوره یه سری سرفصل داره که باید به اونا مسلط بشین. توی Roadmapم مباحث مختلفی رو گفتم که ممکنه توی دورههای مختلفی وجود داشته باشه که به معنی این نیست که «باید دوره رو بگذرونین». امیدوارم تونسته باشم مطلب رو جا بندازم (کلا این سوال رو خیلی ازم میپرسین که «چیز دیگه نیاز نیست؟»، و جوابش «خیر» است).
توضیحات دوره OWASP ZeroX رو میتونین از این لینک ببینین و همینطور توضیحات کلاس Hunt Takopi رو میتونین از این لینک ببینین.
آمار کل کلاسهام رو میتونین توی این لینک ببینین (کلاسایی که تشکیل شده و اونهایی که قراره تشکیل بشه)
بخشهایی از کلاسهام رو توی اینستاگرام و یوتیوب گذاشتم که میتونین نگاه کنین، ویدئویی از اوسپ قسمت اول، ویدیویی از اوسپ قسمت دوم، قسمتی از لایو هانت" کلاس هانت، حل برخی از سوالات امتحان اوسپ، نوشتن اکسپلویت WordPress به منظور اضافه کردن حساب مدیر به سایت، قسمت Reverse Proxy از کلاس هانت رو هم بچهها خیلی دوست داشتن که عمومیش کردم. از کلاس اوسپ زیرو سه تا ویدیو رو عمومی کردم، خیلی هم فیدبک خوب روشون داشتم. اولیش فیلم ارسال درخواست با جاوااسکریپت، بعدیش قسمتیه که با بچهها رفتیم HackTheBox حل کردیم، هر دو قسمت رو میتونین از این لینک و این لینک ببنین.
داخل این لینک به مجموعهای از سوالات متداولی که ازم میشه جواب داده شده که میتونین بهش رجوع کنین.