مسیر موفقیت برای یک نفوذگر در برنامه های باگ بانتی

مسیر موفقیت برای یک نفوذگر در برنامه های باگ بانتی

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

TL؛DR: به عنوان یک پنتستر، وقتی کارم را در زمینه باگ بانتی شروع کردم، روزهای سختی را پشت سرگذاشتم. برای کسب درآمد استایل پژوهش امنیتی خودم را تغییر دادم. با خواندن مقاله متوجه مسیر تغییر خواهید شد.

زمانیکه فعالیت خودم را در زمینه باگ بانتی شروع کردم، فقط در زمینه توسعه وب ، OSCP (گواهینامه امنیت تهاجمی حرفه ای (Offensive Security Certified Professional)) مهارت داشتم، و تقریبا یک سال به عنوان پنتستر تمام وقت کار کرده بودم. مسلما هنوز چیزهای زیادی بود که می توانستم یادبگیرم، اما در این شرایط با اطمینان خاطر تست نفوذ انجام میدادم و درک خوبی از کلاس های آسیب‌پذیری اصلی، مخصوصا برای وب اپلیکیشن ها داشتم.

با مهارت هایی که به عنوان یک نفوذگر بدست آورده بودم، در تست های نفوذی که انجام میدادم به طور مداوم به راحتی باگ های زیادی را می توانستم پیدا کنم، و این باعث شد تا فکر کنم که باگ بانتی هم یک راه جانبی آسان برای کسب درآمد بیشتر است. قبل از اینکه باگ بانتی را شروع کنم، میزان درآمد احتمالی‌ای که قراربود ازطریق باگ بانتی بدست بیاورم را برحسب تعداد باگ هایی که هرروز در تست نفوذ کشف می‌کردم محاسبه کردم. بعضا ساعت 9 صبح کارم را روی پروژه جدید شروع می‌کردم و قبل از ساعت 10 یک آسیب پذیری تزریق SQL پیدا می‌کردم. طبق این سناریو به خودم گفتم “اگر الان در برنامه باگ بانتی شرکت کرده بودم، تا حالا 5000$ پول درآورده بودم!!!”. برای همین، در اوقات فراغت خودم در برنامه های باگ بانتی شرکت کردم.

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

نقطه عطف ماجرا

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

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

نکته کلیدی

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

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

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

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

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

کشف حداکثری

اگر بدانیم که مثلا تست یک وب اپلیکیشن 5روز طول می‌کشد، اگر اجرای یک دایرکتوری brute force 10 روز طول بکشد چه خواهید کرد؟! اگر همین دایرکتوری brute force در روز ششم یک پورتال مدیریتی محافظت نشده را کشف کند چه؟ این امکان در تست نفوذ وجود ندارد، ولیکن در برنامه باگ بانتی ممکن است، این به این معنی است که اینجا ما یک شکاف پیدا کردیم که می توانیم روی آن متمرکز شویم!

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

عمیق ترین نقطه

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

  • نقاط پایانی را به صورت دستی در همه چیز تست کنید.
  • برای بررسی کامل و دقیق و درک هدف و جریان هر ویژگی کامل وقت بگذارید.
  • هدف هر پارامتر و کوکی را درک کنید.
  • مفهوم هر سطر از کدهای جاوا اسکریپت را درک کنید.

این نوع درک عمیق از هدف باعث می‌شود تا متوجه باگ هایی شوید که از چشم بقیه افراد پنهان مانده اند.

مقیاس پذیری

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

استمرار

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

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

به بهره برداری های کور فرصت خودنمایی بدهید

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

خلاقیت و کسب تجربه

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

دراین بازی ما درحال رقابت با صدها محقق امنیتی هستیم، بنابراین اینجا خلاقیت شخصی ما دارایی اصلی و مهم ما است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *