ماهو Bug Bounty

1337r00tمنذ 4 سنوات

السلام عليكم ورحمة الله وبركاته

--------------------

الحمد لله على جميع نِعمه علينا ما علمنا منها وما لم نعلم حمداً والصلاة والسلام على نبينا محمد اشرف الخلق والمرسلين, اما بعد :-

--------------------

# ماهو BugBounty :-

هو برنامج يهدف إلى تمكين الباحث من البحث عن الثغرات الأمنية لدى جهة معينه (عميل) "مصرحه قانونيا للباحث أن يبحث عن الثغرات الأمنيه" لتقوم بمكافئته لإكتشافه ثغرة لديهم وتعزيز الأمان لديهم إما مكافئه مالية أو إعترافا بإكتشافه لهذه الثغرة لديهم أو هدية مقدمة منهم

---------------------

# هل للBugBounty دورات تعليمية أو كتب لتعلمه :-

لا, Bug Bounty ليس مجال علمي لكي تتعلمه بل هو مجرد إتفاقية بين أطراف ينتفع منها الجميع, الباحث يجد الثغرة, والعميل يكافئك على إكتشافها وإبلاغه بذلك وإنتهى الأمر, لكن يبقى السؤال يتراود في ذهن المبتدئين! "إذن إذ لم يكن مجالا علميا نستطيع تعلمه ف كيف تعلم الباحثين ؟" ! سؤال سأجاوب عليه في الحال لكسر الشكوك والكذب على الناس بما يتعلق بمسميات وهمية للكتب والدورات لا أساس لها سوى استدراج الناس إلى المحتوى الكاذب وسوف أشرح لماذا قلت محتوى كاذب, لكن أولا سأرد على السؤال السابق

-----------------------

# "إذن إذ لم يكن مجالا علميا نستطيع تعلمه ف كيف تعلم الباحثيين ؟" :-

هذا السؤال يراود الكثير فور قراءة ماسبق وجوابه في الواقع هم لايتعلمون Bug Bounty ! بل يتعلمون إحدى المجالات المستخدمه في Bug Bounty ألا وهي لا للحصر

* لا أسعى هنا لجعلك Script Kiddie ضعها في ذهنك قبل القراءة, إذا كنت تعتقد هناك أدوات ستقوم مقامك وتفعل كل شيء وأنت تحتسي القهوة ف هذه المقالة ليست لك وإبقى Script Kiddie كما أردت فالهدف الرقي بالمستويات من الصفر فهناك الكثير من Script Kiddies ولكن قليل عدد الخبراء والمحترفين وهم دائما من يحصلون على القضمة الكبيرة.

* جميع ماسوف أقترحه من دورات وكتب سوف أقترحها لك عن تجربة أو وفق أراء الخبراء في تلك المجالات وسوف تكون تعتمد على الجانب العملي (يجب ان تطبق) لتخرج منها تتقن ماأرادت منك تعلمه

 

- Binary exploitation مثال : https://hackerone.com/reports/832750

مجال Binary exploitaion يصف إستغلالات للثغرات الأمنية التي قد تتواجد في compiled programs وتتطلب منك خبرات في لغات البرمجة التي سوف تساعدك في فهم كيفية عمل compiled programs وتحتاج إلى معرفة بلغة البرمجة Assembly من أجل disassembler ولغة C من أجل decompilers وهنا دورة مدفوعه لتعلم لغة Assembly ستعلمك كل ماتحتاجه لتتعلم لغة الأسيمبلي

https://www.xorpd.net/pages/x86_adventures.html

ودورة  لتعلم C

C (مدفوعه)

https://www.udemy.com/course/c-programming-tutorial-for-absolute-beginners

بعد ذلك نتجه إلى دورات Binary exploitaion

دورة مجانية من liveoverflow

https://www.youtube.com/watch?v=iyAyN3GFM7A&list=PLhixgUqwRTjxglIswKp9mpkfPNfHkzyeN

ودورة عربية مجانية من الدكتور علي تطرق أيضا فيها إلى Binary exploitaion

https://twitter.com/binaryz0ne/status/1290868861978513408

ودورة مدفوعه من eLearnSecurity منتهية بحصولك على شهادة eCXD

https://elearnsecurity.com/product/ecxd-certification

طبعا مجال Binary exploitaion مختلف عن Reverse Engineering ف  مجال RE متشعب ولاتحصره معرفة بلغات برمجة محدده بل يحدده هدفك إذا كان مثلا تستهدف برامج مكتوبة بلغة #C  فأنت تحتاج ان تكون ذو معرفة في لغة #C لكي تفهم كيفية عمل هدفك وقد يدخل RE  في عدة مجالات أخرى ومن ضمنها Binary exploitaion

- Mobile Security مثال : https://hackerone.com/reports/200427

مجال Mobile Security هو مهتم في تطبيقات الجوال من النواحي الأمنية إن كانت على iOS/Android/etc

في Android Mobile Security يجب على الأقل أن تكون متقنا للغة البرمجة Java لأن Decompilers ستعطيك Decompiled Code (ليس بالشرط 100% صحيح لكن قدر المستطاع) عبارة عن Java code تستطيع منها معرفة كيف يعمل البرنامج او جزء منه وهنا دورة عربية من الأستاذ عبدالله عيد لتعلم لغة Java

https://youtube.com/playlist?list=PL28DDB2DCF87BEE43

وهنا كيفية عمل RE لتطبيقات الأندرويد

https://medium.com/level-up-programming/how-to-reverse-engineering-an-android-app-be5835f6fa1e

ولايتجلل هذا التوجه مجرد RE للتطبيقات إنما تدخل Network Security فيه من sniffing للطلبات التي تأتي من التطبيق وأيضا النواحي الأمنية مثل SSL Pinning التي تمنع sniffing ومن أفضل الدورات الحالية لهذا التوجه هي دورة eMAPT المقدمة من eLearnSecurity المنتهية بحصولك على شهادة eMAPT :

https://elearnsecurity.com/product/emapt-certification

وأيضا كتاب Android Security Internals

https://repo.zenk-security.com/Magazine%20E-book/Android_Security_Internals-An_In-Depth_Guide_to_Android_s_Security_Architecture.pdf

أما في iOS Mobile Security يختلف الأمر حيث أن إستخراج Source Code  تطبيقات iOS أصعب من Android بسبب كونها محمية من نظام Apple's DRM حيث يقوم بتشفير أجزاء معينة من التطبيق بمفتاح UID مما يتطلب عملية decryption جهاز لديه جيلبريك لتشغيل unsigned code عليه وأفضل دورة تتحدث عن iOS Mobile Security هي الدورة المقدمة من Pentester Academy

https://www.pentesteracademy.com/course?id=2

وهنا paper ممتاز للقراءة عن iOS Mobile Security

http://reverse.put.as/wp-content/uploads/2011/06/GreHack-2012-paper-Mathieu_Renard_-_Practical_iOS_Apps_hacking.pdf

 

- Web Application Security مثال : https://hackerone.com/reports/507132

مجال WebApp Security يعنى بكل ماهو مختص في حماية web applications مما يعني أن تعلم HTTP Packets ومايتجللها وأساسيات البرمجة ولغات البرمجة والتقنيات الشهيرة في صناعة تطبيقات الويب مثل لغة PHP (ليس حصرا) التي تمتلك عدد كبير من الثغرات التي تستطيع التعرف عليها والتعلم عليها (ليس المقصود ان PHP ضعيفة أمنيا) وهذه دورة عربية مجانية من الأستاذ عبدالله عيد لتعلم لغة PHP

https://youtube.com/playlist?list=PL66NrejTZbSBl7l27q8lCTxqRWCWpTdsh

ومسار Full Stack Development المدفوع من الأستاذ عبدالمجيب

https://www.flexcourses.com/paths/full-stack-developer

ونأتي إلى دورات WebApp Security ومن حسن الحظ أن أفضلها مجانيه, دورة عربية من الأستاذ إبراهيم حجازي

https://youtube.com/playlist?list=PLv7cogHXoVhXvHPzIl1dWtBiYUAL8baHj

وأكاديمية Web Security من Port Swigger

https://portswigger.net/web-security

وهنا دورتين من eLearnSecurity مدفوعه منهية بحصولك على شهادة eWPT/eWPTX

https://elearnsecurity.com/product/ewpt-certification/

https://elearnsecurity.com/product/ewptx-certification/

وهنا دورة AWAE المقدمة من Offensive Security المنتهية بحصولك على شهادة OSWE

https://www.offensive-security.com/awae-oswe/

- Browser Security مثال : https://hackerone.com/reports/175979

مجال Browser Security يختص بكل ماهو له علاقة بحماية المتصفحات من JS Engines إلى WebAPIs التي توفرها المتصفحات ويستلزم هذا المجال معرفة في لغات البرمجة التي تم الكتابة بها JS Engines و WebAPIs وهنا مقال من الأستاذ وسام تحدث فيه عن Browser Security

https://wes4m.io/browser-exploitation-chakra/

- الخ.. (فور توفر دورات مجربه سوف أحدث الموضوع)

 

أي أن في واقع الأمر عندما تريد الدخول والربح من Bug Bounty فأنت يجب أن تدخل إحدى المجالات المستخدمه في Bug Bounty

------------------------

# وهم الكتب والدورات التعليمية :-

نعم! وهم! عندما ترى شخصا يكتب "دورة Bug Bounty" ولا ترى سوى مواضيع متعلقه بمجال Web Application Security ف هذا وهم!! لايستطيع أحد تجميع كل المجالات المستخدمه في Bug Bounty في كتاب او دورة تعليميه ولو وجدت (وهذا أمر لم ولن يحدث) سيكون الأسم Offensive Security وليس Bug Bounty لكن الدورات الحقيقية التي يجدر عليك البحث عنها هي دورات المجالات المستخدمه في Bug Bounty لأن هذا سوف يجعلك تصب تركيزك في مجال واحد حتى تبدع فيه وقد تتعلم مجالات أخرى "هذا الأمر عائد لك" وتستفيد من معرفتك تلك في Bug Bounty, إذن! ماذا يجب علي أن أعرف في Bug Bounty ؟ الجواب: الجانب القانوني

----------------------

# الجانب القانوني :-

أكثر نقطة يجب الإنتباه إليها! الجانب القانوني يجب أن ينتبه إليه الجميع بقراءة الشروط المتواجده في المنصه التي ستبلغ منها, ومع وجود عرف سائده بين Bug Bounty Hunters يجب أن تنتبه إليها:

- لاتتحدث بشيء عن الثغرة مالم يتم السماح لك بذلك حتى نوعها لو لم تسمح لك الشركة بالتصريح عنها فلاتتحدث عنها

- لاتسأل! لاتسأل! لاتسأل! لاتسأل عن الثغرة مالم يقوم الباحث بنشرها بتفاصيلها بنفسه

- لاتعرض نفسك للخطر من أجل جعل الناس تصدقك (ضعها في ذهنك في النهاية الهدف المكافئة ليس إلا)

-----------------------

# نصائح عامه :-

- لاتجعل bug bounty مصدر دخلك "الوحيد" بل "الأضافي" قدر المستطاع

- قراءة التقارير و write-ups لثغرات منشوره من أصحابها وتطبيقها في بيئه مخصصة

- الممارسة ثم الممارسة (شيء قرأته ولم تطبقه بنفسك "لافائدة منه في bug bounty")

- البرمجة مهمه جدا لتخرج من مرحلة Script kiddie لاتتعذر ب XXX$ أستلمتها بالحظ بأستخدامك أداة dirb

- مرة أخرى: لاتسأل شخص عن ثغرة لم ينشرها

- كن الضحية قبل ان تكون المهاجم في main targets

يجب ان تفهم الهدف وماهي خصائصه اللي يقدمها ومميزاته ومالمعلومات الشخصية اللي يقدمها لك ! أي يجب ان تكون اولا المستخدم العادي لكي تفهم الهدف او scope ثم تحاول اكتشاف الثغرات لأنك سوف تكون على درايه بالطريقة المتبعه في هدفك.

------------------------

# منصات Bug Bounty :-

هذه المنصات تقدم برامج Bug Bounty موفره البيئة السليمة لذلك وتستطيع البحث عنها في Google والإستفادة منها

HackerOne
Bugcrowd
BugBounty.sa
Synack
Bounty Factory
Open Bug Bounty
HackTrophy
BountyGraph
PlugBounty
intigriti
HackenProof
Zerocopter
Cobalt
SlowMist

قد يكون هناك برامج Bug Bounty لدى جهات لوحدها (أي لم تدخل أي منصة Bug Bounty) تستطيع أن تجدها عن طريق البحث في Google عنها

 

# تقارير Bug Bounty :-

هنا مجموعة من تقارير Bug Bounty التي تستطيع التعديل عليها

https://github.com/ZephrFish/BugBountyTemplates

------------------------

والسلام خير ختام

كلمات دليلية: bug bounty
10
إعجاب
14369
مشاهدات
0
مشاركة
3
متابع

التعليقات (1)

Yazan:

شكرا لك على المقالة الجميلة وتوصيل المعلومة الاكثر من رائع 

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !