نگاره‌هایی پیرامون امنیت، شبکه و رمزنگاری

چگونه هکر شویم؟

دنیای امنیت را می‌توان به جهت گستردگی به یک هزارتوی بزرگ تشبیه کرد، که ورود بدون نقشه و بدون برنامه به آن، در ابتدا منجر به سردرگمی و در نهایت منجر به یاس و مانع رسیدن فرد به مقصدِ مطلوب می‌گردد. در این نگاشته – که به صورت مستمر بروز رسانی می‌شود – سعی بر این است که برای شاخه‌های مختلف امنیت، یک نقشه‌ی راه ترسیم شود و در اختیار علاقمندان قرار گیرد؛ تا به وسیله‌ی آن بتوانند به جواب سوالات زیر دست یابند:

  • چه شاخه‌هایی از امنیت وجود دارد؟
  • از کجا باید شروع کرد؟
  • چه کتاب‌هایی را باید مطالعه کرد و چه ویدیوهایی را باید تماشا کرد؟
  • چه دوره‌هایی را باید گذراند؟

البته بر کسی پوشیده نیست که نه تنها در حوزه‌ی امنیت، که در هر حوزه‌ی دیگری از علم، با اتکا کردن بر مطالعه نمی‌توان به یک خبره‌ی آن حوزه تبدیل شد. حرفه‌ای شدن مستلزمِ انجام تمرین‌های مستمر و داشتن پشتکار زیاد برای کسب تجربه و بروز نگه‌داشتن دانش است. با این حال در این نگاشته تلاش می‌کنیم راهی را نشان دهیم که بتوان با طی کردن آن به یک کارشناس امنیت یا آزمونگر نفوذ تبدیل شد که خودش می‌تواند برای ادامه‌ی راه، کوتاه‌ترین و سریع‌ترین مسیرِ ممکن را تشخیص دهد.

نقشه‌ها

  • دانش پایه
  • امنیت نرم‌افزارهای وب – آخرین بروز رسانی ۱۳۹۸/۰۵/۲۱
  • امنیت شبکه (اضافه خواهد شد)
  • امنیت برنامه‌های کاربردی تلفن‌های همراه (اضافه خواهد شد)
  • امنیت در رمزنگاری (اضافه خواهد شد)
  • امنیت و مهندسی معکوس و اکسپلویت – آخرین بروز رسانی ۱۳۹۹/۱۰/۰۹
  • امنیت سیستم‌های ابری (اضافه خواهد شد)
  • امنیت و جرم‌نگاری یا فارنزیک (اضافه خواهد شد)

دانش پایه

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

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

بازگشت به نقشه‌ها


امنیت نرم‌افزارهای وب

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

  • اگه دنبال راه آسون و میانبر هستین، خط‌چین رو دنبال کنید و با خوندن ۵ کتاب به سطح خوبی برسید.
  • لازم نیست توی هر مرحله تمامی کتاب‌ها رو مطالعه کنید، اما اگه این کار رو انجام بدید بهتر هست.

نقشه راه پیشنهادی برای آزمون‌نفوذ برنامه‌های کاربردی وب:

خب قبل از هر چیز، پیشنهاد می‌کنم نقشه راه رو دانلود کنید.

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

مرحله دوم) برای شروع پیشنهاد من این هست که زبان JavaScript رو در حد متوسط یاد بگیرید. تمرکز بیشتری روی قسمت‌های ارسال درخواست HTTP بگذارید. این زبان برای کشف آسیب‌پذیری و اکسپلویت‌نویسی سمت کاربر بسیار کلیدی خواهد بود. همچنین در کنار اون نیاز به یک زبان برنامه‌نویسی برای اکسپلویت‌نویسی آسیب‌پذیری‌های سمت سرور دارید، پیشنهاد من Python به دلیل سادگی در یادگیری و انعطاف‌پذیر بودن است. بعد از اون، یادگیری آسیب‌پذیری‌های OWASP و طبقه‌بندی اونها توی اولویت اول قرار داره.بعد از اون نحوه آزمودن هر تست می‌تونه کمک کنه ایرادات امنیتی یه سایت رو کشف کنید. البته در آخر هم بد نیست با یک عینک دیگر و حتی کامل‌تر به تست‌های OWASP و دسته‌بندی اونها نگاه کنیم (این آخری برای خودم هست و کامل‌تر میشه به مرور زمان).

مرحله سوم) خب حالا دیگه باید یه کتاب نسبتا حرفه‌ای رو شروع کنید، پیشنهاد کتاب Web Application Hackers Handbook به نویسندگی Dafydd Stuttard نویسنده نرم‌افزار محبوب Burp Suite هست. وزن «آزمون‌نفوذ» این کتاب نسبت به «برنامه‌نویسی امن» بسیار بیشتر است که درک درستی از انواع حملات مختلف در بستر وب را به خواننده منتقل می‌کند. به همین منظور، هم به برنامه‌نویس‌ها و هم به کارشناسان امنیت خواندن این کتاب توصیه اکید می‌شود.

مرحله چهارم) اگه می‌تونید از SANS دو تا از دوره‌هاش رو گیر بیارید پیشنهاد می‌کنم DEV522: Defending Web Applications Security Essentials و SEC642: Advanced Web App Penetration Testing, Ethical Hacking, and Exploitation Techniques رو پیدا کنید و به دقت به مباحث‌اش مسلط شین. SANS خیلی توی مباحث عمیق نمیشه، اما سرفصل‌های خوبی رو پوشش میده، آسون بودن شیوه گفتار و سختی تدریجی مباحث از ویژگی‌های خوب این دوره‌ها هست. بعد از اون باید کمی قسمت تئوری رو کم‌رنگ‌تر کنید و توی برخی از آسیب‌پذیری‌ها عمیق‌تر شید. برای همین دو کتاب به شما معرفی می‌کنم که قسمت‌های وب‌اشون به نظرم این دغدغه رو برطرف می‌کنه. قسمت وب کتاب‌های بسیار خوب The Hacker Playbook 2 و The Hacker Playbook 3، خوبی این کتاب‌ها اینه که اولا یک پورتال آسیب‌پذیر دارن، تمامی آسیب‌پذیری‌هایی رو که درس داده میشه روی پورتال کشف و اکسپلویت کرد، دوما به مسائل و آسیب‌پذیری‌های جدیدتری همراه با نحوه نفوذ اشاره می‌کنه.

مرحله پنجم) توی این مرحله باید علاوه با آشنا شدن با نرم‌افزار Burp Suite، متدولوژی آزمون‌نفوذ اون رو کامل مطالعه کنید. خوبی این متدولوژی اینه که بعد از مطالعه اون، میتونید به قسمت آکادمی برپ مراجعه کنید و آسیب‌پذیری‌هارو کشف و اکسپلویت کنید. این کار باعث میشه به حالت گذار خوبی از بحث تئوری به کار عملی داشته باشید.

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

مرحله ششم) توی این قسمت، کتاب ‌The Browser Hacker’s Handbook رو به شما پیشنهاد می‌کنم که تخصصی‌تر در خصوص حملات تحت وب در بستر مرورگرها. مفاهیم امنیتی بسیار مهمی مثل Same Origin Policy و Cross Origin Resource Sharing و مواردی این چنینی در این کتاب به دقت بررسی می‌شه. بعد از اون کتاب Mastering Modern Web Penetration Testing خیلی می‌تونه مفید باشه. این کتاب شدیدا مباحث به‌روز و کاربردی مثل Server-Side Request Forgery و External XML Entity رو پوشش می‌ده. خب حالا وقتش هست سطح تسلط Python در مباحث هکینگ رو با Python for Pentesters بالاتر ببرید.

مرحله هفتم)‌ این مرحله برای کسانی هست که میخوان برخی از مباحث رو عمیق بشن. مثلا برای اینکه بتونید از سد تجهیزات امنیتی مثل وَف عبور کنید، شدیدا پیشنهاد می‌کنم کتاب Web Application Obfuscation رو توسط Mario Heiderich مطالعه کنید. همچنین برای اینکه کاربرد زبان Python رو به بالاترین سطح برسونید، کتاب Black Hat Python: Python Programming for Hackers and Pentesters رو پیشنهاد می‌کنم.

مرحله هشتم)‌ خب بعد از این نوبت کار عملی هست، یک مکان خیلی خوب که کلی پیکار متنوع در دسته‌بندی‌های مختلفی داره، وبسایت https://www.root-me.org هست. خب حالا وقتش هست کمی پیکار واقعی و سطح بالا انجام بدید، سایت https://ctftime.org اکثر CTFهای دنیا رو با سیستم امتیازدهی مناسب و تاریخ برگزاری دسته‌بندی کرده. همچنین بعد شرکت در CTF، می‌تونید راه‌حل‌ها رو توی همون سایت پیدا کنید (راه‌حل‌ها رو شرکت‌کننده‌ها میذارن، پس بهتره که توی شبکه‌های اجتماعی هم دنبال راه‌حل بگردید). توی این مرحله شما به نقطه‌ای رسیدین که کتاب خوب رو از بد تشخیص بدید،‌ کافی هست توی هر حوزه‌ای که مشغول هستید، مثلا در حال پیاده‌سازی و آزمون oAuth یک سازمان هستید، کتاب تخصصی اون قسمت رو مطالعه کنید. برای مثال کتاب Advanced API Security پیشنهاد میشه.

مرحله نهم)‌ از اینجا به بعد مطمئن باشید شما می‌تونید با خواندن یک کتاب مثل Real-World Bug Hunting که به‌روزترین و بهترین منبع از نظر من برای کشف آسیب‌پذیری هست، به راحتی توی سایت‌هایی مثل hackerone یا bugcrowd درآمد خوبی داشته باشد.

کلام آخر) در آخر باید این نکته رو اضافه کنم که هر چقدر زبان‌های برنامه‌نویسی بیشتر و معماری‌های متنوع‌تری رو بلد باشید، قطعا دید بهتری در شناسایی نقاط ضعف امینیتی سامانه‌ها پیدا می‌کنید. همچنین لینک‌های زیر هم می‌تونید برای اطلاعات بیشتر مطالعه کنید:

https://portswigger.net/blog/so-you-want-to-be-a-web-security-researcher
Offsec weblog – How to become a hacker?

امنیت و مهندسی معکوس

سلام.
من میثم فیروزی هستم. این نوشته را به درخواست دوستم یاشار نوشتم. و قراره که یه بررسی مختصری داشته باشیم از مسیر تبدیل شدن به یک متخصص امنیت نرم‌افزار. 

در این نوشته سعی بر این دارم که مقدمه‌ای به زبان فارسی در مورد امنیت نرم‌افزار با تمرکز به زبان های سیستمی مانند C و C++ که به شکل مستقیم اجرا میشوند بنویسیم، گروه دیگر زبان‌های که به زبان های managed معروف هستند و توسط یک سکوی میانی اجرا میشوند مانند C# و Java  مورد بحث در این نوشته نیستند.

سعی من بر این است که به جای بحث فنی در مورد یک باگ و اکسپلویت به روش‌های یادگیری آنها بپردازم به عبارت دیگر ماهیگیری را به شما آموزش دهم. بخش اول تعریفی از مفهوم باگ و اکسپلویت بیان می شود، و در ادامه مراحل کسب دانش برای پیدا کردن باگ و اکسپلویت آنها بررسی می شود.

مباحث مطرح شده در این نوشته مخصوص یک سیستم عامل یا یک محصول نرم‌افزاری نیست، به عبارت دیگر با کسب مهارت‌های مطرح شده شما می‌توانید از سیستم‌عامل های مختلف(Windows, iOS/MacOS, Linux,…) یا برنامه‌های گوناگون(به عنوان مثال مرورگرها) اسیب‌پذیری پیدا کنید.

باگ و اکسپلویت:

وقتی می‌گوییم باگ دقیقا به چه معنا است و اکسپلویت کردن آن چه معنایی دارد. 

یک آسیب پذیری در واقع یک اشتباه برنامه‌ نویسی است که امکان اکسپلویت شدن دارد. مانند سرریز بافر که به معنی نوشتن در یک حافظه بیش از مقدار تعیین شده است. پس همه‌ اسیب‌پذیری‌ها باگ هستنند ولی هر باگی ممکن است اسیب‌پذیری نباشد.

اکسپلویت به معنی سواستفاده از یک اسیب‌پذیری می‌باشد که معمولا به اجرای کد دلخواه منجر می‌شود ولی سواستفاده‌های دیگری نیز ممکن است از یک اسیب‌پذیری داشته باشیم مانند استخراج اطلاعات یا افزایش سطح دسترسی بدون اجرای کد.
تعریف دیگری از باگ و اکسپلویت در چارچوب نظری به ویژه در زمینه Memory corruption یا تخریب حافظه توسط چندین نفر تحت عنوان weird machine ارائه شده است. ( عکس از ویکی‌پدیا)

زمانی که ما یک نرم‌افزار یا کد را یک مجموعه‌‌ی محدود از حالات و جابجایی بین همان حالات مشخص شده در نظر بگیریم، یک 

اکسپلویت به اجرای کد یا جابجایی به حالتی که خارج از فرض و محدوده‌ی برنامه است می‌گویند.

بیایید یک اسیب‌پذیری کلاسیک را بررسی کنیم: کد زیر دارای اسیب‌پذیری Stack-Overflow یا سرریز استک می باشد.

در کد زیر فرض شده است که برنامه پس از اجرا شدن در مرحله‌ی بعدی از کاربر ورودی‌ بگیرد، و آن را در خروجی نمایش دهد.

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

سوال مهم این است که چه مهارت هایی برای پیدا کردن اسیب‌پذیری و اکسپلویت آنها در زبان های نیتیو لازم داریم؟

مهمترین مهارت‌های مورد نیاز مفاهیم پایه‌ای علوم کامپیوتر هستنند. بدون دانستن اینکه برنامه‌ها چطور نوشته و کار می کنند نمی توان در آنها اسیب‌پذیری پیدا کرد.

پس شما نیاز به دانش خوبی از برنامه نویسی و محیط اجرای برنامه‌ها دارید. با توجه به اینکه شما می‌خواهید از چه برنامه‌ای اسیب‌پذیری پیدا کنید مهارت‌های متفاوتی نیز نیاز دارید به طور مثال اگر هدف شما یک مرورگر می‌باشد باید بدانید مرورگرها چگونه کار می کنند.

ترتیب یادگیری مباحث مورد نیاز:

آشنایی با زبان C/C++ و مفاهیم پایه‌ای برنامه نویسی:

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

مهندسی معکوس

شما باید بتوانید با ابزارهای مهندسی معکوس و دیباگ کد مانند IDA-PRO، WinDBG, GDB, LLDB ,… 

کار کنید و منطق برنامه را در زمان اجرا بفهمید و سورس کد اسمبلی را متوجه بشید. ممکن است برنامه‌ای که می‌خواهید تحلیل کنید متن‌باز باشد ولی برای اکسپلویت قطعا نیاز به درک محیط اجرا دارید. من لازم نمی‌بینم مفاهیم مورد بحث در هر کدام از این پیش‌نیاز ها را اینجا مطرح کنم، به طور مثال شما باید بفهمید یک تابع در زمان اجرا چگونه توسط cpu و با چه منطقی اجرا و برگشت داشته می‌شود(Calling convention ) این مباحث را بعد از خواندن منابع آشنا می‌شوید و یاد می‌گیرید.

با کمک این ابزار ها می‌توانید  منطق برنامه در زمان اجرا را مشاهده کنید. باگ ها در زمان اجرا معنی میگیرند. 

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

آسیب‌پذیری‌ها در زبان های C و C++

اینکه چه کدی و چرا داری آسیب‌پذیری است نیاز به دانش خاص خود دارد. بیشتر این مفاهیم در بخش یادگیری زبان ها بررسی می‌شوند ولی برای اینه درک بهتری داشته باشید بهتر است کتاب‌های زیر را بخوانید.

آشنایی با مفاهیم محیطی که برنامه در آن اجرا می‌شود:

 فرض کنید شما می‌خواهید باگی درهسته‌ی سیستم‌عامل ویندوز یا MacOS یا یک مرورگر را اکسپلویت کنید.

معمولا برای اکسپلویت یک باگ نیاز است از امکاناتی که آن محیط به ما می‌دهد استفاده کنیم و قطعا نیاز به درک معماری و ساختاری آن برنامه و محیط اجرایی داریم به طور مثال باید بدانیم سیستم مدیریت حافظه در آن برنامه چگونه کار می‌کند، به شکل فنی‌تر برنامه چگونه مموری تخصیص می‌دهد(heap memory). 

همچنین باید توجه داشته باشید که با درک درست معماری و ساختار برنامه‌ای که قرار است از آن باگ امنیتی پیدا کنید می توانید نقاطی از برنامه که از نظر امنیتی مهم می باشند(attack vector) را پیدا کنید. معمولا این نقاط حساس قسمتی از کد می‌باشد که از کاربر ورودی می‌گیرد، در واقع شما سوال «چه قسمتی از یک برنامه را برای پیدا کردن اسیب‌پذیری بررسی کنم؟» را پاسخ می دهید.

همچنین موضوع دیگه این است که گاهی اسیب‌پذیری ها از نوع منطقی می‌باشند، یعنی طراحی یا پیاده سازی برنامه دارای مشکل است با درک خوب معماری می‌توانید باگ های امنیتی از نوع منطقی نیز پیدا کنید.

چون تخصص بنده سیستم عامل ویندوز و MacOS/iOS هست، کتاب‌های زیر را معرفی می کنم.

آشنایی با تکنیک‌های اکسپلویت باگ‌ها:

نوشتن اکسپلویت برای یک باگ نیاز به دانش خاص خود دارد. به طول مثال فرض کنید شما یک باگ heap overflow دارید باگی که به شما امکان می دهد بیشتر از مقدار تخصیص یافته شده در مموری بنویسید.

چگونه می‌توان از این باگ سو‌استفاده کرد؟ برای اکسپلویت کردن این باگ علاوه با داشتن دانش کسب کرده در مراحل قبل باید با تکنیک‌هایی نیز آشنا شوید که در یک اکسپلویت معمولا استفاده می‌شوند. پس باید دنبال نوشته‌هایی باشید(write-up) که اکسپلویت یک باگ در برنامه‌ی هدف شما را بحث و اکسپلویت می‌کند. 

برای پیدا کردن این نوشته‌ها می توانید از گوگل و توییتر کمک بگیرید و وبلاگ هایی که این مطالب را منتشر می‌کنند را بررسی کنید. شماره CVE باگ را جستجو کنید. یا به عبارت دیگر همیشه از گوگل کمک بگیرید. 

 نکته‌ای که باید به آن توجه کنید این است که باید به ترتیب تکنیک‌ها را فرا بگیرید و تست کنید. 

بهتر است ابتدا با منابعی شروع کنید که با مثال‌های ساده تر شروع می کنند، آنها را یک به یک تست کنید.

در نهایت مسابقات CTF یک راه دیگر برای یادگیری پیدا کردن باگ و اکسپلویت آن می‌باشد. هم تلاش برای حل مساله‌های مطرح شده در CTF و هم مطالعه‌ی راه‌حل های دیگران برای مساله‌ها کمک بسیار زیادی برای کسب دانش می‌کند.

برای آشنایی با  CTF این لینک را مشاهده کنید. همچنین تماشای بخش اول این ویدیو نیز توصیه می‌شود. برای نمونه چند منبع توضیح اکسپلویت: 

نکته‌ی آخر و مهم که باید به آن توجه شود این است که کسب این مهارت ها نیامند زمان و تلاش می باشد. باید صبور باشید. 

Peter Norvig : “Teach Yourself Programming in Ten Years”

بازگشت به نقشه‌ها

  1. seqrity گفت:

    برای یادگیری جاوا اسکریپت :
    https://javascript.info/

  2. testi گفت:

    سلام. برنامه ای برای ضبط دوره آموزشی ندارید؟ خیلی کمبود دوره ی خوب فارسی توی امنیت احساس میشه… |:

  3. amina گفت:

    sans 545 ham man pishnahad mikonam ghabl az 642 gozaroonde beshe kheily mofide

  4. testi2 گفت:

    سلام. بقیه شاخه ها رو اضافه نمی کنید؟!

  5. امیر گفت:

    یه سوالی برام پیش اومد.
    تو بعضی نقشه‌ها یه چیزهایی برای یادگیری سیستم عامل میزارن فکر کنم شما لحاظ کردین. به نظر تسلط کار به سیستم عامل در حد کاربردهای روزانه برای کافیه؟

    • ابراهیم قاسمی گفت:

      سلام امیر جان، سوالت به جاست. توی دانش پایه، یادگیری سیستم عامل و حتی رمزنگاری و یه زبان برنامه نویسی، خیلی به درک عمیق‌تر از امنیت و پیشرفت توی هر حوزه‌ای از امنیت کمک می‌کنه. لیست رو به مرور کامل‌تر می‌کنیم و اگه کتاب خوبی برای این زمینه‌ها به چشممون خورد، حتما اضافه می‌کنیمش. ممنون از کامنت خوبت.

  6. محمدحسین گفت:

    سلام خسته نباشید …. یکی از مشکلاتی ک من بهش برخوردم این بود که پیدا کردن برخی از این کتابا و دوره سخته و برخی از اینا رو حتی پیدا نکردم مثل root me hacking platform ….. ب نظرم همشو تو یه فایل rar تو سایت قرار بدید ک دوستان (آیندگانی که میخوان بعد ها از این رودمپ استفاده کنند) به مشکل برنخورند و سخت نباشه براشون

    • ابراهیم قاسمی گفت:

      سلام محمد حسین جان. اکثر کتاب‌ها رو می‌تونید داخل https://libgen.is پیدا کنی. قرار دادن فایل کتاب‌ها روی وب‌سایت رو به لحاظ این که ممکنه مشکل کپی‌رایت برای دامنه ایجاد کنه، درست نمی‌دونیم. 🙂

  7. محمدحسین گفت:

    سلام خسته نباشی ممنون وقت گذاشتی من سه تا سوال داشتم یک اینکه چه مدت طول میکشه تا رودمپ رو کامل و به صورت خط به خط یادگرفت و عملی انجام داد و… و دو اینکه برای برنامه نویسی و… به صورت گسترده تر باید ریاضی ام قوی باشه ؟ من ریاضیم ضعیف رو به متوسط هست …… و سه اینکه شما میخواید برای وبسایت قسمت ثبت نام و پروفایل کاربری درست کنید ک کاربرا عضو بشن و… ؟

  8. taha گفت:

    جالبه عکس توی تب جدید باز کنی فرق میکنه

  9. محمدحسین گفت:

    سلام خسته نباشید …. قرار نیست رودمپ ریورس رو قرار بدید ؟
    با تشکر

  10. mahdi گفت:

    سلام خسته نباشید. کی قراراه رود مپ امنیت شبکه قرار بگیره تو سایت؟

  11. Amir گفت:

    اساتید بقیه اش رو کامل نمیکنید؟

  12. ممد گفت:

    یاشار جان سلام ی سوال برام پیش امده تو خودت با پنتستر و ایلرن سک رفتی جلو چرا اسم اونارو نیاوردی و اسم سنسو اوردی؟

    • یاشار شاهین‌زاده گفت:

      توی این سطح SANS خوبه، ELearn خیلی عمیق‌تره می‌تونج پایین‌تر اضافش کنم

      • ممد گفت:

        اها یعنی تو برای قبل شروع وب اپلیکیشن گنتستینگ سنسو پیشنهاد میکنی چون پایه تره و برای شروع یا حالا حرفه ای شدن میگی برن سراغ ایلرن ، درست ؟
        برای حوزه های نتورک و ریورسم همینه ؟

    • سارا گفت:

      pentester manzooret PentesterLab e?

  13. سهراب گفت:

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

    • یاشار شاهین‌زاده گفت:

      مرسی از نظرتون، خوشحالم که سایت برایتون خوب خوبه و به من انرژی میده این قضیه

  14. مهدی گفت:

    باسلام واحترام
    نکته حائز اهمیت اینجاست که چطور کتابهارو بخریم
    اینکه هرکدوم حدودا بین ۲۰ تا ۴۰ دلار و قیمت امروز دلار به کنار…
    چطوری پرداخت کنیم باتوجه به تحریم ها و…
    باتشکر.

  15. سعید گفت:

    آقا ۳ ساعت بعد از خوندن این مطلب شما اولین آسیب پذیری آکادمی رو حل کردم! :)) البته برنامه نویس وب هستم، می گم شما همه کاراتونو (کشف آسیب پذیریا) با همین نرم افزار burp می کنید؟! نرم افزارهای دیگه ای هم هست معرفی کنید؟

  16. علی گفت:

    با سلام
    کاش برنامه ای برای تدریس دو کتاب
    obfus
    api sec
    گنجانده می‌ شد.
    حدااقل دوره ای میبود تا مباحث دو کتاب رو تقریبا پوشش میداد، این دو کتاب خوراک هانتینگ هست.

  17. max گفت:

    سلام برای باگ بانتی کار کردن باید از این رود مپ پیش بریم یا رود مپ خود آقا یاشار؟؟؟؟

  18. سامان گفت:

    عالی بود ممنون

  19. max گفت:

    ببخشید یادگیری لینوکس و lpic ها دقیقا کجای نقشه راه استاد شاهین زاده هستن؟؟

  20. سامان گفت:

    عالی بود و کامل ممنون

  21. امین گفت:

    رود مپ انتقال بانتی رو هم بذارین

  22. علی گفت:

    سلام خسته نباشید خیلی ممنون بابت این رود مپ عالی بهترین رود مپی بود که تا به حال دیدم برای وب هکینک رو میگم

    فقط یه سوال که برای خودم پیش اومد اینکه چرا نتورک نیاز برای وب هکینگ یا tcp/ip چرا نیاز؟
    این کتابایی که گفتی یکیش رو تموم کردم خیلی عالی بود خیلی خیلی عالی بود.
    ممنون بابت همه چیز.

    • یاشار شاهین‌زاده گفت:

      چون که زیربنای کار هست، یعنی نمیشه که شما بیایی لایه اپلیکیشن کار کنی و ندونی اون پایین چه خبره، توی یه سری آسیب‌پذیری‌ها مثل Smuggling یا اکسپلویت کردن باگ‌های دیگه هم مفاهیم رو باید بدونین که به مشکل نخورید

  23. امین گفت:

    پس کتاب Web Hacking 101 by Peter Yaworski چی

  24. محمد گفت:

    سلام خسته نباشید.
    دو تا پیشنهاد واسه سایتتون داشتم.
    اول اینکه نظرات به شدت ریز هستن. اندازه فونتشون رو بیشتر کنید که ببینیم.
    دوم اینکه واسه نظرات زمان ارسالشون رو هم ذکر کنید.
    من بین نظرات دیدم آقا یاشار گفته نقشه راه اندروید رو به زودی کامل می کنن. اما چون زمان ارسال این متنشون رو نمی بینم میخواستم اگه می شه بگن حدودا کی این نقشه راه رو در سایت قرار می دن.
    ممنون از سایت خوبتون

  25. آرمین گفت:

    سلام تو اون قسمت نتورک پلاس (پیشنیاز ها) کتاب آقای مایک میرز بود ایشون یک دوره نتورک پلاس تو یودمی دارن به نظرتون دورشون کفایت میکنه یا کتابشون رو بخونیم چون تعداد صفحات و مباحثش زیاد هست

  26. علی گفت:

    چرا مطالب جدید نمیگذارید

  27. Erffun گفت:

    سلام خیلی ممنون از رود مپ عالیتون
    میخواستم ببینم رود مپ نتورک چیشد و آیا منتشرش میکنید؟

    • یاشار شاهین‌زاده گفت:

      من که نه ولی کسی پیدا شه می‌تونه پیغام بده به من بذارم اینجا رودمپش رو

  28. hiva گفت:

    سلام و خسته نباشید
    این کتابهایی که برای تسلط بیشتر بعد از نتورک پلاس معرفی کردید کتابهای مرجع هستند هر کدوم بالای هزار صفحه هستند باید همشو بخونیم یا فصل‌های مشخصی مدنظر هست برای اون قسمت از نقشه راه؟ ممنون میشم راهنمایی کنید
    سپاس

    • یاشار شاهین‌زاده گفت:

      سلام باید از اون کتاب قسمت‌هایی که مرتبط نیست رو تند خوانی کنی، مثلا قسمت کابل توی Network+ یا موارد مشابه

  29. رضا گفت:

    نقشه راه خیلی عالی است
    ولی من دنبال نقشه راه امنیت شبکه میگردم
    لطفا بگین کی قراره نقشه راه شبکه رو بزارید ؟

  30. Saman گفت:

    آقا خیلی خوبین
    تو این برهوت و قحطی خوبی التماستون می کنم همینجوری خوب بمونین
    کمک هم خواستین من در خدمتم
    ایمیل الکیه همینجا ریپلای کنین در خدمتم

  31. milo گفت:

    سلام یاشار جان وقت بخیر،اگه میشه و وقت کردی ردمپ امنیت شبکه رو هم زودتر اضافه کن تشکر.

  32. Alireza گفت:

    آقا یاشار برای اکسپلویت نویسی با پایتون__زبان گو رو یادم بگیرم بهتر نیس؟

  33. Alireza گفت:

    یاشار پایتون پیشنهاد میدی یا golang???

  34. رضا گفت:

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