1. المدير العام

    المدير العام أدارة موقع أكتب كود

    ناس كتير دلوقتي خدت سكة في ال Web Penetration Testing
    ودة لأكتر من سبب اهمهم ان ال Web Pentesting واخد اكبر جزء من ال Bug Bounty عكس ال Mobile و ال Infrastructure ف كله بيتجه ناحية HackerOne و BugCrowd و SynAck و Cobalt و غيرهم من ال Platforms عشان يبتدي يـ Hunt ال Vulnerabilities او ال Bugs او ال Flaws سميها زي ما تسميها و ياخد ال Award بتاعته سواء فلوس او Swags او Products او Reputation او اي حاجة المهم انه بيلاقي مردود لتعبه.....نيجي بقي للموضوع

    كتير الفترة الي فاتت كنت بشوف ناس بتكتب انها قاعدة بقالها مدة كبيرة في ال Bug Bounty Platforms مش عارفين يلاقوا حاجة و بطبيعة شغلي كنت بشوف ناس Pentesters في شركات برضو بيفكروا ب طريقة ممكن تكون Limited شوية دة مش عشان هما فاشلين لا هما بس اتعودوا يدوروا علي حاجات بس معينة و يسيبوا الباقي.....
    يعني فيه نوعية كتير من ال Pentesters و ال bug Hunters اول ما يستلموا ال Project قبل ما يفكروا يقوموا مجربين كل ال Payloads بتاعت ال SQL Injection و ال XSS....حتي ال Vulnerabilities بقت Trend و كل الناس بتدور عليها لدرجة ان بقي فيه ناس متعرفش عن ال Web Pentesting غير الاتنين دول و بس....

    و من كتر ال XSS بالذات ما اتشهرت بكل الطرق بتاعتها بقي فيه حلول كتير اوي ليها و كل بقي بيعملها حتي فيه Browsers مبقتش بتسمح بيها اصلا و دة الي خلي ترتيب ال XSS في OWASP TOP 10 Report ينزل من بعد ما كان A3 في ال Report بتاع 2013 بقي دلوقتي A7 في ال Report بتاع 2017 و مبقتش ال XSS الثغرة المرعبة زي زمان و حتي فيه Sites كتيرة بقت تقولك لما تعملهم Report عن ال XSS ان ال Vulnerability عارفين انها موجودة بس مش Critical دي اخرها تعمل Alert او تعمل كام حاجة عبيطة انها ملهاش اي Business Impact او Security Impact....عشان كدة كان موضوع ال Part دة اسمه How to Think Like a Bad Guy خصوصاً للناس المبتدئة في ال Field دة عشان محدش يقع في الغلطات الي فاتت دي....لازم الناس تعرف ان فيه Attack Vectors تانية كتير غير ال SQLi و ال XSS الي هنفضل نحرت فيهم كتير لحد ما هنصحي ف يوم نلاقيهم بقوا Moderate....دة تعبير مجازي طبعاً ال Injection بكل انواعها هتفضل هي ال Top.....

    في الموضوع قررت اني هقسم ال Web Application من حيث ال Attacker Vectors بتوعه لل 3 أجزاء الي اي Web Application بيعتمد عليهم الي هما :
    1- ال Application نفسه سواء ال Front End و ال Back End
    2- ال Communication بتاعت ال Application
    3- ال Infrastructure الي شايلة ال Application
    عشان كدة الموضوع دة بالذات هيمشي كأننا ماشيين Penetration Testing Scenario كدة من الاول خالص عشان حتي الناس الي لسة جديدة في ال Field تعرف واحدة من ال Methodologies الي بنمشي بيها في شغلنا...

    # خطوة_1 هنفترض بقي ان احنا عندنا Domain او Web Application اسمه www.123.com
    اول حاجة بكتبها جنبي هي اسم ال Top Domain الي هو www.123.com و ال Public IP بتاعه و بعد كدة بعمل Intense Scan او Quick Scan عليه و اعرف ايه هي ال Ports الي مفتوحة فيه و ايه هي ال Services الي شغالة عليه لان ممكن ال Infrastructure متكونش Web Server بس دة ممكن يكون Web Server و شايل Services تانية كتير....
    # خطوة_2 هعمل Check علي 2 Servers من اهم الحاجات بالنسبة ليا دلوقتي و انا لسة علي البر....الي هما ال DNS Server او ال Name Server و ال Mail Server دول تاني حاجة ببص عليها....طب ببص عليها ليه.....لأن كل واحد من دول فيه Attack Vectors مختلفة لو واحدة فيهم بس ظبطت ممكن تعمل Business Impact و Damage كبير :
    ال DNS Server فيه Attack Vectors كتير ممكن تيجي منه قبل لسة حتي ما نبص علي ال Web Application.....طب ايه هي ال Attack Vectors الي بتيجي من ال DNS Server ?!
    1- اول حاجة ال Distributed Reflection DoS attack و دة عبارة عن انه بيبعت Spoofed DNS Quiries علي Servers بتسمح بال Recursion ف تقوم ال Servers دي تعمل Amplification لل Response و تبعته علي ال Target Server ف تسبب DDos Attack
    2- تاني حاجة ال DNS Cache Poisoning انه ب اختصار بيخلي ال User يـ Query علي Malicious Site عن طريق اني بكون عملت Poisoning لل DNS بتاع ال User و بالتالي لو كتب مثلا اسم ال Site هيقوم جاي عندي انا بقي..
    3- تالت حاجة هي ال TCP SYN Floods العادية اني ببعت SYN كتير لل Server ف بيكون مشغول انه يرد عليا ف مش بيعرف يستقبل اي Request من حد تاني ف بكدة اكون عملت Denial of Service برضو...
    4- رابع حاجة هي ال DNS Tunneling انه ال DNS يكون بيسمح انه يعمل Tunneling لي اي Activity جوة ال Query بتاعه و يعديها من غير ما حد يشوفها..
    5- خامس حاجة هي ال DNS Hijacking انه ال DNS يسمحلي اني اغير في ال Records بتاعته و غالباً ال Hacker بيغير ال A record عشان يعمل Map لل Malicious DNS Server او لـ Malicious Site

    # الخطوة_3 ان احنا ندور علي ال Subdomains بتاعت www.123.com الي هما مثلاً هيكونوا : mail.123.com او blog.123.com او media.123.com او backup.123.com كدة يعني و نشوف هل ينفع نـ Submit ال Subdomain Takeover ولا لا

    # الخطوة_4 ندخل في مرحلة ال Reconnaissance و ال Information Gathering لان دي من اكتر ال Phases الي بيكون فيها Data Leakage او Sensitive Data Exposure....طب دي ايه ال Vectors الي فيها ؟!
    ال Files و ال Directories دول اول حاجة لازم تشوف هل فيه Path Traversal ولا لا و هل فيه File معمولها Breach و Leakage ولا لا
    لازم اعمل Check علي ال GHDB (Google Hacking DataBase) و اشوف لو استخدمت Google Dorks هقدر اوصل لحاجات زيادة ولا لا..
    لازم اعمل Check هل ال Site دة تحت CloudFlare ولا لا و لو تحتها يبقي اجرب كل ال CDN Misconfiguration Techniques
    عن طريق Metagoofil او غيرها من ال Tools الي زيها اشوف هقدر اجمع Metadata من ال Files او من اي حاجة موجودة في ال Domain دة ولا لا
    بعد كدة تيجي مرحلة ال Mail Hunting استخدم hunter.io او غيره من ال Applications الي تقدر تسحبلي كل ال Mails الممكنة من ال Domain دة عشان ابدأ اكون Target List عشان ال Client Side Attacks زي ال Phishing Campaigns و غيرها.
    بعد كدة نيجي لل Client Side Controls :
    1- اول حاجة لازم نـ Test ال Components بتاعت ال Applications لان ال Application نفسه ممكن يبقي تمام لكن بيستخدم 3rd party Component تكون Vulnerable زي ال Flash Player او غيره.
    2- تاني حاجة لازم نعملها Test هي ال Data Transactions هل هي بتحصل تحت ال HTTP ولا ال HTTPS و لو ال HTTPS موجود هل هو Enforced ولا عادي ممكن يكون ال HTTPS موجودة بس ال Attacker يقدر يعمل SSL Strip و ينقل ال Transaction لل HTTP بس وغيرها من السيناريوهات التانية
    3- تالت حاجة لازم نعملها Test هي ال User Input هل هي بتقبل Meta Characters ف كدة تبقي عرضة لل XSS و غيرها و هل بيحصل Validation لل Input ولا لا و هل فيه Restrictions و Limitations ع ال User Input ولا لا
    بعد كدة في ال Test يروح لحتة المفتاح و الباب الي هي ال Authentication & Authorization او ال Access Control عمتاً
    - اول حاجة هي ال Requirements و ال Mechanism الي بتتم بيها ال Authentication و هل هي Single-Layer Authentication ولا Two-Factor Authentication و لو Two-Factor اجرب ال Bypassing Mechanisms بتاعتها
    - تاني حاجة اجرب ال Privilege Escalation و دي لوحدها ممكن تاخد وقت كبير ان ال Account بتاعي يكون ليه Permissions معينة و انا احاول اخد Permissions اعلي منها
    - تالت حاجة اشوف هل ال Application دة بيسمح بال Guest Accounts ولا لا و لو بيسمح ايه السيناريوهات الي ممكن اعملها بال Guest Account دة لانه ممكن يوصل لل Broken Authentication
    بعد كدة نروح لل Phase الاكبر في الجزئية دي الي هي ال Authentication Mechanisms كلها....ايه هي ال Vectors بتاعتها ؟!
    قبل ما نعدي الجزئية دي فيه حاجات معينة لازم نعملها Test عشان نتأكد ان ال Application مش Vulnerable للجزئية دي....الحاجات دي بقي الي هي :
    - لازم نشوف هل ال Application بيقبل ب أي Password ولا ليه Password Quality Policy معينة ؟!
    - لازم نشوف ال Password Guessing Resilience بتاعته هل هو Vulnerable لل Brute Force و لا ليه عدد محاولات معينة بس
    - لازم نشوف الحتة الي كل ال Attackers بيحبوها حتة ال Forget Password لازم نعمل Test علي ال Password Recovery Process من اولها لاخرها لان لو فيها مشكلة بسيطة ممكن توصل لل Broken Authentication
    بعد كدة بقي نيجي لل Part بتاع الفنانين الي هو ال Logic Flaw
    دي بتكون ثغرات في ال Logic بتاع ال Application مش بتكون في ال Code ولا في ال Communication ولا في ال Infrastructure لا دي بتكون فيه ال Work Flow بتاع ال Application غالباً ال Logic Flaw مفيش اي Tool تقدر تطلعها كلها بيتم اكتشافها عن طريق دماغ ال Pentester بس ف عشان كدة ال Part دة محتاج واحد فنان مش بس واحد بيعرف يعمل Test و خلاص من اكتر ال Logic Flaws الي موجودة بتكون موجودة في ال Payment Process (دة علي حد علمي) يعني كان فيه Application معين و كبير جداً كنت مثلاً تقوله عايز اشتري Mobile و ال Mobile دة تمنه 3k$ و تعمل checkout يقوم مطلعلك ال Reset انه عدد 1 موبايل ب تمن 3k$ و تقوم قبل ما تعمل Submit تقوم راجع خطوة لورا و مغير في ال Quantity تخليها 3 بدل 1 و بعد كدة تعمل Submit يقوم ال Application عامل Order انه عدد 3 موبايل بتمن 3k$ يعني هيجيبلك 3 موبايلات بسعر واحد فيهم و دي كانت من اكبر ال Logic Flaws في وقتها ساعتها و ناس كتير اوي استغلتها....
    بعد كدة نيجي لل Session Management Flaws
    ال Session Management ب اختصار طريقة شغلها بتقوم علي 3 اسئلة :
    انت هتقعد عندي لحد امتي ...... انت فعلاً الي هتقعد عندي ولا حد غيرك..... هاتلي ما يثبت ان انت الشخص الي انا دخلته
    اول حاجة هتقعد عندي امتي دي المقصود بيها بال Session Time-out و ال Session Fixation هل ال Session ليها وقت و تخلص ولا هل هي Fixed يعني مستمرة للأبد ؟!
    تاني حاجة انت فعلاً الي هتقعد عندي ولا حد غيرك دي المقصود بيها ال Session Impersonation و ال Session Hijacking الي هو هل انت فعلاً صاحب ال Session ولا حد خد ال Session منك و دخل مكانك ؟!
    تالت حاجة هاتلي ما يثبت ان انت الشخص الي انا دخلته دة الي هو ال two-factor Authentication بتاع ال Session الي هي بتبقي ال Tokenالي بيحصلها Auto-Generation و بتكون unique characters مينفعش انها تتكرر
    ف من الكلام دة نقدر نقول ال Attack Vectors في الحتة دي كالتالي :
    - انه يحصل Token Brute Force عن طريق انه يكون فيه Pattern ثابت ال Tokens بتتعمل بيه ف بكدة اقدر احط ال Pattern دة في Brute Forcer و اقدر اخد ال Token
    - انه يكون فيه Insecure Transmission of Tokens المفروض ال Tokens بتتنقل Encrypted ف لو اتنقلت Plain Text هقدر خدها و اعمل Impersonation
    و غيرها كتير من ال Scenarios الي ممكن تكون في الحتة دي
    بعد كدة ييجي جزء ال Infrastructure .... ايه هي ال Attack Vectors بتاعت ال Web Server ?!
    - اول حاجة ال Pentester بيعمل Test عليها هي ال Misconfiguration لأن Servers كتير مهمة اوي بتون متسابة علي ال Default Configuration الي هو admin admin و ال Sys Admin بينسي يغيرهم طالما الدنيا ماشية تمام و بخير
    - تاني حاجة بيعملها ال Pentester انها بيعمل Check علي ال Allowed HTTP Methods عشان يتأكد ان ال Dangerous Methods زي ال PUT و ال DELETE و ال TRACE مش موجودين لأنهم لو موجودين هتبقي مشكلة كبيرة
    - تالت حاجة ال Pentester بيبص عليها علي ال Software بتاع ال Web Server هل هو Apache ولا IIS ولا Tomcat ولا ايه و يبص علي ال Version بتاعه عشان لو لقي انه مش up-to-date يبقي في الغالب هيبقي ليه Known Exploits و Public Vulnerabilities او حتي Zero-Days
    بعد كدة تيجي المرحلة الي معظم الناس عارفاها الي هي ال User Input Vulnerabilities الي هي ال Vulnerabilities الي بتيجي عن طريق ال Data الي بيدخلها ال Users زي :
    XSS , SQL Injection , Local File Inclusion , OS Command Injection , XXE , DOM based Attacks ....etc
     
جاري تحميل الصفحة...