burp suite چیست؟ با قدرتمندترین ابزار تست نفوذ وب آشنا شویم
بدون شک، Burp Suite یکی از کامل ترین و قدرتمندترین ابزارهای مورد استفاده توسط متخصصان امنیت سایبری میباشد که به خودی خود، جعبه ابزاری کامل از ابزارهای مورد نیاز متخصصان تستنفوذ وب را فراهم میکند. ابزاری قابل فهم و کاربر پسند که با ترکیب رنگ سفید و نارنجی خود، رابط و تجربه کاربری شیرین و لذتبخشی را به کاربر میدهد. اگر قصد فعالیت در حوزه امنیت و تستنفوذ وب را دارید، این نوشتار به آشنایی شما با یکی از ابزارهای قدرتمند و محبوب در این حوزه، کمک میکند.
در این مطلب، به شرح ابزار Burp Suite و معرفی قابلیتهای این ابزار میپردازیم تا شمایی کلی از کارکرد این ابزار را برای شما به نمایش گذاشته باشیم.
Burp suite چیست و چه میکند؟
Burp Suite به طور مختصر با نام Burp نیز شناخته میشود که یک ابزار یکپارچه و قدرتمند در زمینهی هک و امنیت میباشد. این ابزار با زبان برنامهنویسی جاوا نوشته شده و برای اجرا شدن، نیازمند نصب JRE در سیستم مدنظر میباشد.Burp Suite ، از دسته ابزارهای پروکسی سرور بهشمار میرود؛ به این معنا که این ابزار بین مرورگر کاربر و سرور قرار میگیرد و اطلاعات ارسالی و دریافتی را رهگیری (Intercept) میکند. در این صورت، کاربر قادر است که درخواست (Request) ارسالی از مرورگر خود را، پیش از ارسال شدن به سرور ببیند و مورد ارزیابی قرار دهد و پس از ارسال آن، پاسخ (Response) دریافتی از سرور را، پیش از رسیدن به مرورگر ببیند.
ابزار Burp suite، توسط شرکت Port Swigger ارائه میشود که از یکی از سامانههای تحقیقاتی فعال، در زمینهی امنیت وب میباشد. این ابزار در 3 نسخهی Community، Enterprise، و Professional عرضه میشود که در بین آنها، فقط نسخهی Community، رایگان میباشدکه البته با آنکه تمام قابلیتهای کلیدی Burp را شامل میشود، در ارائه بعضی از قابلیتها محدودتر عمل مینماید.
نا گفته نمایند که این ابزار در سیستمعاملهای معروف و رایج، از جمله Windows، Linux و Mac OSقابل اجرا میباشد و همچنین یکی از ابزارهای پیشفرض Kali Linux(توزیع لینوکس، مخصوص تستنفوذ) نیز میباشد.
قابلیتهای Burp suite چیست؟
ابزار قدرتمند Burp، بخشها و قابلیتهای بسیار زیادی را دارا میباشد که یادگیری کامل آنها، نیازمند صرف زمان بیشتری، نسبت به این نوشتار میباشد. دورههای مختلفی برای یادگیری این ابزار وجود دارد که میتوانید با گذراندن آنها، به این ابزار قدرتمند، مسلط شوید.
اما جهت آشنایی شما با کارکرد Burp و قابلیتهای آن، به معرفی بخشهای کلیدی و مهم این ابزار میپردازیم، تا تصویری کلی از کارکرد این ابزار، برای شما ایجاد کرده باشیم:
بخش Target
در این بخش، از طریق قابلیت Site map، میتوانید نقشهای از ساختار پوشهها (Directories) و فایلهای HTML، CSS، Java Scipt و … موجود در پوشهها را که قابل دریافت از طریق وبسایت هدف باشند را مشاهده نمایید. علاوه بر آن میتوانید درخواستهای ارسالی و پاسخهای دریافتی، برای بارگیری فایلهای مدنظرتان را نیز مشاهده نمایید. همچنین در این بخش، قابلیت فیلتر کردن نمایش اطلاعات، بر اساس فرمت، داشتن عبارت مدنظر،کد وضعیت پاسخ (Status Code) و شرطهای دیگر نیز وجود دارد.
شما میتوانید، آسیبپذیریهای کشف شده و درخواستها را همراه پاسخ مربوطه نیز در این بخش مشاهده نمایید. به این صورت که اگر یک دستور، باعث کشف آسیبپذیری در پاسخها شود، درخواست مربوطه را با رنگی متفاوت، بسته به شدت آسیب پذیری مذکور، مشاهده مینمایید.
ابزار Scanner
در نسخههای جدید Burp، این ابزار در بخش Dashboard قرار دارد. این ابزار، قابلیت اسکن به صورت Passive و Active را به شما ارائه میدهد که توسط آن میتوانید بنابر شرایط مختلف پروژه، پویش خود را شخصیسازی نمایید. میتوانید برای داشتن فرایند ارزیابی بهتر، از Live scan های این ابزار، حین انجام فرایند تست استفاده نمایید که در این صورت، بهطور خودکار، ارزیابی آسیبپذیری بر روی تمام دادههای دریافتی و ارسالی صورت میگیرد و در صورت کشف آسیبپذیری، گزارش آن در بخش Issue activity قابل مشاهده میباشد.
ابزار Proxy
در این ابزار، شما قادر خواهید بود که درخواستهای HTTP مرورگر را پیش از ارسال شدن به سرور، مرحله به مرحله، رهگیری نموده و آن را تغییر دهید، ارسال کنید یا آن را لغو کنید. از طریق بخش این میتوانید تنظیمات را تعیین کنید که بصورت خودکار، روی درخواستهای ارسالی یا پاسخهای دریافتی اعمال بشوند. مثلا تغییر پارامترهای درخواست، به مقادیر مدنظرتان، Unhide شدن فیلدهای hidden و مواردی از این دست. همچنین در بخش HTTP history از این ابزار، میتوانید لیست کاملی از درخواستها و پاسخ های رد و بدل شده را مشاهده و ارزیابی نمایید.
ابزار Repeater
با این ابزار، میتوانید، درخواستهای مدنظرتان را، به طور جداگانه مورد ارزیابی قرار داده و پاسخ آنها را مشاهده نمایید. برای مثال، اگر احتمال وجود آسیبپذیری در یک درخواست وجود داشت، با این ابزار، میتوانید پس از یک بار رهگیری نمودن درخواست مذکور، آن را بارها تغییر دهید، ارسال کنید و پاسخ مربوطه را به صورت متنی (Raw) یا تصویری (Render) مشاهده نمایید. از این ابزار، میتوانید برای ارسال چندبارهی هر درخواستی که در بخشهای دیگر Burp مشاهده نمودید، استفاده نمایید.
ابزار Intruder
این ابزار، در اجرای حملات Brute force کارآمد بوده و قادر است یک یا چند لیست مدنظرتان را در پارامتر های درخواست انتخابی شما، تزریق نموده و نتایج حمله انجام شده را در یک لیست کامل از اطلاعات درخواستها و پاسخهای رد و بد شده، به شما گزارش دهد. میتوانید لیست خود را در Intruder ایجاد نموده، یا از طریق یک فایل متنی به برنامه اضافه کنید. همچنین شما قادر هستید که تغییراتی بسیاری مانند رمزنگاری و رمزگشایی را از طریق این بخش، روی لیست پیلود انتخابیتان اعمال نمایید.پس از اجرای حمله، گزارشی شامل پیلودهای ارسالی، پاسخهای دریافتی، کد وضعیت پاسخها، ارورها، زمان ارسال پیلود و مواردی از این دست، به شما ارائه میکند که در ارزیابی آسیبپذیری، بسیار مفید میباشند.
ابزار Decoder
در مراحل تستنفوذ برنامههای وب، مواقع زیادی برای دور زدن تدابیر امنیتی یا خواندن اطلاعات رمزنگاری شده، از عمل encode و Decode استفاده میشود. Burp، بنابر حسب نیاز کارشناس تستنفوذ، ابزار Decoder را نیز شامل میشود که حین انجام مراحل تست، بسیار کارآمد خواهد بود.
این ابزار، رمزنگاری و رمزگشاییهایی مانندURL ،HTML ، Base64، ASCII hex و مواردی از این دست را انجام میدهد. از قابلیتهای دیگر آن میتواند به رمزنگاری و رمزگشایی در چند مرحله اشاره نمود که با یک بار نوشتن متن، میتوان در همان صفحه، نتیجهای حاصل از چند رمزنگاری پیاپی، روی همان متن را مشاهده نمود. برای مثال میتوانیم با یک بار نوشتن متن، نتیجهی Double URL encode آن یا رمزهای دیگری را مشاهده نماییم.
ابزار Sequencer
این ابزار، یک گزینهی کارآمد برای ارزیابی کیفیت دادههای تصادفی میباشد. این ابزار، ورودی کوکی و توکنهای مختلفی مانند شناسههای نشست، توکنهای CSRF، توکنهای تغییر رمزعبور و مواردی این چنین، که نیاز است به صورت تصادفی و غیر قابل حدس ایجاد شوند را، مورد ارزیابی قرار میدهد و در نتیجه، گزارشی از میزان کیفیت تصادفی بودن دادهها ارائه میدهد.
ابزار Comparer
در حملاتی مانند حملهی Blind SQL Injection، یک تغییر کوچک در پاسخ دریافت شده، در اثر تغییر پیلود، میتواند نشان از وجود آسیب پذیری برای اجرای صحیح این حمله باشد؛ در چنین مواقعی نیاز است تا کاملا دقیق، پاسخهای دریافت شده را مورد ارزیابی قرار دهیم. ابزار Comparer، این کار را برای ما سادهتر میکند. با این ابزار میتوانید به راحتی تغییراتی مانند حذف شدن، ایجاد شدن یا تغییر نمودن دستورات، در دو درخواست یا پاسخ مدنظر را با رنگی متفاوت مشاهده نمایید. مثلا، دستورات اضافه شده با رنگ زرد، دستورات تغییر نموده با رنگ نارنجی و دستورات حذف شده با رنگ آبی نمایش داده میشوند.
بخش Extender
این بخش، به شما قابلیتی ارائه میدهد، که فراتر از ابزارهای پیشفرض Burp، از این ابزار استفاده کنید. از طریق BApp Store در ابزار Extender، شما قادر خواهید بود که افزونههای (Extension) بسیار زیادی را که توسعهدهندگان مختلف، مخصوص به این ابزار نوشتهاند، مستقیماً نصب نموده و برای ارتقاء فرایند تستنفوذ خود، از آنها بهره ببرید. همچنین از طریق Extender، میتوانید افزونهی دانلودشده یا ایجاد شده توسط خودتان را با فرمت جاوا، پایتون یا روبی، به برنامه اضافه نمایید و از آن بهره ببرید.
جمع بندی
اگر شما یک کارشناس امنیت وب هستید، این ابزار میتواند کمک بزرگی برای انجام بهتر فرایندهای تستنفوذ شما بوده و از ابتدا تا انتهای پروژه، مورد استفاده شما قرار بگیرد؛ چرا که گستردگی قابلیتهای Burp Suite، این ابزار را برای تمامی مراحل تست، به ابزاری همه کاره و قابل اطمینان تبدیل مینماید که از یادگیری و استفادهی آن، پشیمان نخواهید شد.
امیدواریم که در این نوشتار، قدرت و یکپارچگی ابزار Burp Suite، در فراهم آوردن ابزارهای مختلف، برای ارتقاء کیفیت فرایند تستنفوذ را، به خوبی برای شما شرح داده باشیم.